Más

Usando ST_Intersects en OGR2OGR

Usando ST_Intersects en OGR2OGR


Estoy ejecutando GDAL 1.11.2, lanzado el 10/02/2015.

Lo siguiente muestra todos los atributos en mi shapefile en stdout:

/ opt / gdal-custom / bin / ogr2ogr -f CSV / vsistdout / foo.shp -sql "SELECT * FROM foo"

Sin embargo, si agrego la cláusula WHEREDONDE ST_Intersects (GEOMETRY, BuildCircleMbr (0, 0, 10000, 4326))yo obtengoERROR 1: Se utilizó la función 'ST_Intersects' no definida.

¿Qué estoy haciendo mal?


Sin conocer su conjunto de datos, no puedo estar 100% seguro, pero apuesto a que puede resolver esto agregando-dialecto sqliteya queST_Intersectses una función de Spatialite SQL.

Tu comando debe ser

/ opt / gdal-custom / bin / ogr2ogr -f CSV / vsistdout / foo.shp -dialect sqlite -sql "SELECT * FROM foo"

Supongo que ST_Intersects (Geom1, Geom2) probará una relación espacial entre dos elementos y devolverá un valor booleano (Verdadero o Falso), lo que necesita aquí probablemente sea ST_Intersection (Geom1, Geom2) si desea crear una geometría (resultante de las intersecciones de los otros dos pasados ​​en argumentos).

(Si es ST_Intersects () lo que necesita, probablemente debería estar después de la cláusula WHERE, como "SELECT * FROM foo WHERE ST_Intersects (Geom1, Geom2)")

(o tal vez si desea crear geometría para intersecciones propias, puede probar la función SpatiaLite / LWGEOM ST_SelfIntersections (Geom) pero no estoy seguro de que pueda llamarlo usando ogr2ogr, incluso con -dialecto SQLite activado)


Ver el vídeo: Why I shouldnt have left Google.. as an ex-Google millionaire