Как изменить SRID столбца геометрии?

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

Этот новый столбец имеет имя the_geom4258, потому что я хочу установить его SRID равным 4258. Какова процедура изменения SRID геометрии на другую систему координат? Достаточно ли применить следующий запрос:

UPDATE table SET the_geom4258=ST_SetSRID(the_geom4258,4258);

person Z77    schedule 10.06.2010    source источник


Ответы (1)


Вам следует использовать функцию ST_Transform. Также используйте функцию AddGeometryColumn, чтобы создать новый столбец, чтобы убедиться, что все необходимые ограничения также созданный:

SELECT AddGeometryColumn('table','the_geom4258',4258, 'POLYGON', 2);

UPDATE table SET the_geom4258 = ST_Transform(the_geom,4258);

ST_SetSRID просто устанавливает идентификатор проекции, но фактически не преобразует геометрию.

person amercader    schedule 10.06.2010
comment
Ваш ответ - именно то, что мне нужно. Так что большое вам спасибо. Есть только одна мелочь, теперь у меня ошибка: ОШИБКА: AddToPROJ4SRSCache: не удалось разобрать строку proj4: '+ proj = tmerc + lat_0 = 0 + lon_0 = 16.5 + k = 0.999900 + x_0 = 500000 + y_0 = 0 + ellps = GRS80 + datum = ETRS89 + units = m + no_defs ': неизвестное эллиптическое имя параметра Есть подсказка, что мне теперь исправить? - person Z77; 10.06.2010
comment
Убедитесь, что есть запись для srid 4258 в таблице space_ref_sys вашей базы данных. Если есть запись, убедитесь, что параметры проекции соответствуют приведенным здесь: Spacereference.org/ ref / epsg / 4258 / postgis - person amercader; 10.06.2010