gvSIG bugs #2354

Error al guardar capa de líneas en PostGIS 2.0

Added by Manuel Madrid about 10 years ago. Updated about 10 years ago.

Status:Closed% Done:

0%

Priority:NormalSpent time:-
Assignee:Juan Lucas Domínguez
Category:Database
Target version:2.1.0-2221-testing
Severity: Add-on version:
gvSIG version:2.1.0 Add-on build:
gvSIG build:2220 Add-on resolve version:
Operative System: Add-on resolve build:
Keywords: Proyecto:
Has patch:No Hito:
Add-on name:Unknown

Description

El problema nos surge cuando insertamos una línea con gvSIG en una capa de PostGIS (tipo_geom = LINESTRING) y intentamos guardarla, nos da un error. Concretamente nos aparece que viola nuestra restricción de PostGIS “check enforce_geotype_geom”. Según aparece en la ventana de atributos el formato de geometría almacenado por gvSIG al parecer es “Curve2D”…puede ser por eso?...Aunque en las capas de polígonos tenéis “Surface2D” y nos deja almacenar correctamente los resultados en capa de PostGIS tipo “POLYGON”….

History

#1 Updated by Álvaro Anguix about 10 years ago

  • Assignee set to Juan Lucas Domínguez
  • Target version set to 2.1.0-2221-testing

#2 Updated by Juan Lucas Domínguez about 10 years ago

  • Status changed from New to In progress

#3 Updated by Juan Lucas Domínguez about 10 years ago

Una posible solución mientras intento mejorarlo es cambiar la restricción en la BD:

ALTER TABLE "table_name" DROP CONSTRAINT enforce_geotype_geom;

ALTER TABLE "table_name" ADD CONSTRAINT enforce_geotype_geom
CHECK (geometrytype("geometry_field") = 'MULTILINESTRING'::text);

Ya que gvSIG no es consciente de las restricciones y se decanta por MultiCurve2D.

#4 Updated by Juan Lucas Domínguez about 10 years ago

El cambio propuesto en la restricción puede valer para tablas nuevas, pero este cambio es mejor para tablas ya existentes:

UPDATE geometry_columns SET type = 'LINESTRING' WHERE f_table_name = 'table_name'

De todas formas había un pequeño bug que voy a subir a continuación.

#5 Updated by Juan Lucas Domínguez about 10 years ago

  • Status changed from In progress to Fixed

Respecting geometry type when converting to JTS (from Curve to Linestring, not MultiLinestring).

gvsig-desktop:r41216

#6 Updated by Álvaro Anguix about 10 years ago

  • Status changed from Fixed to Closed

Also available in: Atom PDF