Как вставить данные geo json в поле геометрии в postgresql - PullRequest
0 голосов
/ 03 февраля 2020

Привет, я новичок в PostGIS и хочу вставить geo JSON в столбец geometry таблицы. Я уже вставил CSV-файл в тот же столбец после этого учебника, мне интересно, как вставить geo JSON в любой столбец геометрии? Я попытался ответить на этот ответ, но не смог понять, что там происходит.

1 Ответ

1 голос
/ 03 февраля 2020

Просто используйте обновление с функцией ST_GeomFromGeoJSON:

UPDATE mytable SET geom = ST_GeomFromGeoJSON(json_column);

В следующем примере вставляется точка Geo JSON в столбец JSON, а затем обновляется геометрия. столбец с вышеуказанной функцией.

CREATE TEMPORARY TABLE mytable(
json_column json,
geom geometry);

INSERT INTO mytable (json_column) VALUES ('{
    "type": "Point",
    "coordinates": [7.0069, 51.1623]
}'); 

UPDATE mytable SET geom = ST_GeomFromGeoJSON(json_column);

SELECT * FROM mytable;

             json_column              |                    geom                    
--------------------------------------+--------------------------------------------
 {                                   +| 01010000009E5E29CB10071C400612143FC6944940
     "type": "Point",                +| 
     "coordinates": [7.0069, 51.1623]+| 
 }                                    | 
(1 Zeile)
...