Usar datos GeoJSON para filtrar consultas en PostGIS
Suponiendo que tengamos un fichero, o simplemente un string, con GeoJSON, como por ejemplo: { "type": "MultiPoint", "coordinates": [ [-1.6402482999999999, 37.411843399999995], [-1.645345, 37.413398199999996], [-1.6453499999999999, 37.4129673], [-1.6453347, 37.41289], [-1.6455814, 37.4127428], [-1.6455834, 37.4136486], [-1.6402482999999999, 37.411843399999995] ] } y una base de datos PostGIS donde tengamos una tabla llamada field con un campo geometry, podríamos hacer una consulta para obtener todos los fields que intersecten con la geometría definida en el GeoJSON: SELECT field.id, field.name FROM field WHERE ST_Intersects(field_zone.geometry, ST_GeomFromGeoJSON(' { "type": "MultiPoint", "coordinates": [ [-1.6402482999999999, 37.411843399999995], [-1.645345, 37.413398199999996], [-1.6453499999999999, 37.4129673], [-1.6453347, 37.41289], [-1.6455814, 37.4127428], [-1.6455834, 37.4136486], [-1.6402482999999999, 37.411843399999995] ] }')); Los métodos de PostGIS utilizados son ST_Intersects, que comprueba intersección entre 2 objetos geometry o geography, y ST_GeomFromGeoJSON, que construye un objecto geometry a partir de su representación en GeoJSON. ...