我需要将GeoJSON中的多边形插入到PostGIS表中。这就是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]
]
}'
)
)
不幸的是,我收到一条错误消息。
ERROR: Geometry SRID (0) does not match column SRID (3857)
GeoJSON已经在正确的参考系统中。但这没有指定。如何在GeoJSON中指定SRID?GeoJSON需要什么样?
更新:当我包装由此创建的几何时ST_GeomFromGeoJSON
,ST_SetSRID(..., 3857)
会引发另一个错误。在我看来,几何图形似乎没有Z尺寸。
ERROR: Geometry has Z dimension but column does not
我认为您需要指定表具有srid:4326,看起来您的表具有srid:3857,但是您的geojson具有长/纬度(即srid:4326或WGS84)
—
Gery
我想使用3857。那么,GeoJSON的外观如何?
—
danijar