gvSIG bugs #4151

Exeption Reading shapefile.shp

Added by Mario Fevre about 8 years ago. Updated almost 8 years ago.

Status:Closed% Done:

0%

Priority:NormalSpent time:-
Assignee:-
Category:-
Target version:2.3.0-2430 (rev. org.gvsig.desktop-2.0.136, NOT USABLE)
Severity:Minor Add-on version:
gvSIG version:2.3.0 Add-on build:
gvSIG build: Add-on resolve version:
Operative System:Windows Add-on resolve build:
Keywords: Proyecto:
Has patch: Hito:
Add-on name:Unknown

Description

ES

Al intentar cargar una capa que funcionaba en gvSIG 1.12 y 2.2. Se dispara esta advertencia y se pone no visible la capa.
Adjunto capa y log.

EN

At trying to load this layer that worked just fin in gvSIG 1.12 and 2.2. It pops this message and turns not visible the layer.
Attached shapefile and log.

gvSIG.log (447 KB) Mario Fevre, 02/29/2016 09:56 PM

777.shp (1.34 MB) Mario Fevre, 02/29/2016 09:57 PM

777.shx (26.3 KB) Mario Fevre, 02/29/2016 09:57 PM

777.dbf (5.51 MB) Mario Fevre, 02/29/2016 09:57 PM

capa-invalida.png (10 KB) Joaquín del Cerro Murciano, 06/15/2016 05:11 PM

capa-invalida-errores.png (70.4 KB) Joaquín del Cerro Murciano, 06/15/2016 05:11 PM

1655
1656

Related issues

Related to Application: gvSIG desktop - gvSIG bugs #4098: Geometry type of Shape does not match the geometry found ... Closed 02/08/2016
Duplicates Application: gvSIG desktop - gvSIG bugs #4156: Exception reading shapefile Closed 03/02/2016

Associated revisions

Revision 42811
Added by Joaquín del Cerro Murciano almost 8 years ago

refs #4098, #4151, #4156 . Modificaciones para que la gestion de capas con errores funcione de nuevo, presentando al usuario los errores producidos. Se han mejorado los mensajes de error en el proveedor de shape, dando informacion en ellos de como el usuario puede rodear el problema cuando esto es posible. Asi mismo se ha añadido la posibilidad de que en caliente se puedan corregir algunos problemas y se pueda volver a recargar la capa sin tener que quitarla y volverla a cargar.

History

#1 Updated by Antonio Falciano about 8 years ago

  • Target version set to 2.3.0-2447-final (rev. org.gvsig.desktop-2.0.153)

Hi Mario,
I can reproduce the issue: the layer is loaded in the ToC, but not visualized (except for some milliseconds). There's an exception reading your layer due to an "Invalid number of points in LinearRing (found 3 - must be 0 or >= 4)", that is there's an invalid geometry. For instance, you can skip the invalid geometry executing the "Geometric properties of polygon" geoprocess in the toolbox.
A correct behaviour of gvSIG should be to load and visualize the valid geometries informing the user that some geometries are not valid and why.

#2 Updated by Mario Fevre about 8 years ago

Indeed that is exactly what happens.

Thanks for the geoprocess recommendation.

#3 Updated by Antonio Falciano about 8 years ago

The "Clean vector layer" geoprocess is generally a better option than "Geometric properties of polygon" in order to skip the invalid geometries from polygon layers, because it preserves your alphanumerical table without adding new fields.

Related to #4156.

#4 Updated by Joaquín del Cerro Murciano almost 8 years ago

#6 Updated by Joaquín del Cerro Murciano almost 8 years ago

Como ha comentado Antonio se esta produciendo un error debido a una geometria incorrecta o dañada.
El error que se produce es:

  Invalid number of points in LinearRing (found 3 - must be 0 or >= 4).

El comportamiento por defecto de gvSIG seguira siendo generar un error cuando esto se produce, pero se han realizado modificaciones para que el usuario pueda rodear estos problemas cuando se produzcan:

  • Se ha añadido un flag/check al proveedor de shape para subsanar este problema. Con este flag/check activado cuando se detecta el problema se duplica el ultimo nodo del poligono dañado hasta que este tiene al menos 4 nodos.
  • En la carga normal del shape, si se detecta este problema, se genera un error informando en su descripcion de cual es el problema y que puede ser subsanado activando el flag/check correspondiente en las propiedades de la capa en el cuadro de dialogo de añadir capa.
  • En la version 1 de gvSIG existia un mecanismo que marcaba las capas con problemas como no validas y daba opcion a ver los mensajes de error que se habian producido, asi como a recargar la capa. Se han realizado las correcciones necesarias para que estas opciones vuelban a funcionar. Ademas se ha añadido la posibilidad de desde la misma ventana en la que se muestran las errores se puedan ver las propiedades de la capa para que puedan ser alteradas, y dependiendo de que propiedades se hayan cambiado se pueda volver a recargar la capa sin necesidad de eliminarla y volverla a añadir.
  • Se muestra en la linea de estado de gvSIG un mensaje del problema, y al pulsar sobre el presenta informacion mas detallada de lo que ha pasado.

#7 Updated by Joaquín del Cerro Murciano almost 8 years ago

  • Status changed from New to Fixed

#8 Updated by Joaquín del Cerro Murciano almost 8 years ago

  • Related to gvSIG bugs #4098: Geometry type of Shape does not match the geometry found in the shape added

#9 Updated by Joaquín del Cerro Murciano almost 8 years ago

  • Target version changed from 2.3.0-2447-final (rev. org.gvsig.desktop-2.0.153) to 2.3.0-2429 (rev. org.gvsig.desktop-2.0.135, NOT USABLE)

#10 Updated by Antonio Falciano almost 8 years ago

  • Target version changed from 2.3.0-2429 (rev. org.gvsig.desktop-2.0.135, NOT USABLE) to 2.3.0-2430 (rev. org.gvsig.desktop-2.0.136, NOT USABLE)
  • Status changed from Fixed to Closed

I've just tried the "Fix LinearRings" checkbox in the testing build 2430 and it works fine... Well done, Joaquin! Thanks!

Also available in: Atom PDF