#sql #postgresql #postgis
#sql #PostgreSQL #PostGIS
Вопрос:
В настоящее время у меня есть таблица со следующим форматом типа:
varchar | numeric | numeric | geometry
Чтобы добавить столбец географии, был выполнен следующий запрос:
ALTER TABLE table ADD COLUMN geography geography(POINT,4326);
И теперь формат типа таблицы выглядит следующим образом:
varchar | numeric | numeric | geometry | geography
Проблема, с которой я сейчас столкнулся, заключается в том, что я пытаюсь заполнить столбец географии информацией, основанной на столбце геометрии. Я пробовал:
UPDATE table SET geography = geometry::geography;
Но я сталкиваюсь со следующей ошибкой:
ОШИБКА: тип геометрии (MultiPolygon) не соответствует типу столбца
Есть ли запрос, который мне не хватает, который мог бы успешно заполнить новый столбец географии преобразованием географии из данных геометрии, найденных в столбце геометрии?
Ответ №1:
Вы добавили a point geography
, но исходный столбец содержит a multipolygon geometry
.
Если все ваши данные есть multipolygon
, создайте geography
соответствующий тип:
ALTER TABLE table ADD COLUMN geography geography(multipolygon ,4326);
Если у вас есть набор входных данных, создайте общий geography
столбец:
ALTER TABLE table ADD COLUMN geography geography(4326);