Как я могу обновить положение существующей таблицы (с точками) в PostGIS, используя координаты из другой таблицы, но по определенному идентификатору? - PullRequest
0 голосов
/ 13 июня 2019

У меня есть слой с точечной геометрией, который был перемещен и не падает в нужном месте.У меня та же версия таблицы с правильной позицией, и я хотел бы использовать ее для обновления таблицы в моей базе данных.

Я не хочу удалять точки и вставлять снова, надеясь, что смогу использовать функцию обновления.Я знаю поле wkt_geom, которое мне нужно обновить, но не знаю, как написать свой сценарий.

UPDATE poles
SET wkt_geometry = st_geometryfromtext('POINT(long.lat)',4326);

Я получаю сообщение об ошибке wkt_geometry.

1 Ответ

0 голосов
/ 14 июня 2019

Сначала вы должны получить свой лог и лат

, этот пример получает тот же идентификатор и объединяет его в точку

Select CONCAT("POINT(", item_id, " ", item_id,")") into @point From items Limit 1;
Set @o_point := ST_GeomfromText(@point,4375);
Select ST_AsText(@o_point) as wktvalue,@o_point as punkt,@point;

Возвращает

wktvalue    punkt                                   @point
POINT(1 1)  FxEAAAEBAAAAAAAAAAAA8D8AAAAAAADwPw==    POINT(1 1)

Выконечно же, вы можете выбрать первого, чтобы получить свой собственный лонг и лат, и у вас наконец-то

UPDATE poles
SET wkt_geometry = @o_point;
...