Necesito insertar un polígono de GeoJSON en mi tabla PostGIS. Así es como se ve la consulta SQL.
INSERT INTO tablename (name, polygon)
VALUES (
'Name',
ST_GeomFromGeoJSON(
'{
"type": "Polygon",
"coordinates": [
[7.734375,51.835777520452],
[3.8671875,48.341646172375],
[7.20703125,43.580390855608],
[18.6328125,43.834526782237],
[17.9296875,50.289339253292],
[13.7109375,54.059387886624],
[7.734375,51.835777520452]
]
}'
)
)
Lamentablemente, recibo un mensaje de error.
ERROR: Geometry SRID (0) does not match column SRID (3857)
GeoJSON ya está en el sistema de referencia correcto. Pero esto no está especificado. ¿Cómo especifico el SRID en GeoJSON? ¿Cómo debe ser el GeoJSON?
Actualización: Cuando envuelvo la geometría creada por ST_GeomFromGeoJSON
la ST_SetSRID(..., 3857)
lanza otro error. En mi opinión, no parece que la geometría tenga una dimensión Z.
ERROR: Geometry has Z dimension but column does not