[Gfoss] aree sovrapposte in shape file solo per alcuni software

Stefano Romanelli romanelli.stefano a gmail.com
Gio 7 Dic 2017 12:28:16 CET


Buongiorno a tutti,

ho il seguente problema con una serie di shape file relativi all'uso suolo
dell'Honduras ad es [0]:

in pratica GDAL (OGRINFO), QGIS e GRASS GIS identificano una serie di aree
sovrapposte (aree molto grosse, non piccole sovrapposizioni), mentre
SPATIALITE, POSTGIS, ARCVIEW 3.2 e ARCMAP non le identificano e le aree
interrogate (doppie per i software prima citati) forniscono le risposte
giuste sulla classe di uso suolo.

I files sono multipart, lo SRID è 32616

Sembrerebbe qualcosa di simile a quanto riportato tempo fa da Andrea Peri
sui flag che identificavano i record eliminati, ma il problema questa volta
sembra inverso

0) ogrinfo [1]
versione GDAL 2.2.1 su ubuntu

1) QGIS
versione 2.18.14 con gdal 2.2.1 su ubuntu
versione 2.18.11 con gdal 2.2.1 su windows

2) GRASS GIS
versione 7.2.2 con gdal 2.2.2 su ubuntu

3) Postgis lo importa senza aree sovrapposte
versione 2.2 su debian
versione 2.3 su ubuntu

4) Saptialite lo importa senza aree sovrapposte [2]
versione 4.3.0a su ubuntu

5) ArcMap lo apre senza aree sovrapposte
versione 10.0

6) arcview lo apre senza aree sovrapposte
versione 3.2

--------------------------------------------------------------------------------

[0] http://www.atlasmunicipal.org/sites/default/files/0601%20Base%20SIG.zip
lo shape è sotto 0601 Base SIG/2000 Fisiografía y Recursos Naturales/2400
Cobertura y Uso de la Tierra/0601_Cobertura_Choluteca.shp

--------------------------------------------------------------------------------

[1] es. ogrinfo

ogrinfo -sql 'SELECT "CLASS_NAME" FROM "0601_Cobertura_Choluteca" AS c,
(SELECT MakePoint(468172,1452714, 32616) AS geom) AS a WHERE
St_Intersects(c.geometry, a.geom)' -dialect "SQLITE"
0601_Cobertura_Choluteca.shp

INFO: Open of `0601_Cobertura_Choluteca.shp'
      using driver `ESRI Shapefile' successful.

Layer name: SELECT
Geometry: None
Feature Count: 2
Layer SRS WKT:
(unknown)
CLASS_NAME: String (0.0)
OGRFeature(SELECT):0
  CLASS_NAME (String) = Área Húmeda Continental

OGRFeature(SELECT):1
  CLASS_NAME (String) = Camaroneras/salineras

--------------------------------------------------------------------------------

[2] es. spatialite

spatialite> SELECT "CLASS_NAME" FROM choluteca AS c, (SELECT
MakePoint(468172,1452714, 32616) AS geom) AS a WHERE St_Intersects(c.geom,
a.geom);

Camaroneras/salineras


Maggiori informazioni sulla lista Gfoss