错误:无效的 GeoJson 表示

Eva*_*oll 2 postgresql spatial postgis json geojson

GeoJSON 规范展示,

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [125.6, 10.1]
  },
  "properties": {
    "name": "Dinagat Islands"
  }
}
Run Code Online (Sandbox Code Playgroud)

但是当我把它包装在一个调用中时ST_GeomFromGeoJSON,像这样,

SELECT ST_GeomFromGeoJSON($${                                                                                                                          
  "type": "Feature",                                                                                                                                   
  "geometry": {                                                                                                                                        
    "type": "Point",                                                                                                                                   
    "coordinates": [125.6, 10.1]                                                                                                                       
  },                                                                                                                                                   
  "properties": {                                                                                                                                      
    "name": "Dinagat Islands"                                                                                                                          
  }                                                                                                                                                    
}$$);
Run Code Online (Sandbox Code Playgroud)

我得到错误,

错误:无效的 GeoJson 表示

Eva*_*oll 5

从文档开始 ST_GeomFromGeoJSON

ST_GeomFromGeoJSON仅适用于 JSON 几何片段。如果您尝试在整个 JSON 文档上使用它,则会引发错误。

这意味着您只想从 GeoJSON 文档中的几何图形中删除值,

SELECT ST_AsText(geom)
FROM ST_GeomFromGeoJSON($${                                                                                                                          
  "type": "Point",                                                                                                                                   
  "coordinates": [125.6, 10.1]                                                                                                                       
}$$) AS geom;

     st_astext     
-------------------
 POINT(125.6 10.1)
Run Code Online (Sandbox Code Playgroud)

? ST_GeomFromGeoJSONST_AsGeoJSON(只生成geometryGeoJSON 文档的部分。)