[Gvsig_desarrolladores] Escribiendo SHP con fmap

Fernando González fergonco en gmail.com
Mar Jul 19 11:36:05 CEST 2011


>
> Cuando intento abrir el shp que he escrito con geotools, me dice que
> "ShapeType changed illegally from PointZ to Point".
>
> Aquí no te sabría responder...

En geotools esto significa que en la cabecera del shapefile se ha
escrito que las geometrías son de tipo PointZ, es decir, puntos con
tres componentes (x, y, z) pero luego en la cabecera de cada registro
se indica que la geometría es de tipo Point, es decir, puntos con dos
componentes (x, y). Geotools comprueba que estos dos datos sean
coherentes y si no lo son sale el error que reporta Víctor.

Creo que es un bug de DAL. He analizado con gHex2 (editor hexadecimal)
el shapefile que ha producido Víctor y el tipo de geometría de la
cabecera (Posicion 0x20 ó 32) es un 11 (PointZ). Para el usuario esto
tiene la consecuencia de que el shapefile que escriba con gvSIG 2.0 no
podrá ser leído con herramientas basadas en geotools (geoserver, udig,
etc.)

Además he visto que la cabecera tiene un FileLength de 14, lo cual es
incorrecto porque FileLength debe incluir las 50 medias palabras de la
cabecera*. Los lectores que he visto no hacen uso de este parámetro
pero es posible que haya alguno por ahí que reserve memoria en base a
esto y pete.

Saludos.


*The value for file length is the total length of the file in 16-bit
words (including the fifty 16-bit words that make up the header)
(http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf)


Más información sobre la lista de distribución gvSIG_desarrolladores