Есть ли способ типизации полигонов для мультиполигонов?
Например, я создал круг, используя ST_Buffer () для точки. Тип возврата этой функции - тип Polygon. Проблема в том, что на столбце геометрии есть ограничение, ограничивающее его типом Multipolygon. Итак, я не могу вставить простой многоугольник.
Я использовал функцию ST_MPolyFromText (), но, как обычно, она возвращает ноль для этого, а ST_Dump () не дает правильного вывода.
Ограничение:
CONSTRAINT enforce_geotype_geom CHECK (geometrytype(geom) = 'MULTIPOLYGON'::text OR geom IS NULL),
Есть ли причина для добавления многополигонного ограничения? Как насчет изменения ограничения на полигон?
—
Подземье
Разве это не детский вопрос gis.stackexchange.com/questions/14198/… ?
—
Unicoletti
Это так, но это можно перефразировать, чтобы это тоже был отдельный вопрос.
—
Подземье
да, это вопрос для детей ,, но проблема в том, что когда вы импортируете шейп-файл в postgis, содержащий слой многоугольника, то он автоматически создает геометрию мультиполигона. тогда немного утомительно преобразовывать тип данных из мультиполигона в полигон ... потому что это будет сделано клиентом. Так что просто нужно сохранить выходные данные в этот столбец того типа, который создан postgis ..
—
Вики,
PS: сделать обратное, от мульти-к-поли, использовать
—
Питер Краусс
st_geometryn(geom, 1)
.