Necesito insertar un polígono desde GeoJSON a 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]
]
}'
)
)
Desgraciadamente, recibo un mensaje de error.
ERROR: Geometry SRID (0) does not match column SRID (3857)
El GeoJSON ya está en el sistema de referencia correcto. Pero esto no está especificado. ¿Cómo puedo especificar el SRID en el GeoJSON? ¿Qué aspecto debe tener el GeoJSON?
Actualización: Cuando envuelvo la geometría creada por ST_GeomFromGeoJSON
con ST_SetSRID(..., 3857)
arroja 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