gvSIG bugs #2984

Printing fails if a null geometry is found

Added by Cesar Martinez Izquierdo over 9 years ago. Updated over 9 years ago.

Status:Closed% Done:

0%

Priority:NormalSpent time:-
Assignee:-
Category:-
Target version:2.1.0-2255-testing
Severity:Minor Add-on version:
gvSIG version:2.1.0 Add-on build:
gvSIG build:2254 Add-on resolve version:
Operative System: Add-on resolve build:
Keywords: Proyecto:
Has patch:Yes Hito:
Add-on name:Unknown

Description

Printing or exporting to PDF or PS fails if a null geometry is found.

Null geometries should not happen (a valid geometry with type NONE should be used instead), so they can only be caused by a corrupt layer or a bug in a driver. In any case, it is better to complete the printing even if a null geometry is found.

The attached patch for Core shows an error if a null geometry is found while printing, but it allows to complete the printing process (skipping the null geometries). Note that currently we are already skipping null geometries when drawing on screen.

null-geom.patch Magnifier (2.23 KB) Cesar Martinez Izquierdo, 11/10/2014 04:54 AM

Associated revisions

Revision 41814
Added by Joaquín del Cerro Murciano over 9 years ago

Printing fails if a null geometry is found, refs #2984 (cmartinez)

Revision 41828
Added by Joaquín del Cerro Murciano over 9 years ago

refs #2984. Eliminada la salida al log que avisa que se ha encontrado una geormetria a null en el print del AbstractVectorialLegend.

History

#1 Updated by Joaquín del Cerro Murciano over 9 years ago

  • Target version changed from 2.1.0-2259-rc3 to 2.1.0-2255-testing

#2 Updated by Joaquín del Cerro Murciano over 9 years ago

  • Status changed from New to Fixed

#3 Updated by Joaquín del Cerro Murciano over 9 years ago

He metido los cambios pero he modificado dos cositas, las comento para que las puedas tener en cuenta en proximas veces...
  • No es un error que te aparezcan geometrias a null recorriendo una set, tenemos que acostumbrarnos a que podemos encontrarnoslas, asi que he cambiado el LOG.error por un LOG.info.
  • Decidimos que los mensajes en el LOG no van traducidos y siempre que sea posible van en ingles. Al fin y al cabo el log lo vemos los desarrolladores y asi no recargamos las tareas de los traductores.

Gracias por el aporte ;)

#4 Updated by Cesar Martinez Izquierdo over 9 years ago

Gracias Joaquín. Si es correcto que un set pueda devolver geometrías nulas, me pregunto si es necesario informar de ello en el log. ¿Envío un parche para quitar la condición de logging?

#5 Updated by Joaquín del Cerro Murciano over 9 years ago

Cesar Martinez Izquierdo wrote:

Gracias Joaquín. Si es correcto que un set pueda devolver geometrías nulas, me pregunto si es necesario informar de ello en el log. ¿Envío un parche para quitar la condición de logging?

Pues la verdad es que estuve tentado de quitar la traza en el log y no supe que hacer al final. Si crees que no merece la pena sacar ese mensaje en el log me lo dices y lo quitamos.

Respecto a lo de haber geometrias a null... pues al menos se me ocurre ahora un par de casos. Por ejemplo:

  • Una tabla de BBDD que tenga la columna geometria a null. Eso se traduce en que cuando gvSIG consulta la geometria del Feature obtiene un null.
  • Un shape puede contener Lineas o Poligonos que tengan 0 vertices. El driver de shape actual deja un null en la geometria del Feature.

En estos casos antes se contruia un objeto de clase NullGeometry para ahorrarse las comprobaciones de null, pero me parece una gorrinada y lo he ido quitando alla donde lo he visto, asi que cuando no hay geometria ahora simplemente hay un null en el Feature.

#6 Updated by Cesar Martinez Izquierdo over 9 years ago

Por mi quítalo, así simplificamos el bucle. Si quieres que adjunte un parche me lo dices.

#7 Updated by Joaquín del Cerro Murciano over 9 years ago

Cesar Martinez Izquierdo wrote:

Por mi quítalo, así simplificamos el bucle. Si quieres que adjunte un parche me lo dices.

Pos ya lo he quitado.

#8 Updated by Álvaro Anguix over 9 years ago

  • Status changed from Fixed to Closed

Also available in: Atom PDF