PostGIS создает столбец географии из столбца геометрии

#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);