gvSIG bugs #1997

Error al editar capa de multipoligonos en PostGIS

Added by José Vicente Higón over 10 years ago. Updated over 10 years ago.

Status:Closed% Done:

0%

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

Description

Al editar un campo alfanumérico de una capa postGIS definida como Multipolígono aparece la siguiente excepción:

Caused by: org.postgresql.util.PSQLException: ERROR: Geometry type (Polygon) does not match column type (MultiPolygon)
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2103)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1836)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:334)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)

Parece ser que gvSIG actualiza todos los campos del registro modificado (incluida la geometría). El problema viene cuando en la sentencia UPDATE en vez de crear un WKB correspondiente a Mulipoligon crea una geometría de tipo Polígono y PostGIS lanza un error porque se viola una de las restricciones (no se puede añadir una geometría que no sea Multipolígono).

Además, si se carga la tabla desde el tipo de documento Tabla, sigue lanzando el mismo error a pesar de no seleccionar el campo geometría

problema_editar_tabla.png (8.17 KB) José Vicente Higón, 08/23/2013 02:17 PM

580

History

#1 Updated by José Vicente Higón over 10 years ago

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

  • Assignee set to Juan Lucas Domínguez

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

  • Status changed from New to Fixed
  • Target version set to 2.1.0-2223-rc1

This problem does not happen in current workspace.
Probably solved with previous bugfixes, perhaps gvsig-desktop:r40722

It has been tested with this table:

CREATE TABLE gv_muni
(
"OBJECTID" integer NOT NULL DEFAULT 0,
gidd bigserial NOT NULL,
geometry geometry,
CONSTRAINT gv_muni_pkey PRIMARY KEY (gidd ),
CONSTRAINT enforce_dims_geometry CHECK (st_ndims(geometry) = 2),
CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(geometry) = 'MULTIPOLYGON'::text OR geometry IS NULL),
CONSTRAINT enforce_srid_geometry CHECK (st_srid(geometry) = 4326)
)
WITH (
OIDS=FALSE
);
ALTER TABLE gv_muni
OWNER TO osm;

#4 Updated by Joaquín del Cerro Murciano over 10 years ago

  • Target version changed from 2.1.0-2223-rc1 to 2.1.0-2217-devel

#5 Updated by Álvaro Anguix over 10 years ago

  • Status changed from Fixed to Closed

Also available in: Atom PDF