Postgresql

錯誤:無效的 GeoJson 表示

  • March 5, 2022

GeoJSON 規範展示,

{
 "type": "Feature",
 "geometry": {
   "type": "Point",
   "coordinates": [125.6, 10.1]
 },
 "properties": {
   "name": "Dinagat Islands"
 }
}

但是當我把它包裝在一個電話中時ST_GeomFromGeoJSON,就像這樣,

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

我得到錯誤,

錯誤:無效的 GeoJson 表示

從文件開始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)

ST_GeomFromGeoJSONST_AsGeoJSON(僅生成geometryGeoJSON 文件的部分。)的倒數。

引用自:https://dba.stackexchange.com/questions/227580