Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru
Руководство по PostGIS. Глава 6. Справочник PostGIS
Назад Вперед

Глава 6. Справочник PostGIS

Содержание

6.1. Функции OpenGIS
6.1.1. Функции управления
6.1.2. Функции геометрической связи
6.1.3. Функции геометрического процессинга
6.1.4. Геометрические способы доступа
6.1.5. Геометрические конструкторы
6.2. Расширения PostGIS
6.2.1. Функции управления
6.2.2. Операторы
6.2.3. Функции измерения
6.2.4. Геометрический вывод
6.2.5. Геометрические конструкторы
6.2.6. Геометрические редакторы
6.2.7. Линейные ссылки
6.2.8. Разное
6.2.9. Поддержка долгих транзакций
6.3. Функции SQL-MM
6.4. Функции ArcSDE

Функции, приведенные ниже, - наиболее нужные пользователям PostGIS. Другие поддерживаемые в объектах PostGIS функции не используются повсеместно.

Замечание

PostGIS переходит на SQL-MM-центричное соглашение по наименованиям. В результате, большинство функций, которые вы знаете и любите, были переименованы с использованием стандартного пространственного префикса типа (ST - spatial type). Предыдущие функции остаются доступными, хотя не перечислены в этом документе, вместе с эквивалентными измененными функциями. Их использование в будущих релизах резко осуждается.

6.1. Функции OpenGIS

6.1.1. Функции управления

AddGeometryColumn(varchar, varchar, varchar, integer, varchar, integer)

Синтаксис: AddGeometryColumn(<имя_схемы>, <имя_таблицы>, <имя_столбца>, <srid>, <тип>, <размерность>). Добавляет геометрический столбец в существующую таблицу атрибутов. Имя_схемы - название схемы таблицы (не используется для пре-схемы инсталляции PostgreSQL). srid должен быть целым числом для ввода в таблицу SPATIAL_REF_SYS. Тип должен быть строкой в верхнем регистре, сообщающей геометрический тип, такой как 'POLYGON' или 'MULTILINESTRING'.

DropGeometryColumn(varchar, varchar, varchar)

Синтаксис: DropGeometryColumn(<имя_схемы>, <имя_таблицы>, <имя_столбца>). Удаляет геометрический столбец указанной таблицы. Заметим, что имя_схемы должно быть тем же, что и соответствующей строке в поле f_schema_name таблицы geometry_columns.

ST_SetSRID(geometry, integer)

Устанавливает SRID геометрии в индивидуальное целочисленное значение. Используется при построении границ для запросов.

6.1.2. Функции геометрической связи

ST_Distance(geometry, geometry)

Возвращает декартово расстояние между двумя геометриями в заданных единицах. Не использует индексы.

ST_DWithin(geometry, geometry, float)

Возвращает истину, если геометрии находятся в пределах указанного расстояния одна от другой. Доступно использование индексов.

ST_Equals(geometry, geometry)

Возвращает 1 (TRUE), если данные геометрии "пространственно равны". Использование этой функции предпочтительнее, чем использование '='. Выражение ST_Equals('LINESTRING(0 0, 10 10)','LINESTRING(0 0, 5 5, 10 10)') возвращает истину.

Выполняется с помощью модуля GEOS.

OGC SPEC s2.1.1.2

ST_Disjoint(geometry, geometry)

Возвращает 1 (TRUE), если геометрии "пространственно разделены".

Выполняется с помощью модуля GEOS.

Не вызывается с GeometryCollection в качестве аргумента.

ЗАМЕЧАНИЕ: это - "правильная" версия, которая возвращает boolean а не integer.

OGC SPEC s2.1.1.2 //s2.1.13.3 - a.Relate(b, 'FF*FF****')

ST_Intersects(geometry, geometry)

Возвращает 1 (TRUE), если геометрии "пространственно пересекаются".

Выполняется модулем GEOS.

Не вызывается с GeometryCollection в качестве аргумента.

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

ЗАМЕЧАНИЕ: это - "правильная" версия, которая возвращает boolean а не integer.

OGC SPEC s2.1.1.2 //s2.1.13.3 - Intersects(g1, g2 ) --> Not (Disjoint(g1, g2 ))

ST_Touches(geometry, geometry)

Возвращает 1 (TRUE), если геометрии "пространственно соприкасаются".

Выполняется модулем GEOS.

Не вызывается с GeometryCollection в качестве аргумента.

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

ЗАМЕЧАНИЕ: это - "правильная" версия, которая возвращает boolean а не integer.

OGC SPEC s2.1.1.2 // s2.1.13.3- a.Touches(b) -> (I(a) intersection I(b) = {empty set} ) and (a intersection b) not empty

ST_Crosses(geometry, geometry)

Возвращает 1 (TRUE), если геометрии "пространственно пересекаются".

Выполняется модулем GEOS.

Не вызывается с GeometryCollection в качестве аргумента.

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

ЗАМЕЧАНИЕ: это - "правильная" версия, которая возвращает boolean а не integer.

OGC SPEC s2.1.1.2 // s2.1.13.3 - a.Relate(b, 'T*T******')

ST_Within(geometry A, geometry B)

Возвращает 1 (TRUE), если геометрия A находится "пространственно внутри" геометрии B.

Выполняется модулем GEOS.

Не вызывается с GeometryCollection в качестве аргумента.

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

ЗАМЕЧАНИЕ: это - "правильная" версия, которая возвращает boolean а не integer.

OGC SPEC s2.1.1.2 // s2.1.13.3 - a.Relate(b, 'T*F**F***')

ST_Overlaps(geometry, geometry)

Возвращает 1 (TRUE), если геометрии "частично пространственно перекрываются".

Выполняется модулем GEOS.

Не вызывается с GeometryCollection в качестве аргумента.

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

ЗАМЕЧАНИЕ: это - "правильная" версия, которая возвращает boolean а не integer.

OGC SPEC s2.1.1.2 // s2.1.13.3

ST_Contains(geometry A, geometry B)

Возвращает 1 (TRUE), если геометрия A "пространственно содержит" геометрию B.

Выполняется модулем GEOS.

Не вызывается с GeometryCollection в качестве аргумента.

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

ЗАМЕЧАНИЕ: это - "правильная" версия, которая возвращает boolean а не integer.

OGC SPEC s2.1.1.2 // s2.1.13.3 - так же как within(geometry B, geometry A)

ST_Covers(geometry A, geometry B)

Возвращает 1 (TRUE), если ни одна точка геометрии B не находится вне геометрии A.

Объяснение, зачем нужна эта функция, можно прочесть здесь: http://lin-ear-th-inking.blogspot.com/2007/06/subtleties-of-ogc-covers-spatial.html

Вызов этой функции автоматически включает сравнение границ, которое будет использовать любые индексы на указанных геометриях. Чтобы избежать использования индексов, пользуйте функциюn _ST_Covers.

ST_CoveredBy(geometry A, geometry B)

Возвращает 1 (TRUE), если ни одна точка геометрии A не находится вне геометрии B.

Объяснение, зачем нужна эта функция, можно прочесть здесь: http://lin-ear-th-inking.blogspot.com/2007/06/subtleties-of-ogc-covers-spatial.html

ST_Intersects(geometry, geometry)

Возвращает 1 (TRUE), если геометрии "пространственно пересекаются".

Выполняется модулем GEOS.

Не вызывается с GeometryCollection в качестве аргумента.

ЗАМЕЧАНИЕ: это - "правильная" версия, которая возвращает boolean а не integer.

OGC SPEC s2.1.1.2 // s2.1.13.3 - NOT disjoint(geometry, geometry)

ST_Relate(geometry, geometry, intersectionPatternMatrix)

Возвращает 1 (TRUE), если указанные геометрии пространственно связаны другой геометрией, с помощью проверки пересечения между внутренностями, границами и дополнениями двух геометрий, как указано в значении intersectionPatternMatrix.

Выполняется модулем GEOS.

Не вызывается с GeometryCollection в качестве аргумента.

ЗАМЕЧАНИЕ: это - "правильная" версия, которая возвращает boolean а не integer.

OGC SPEC s2.1.1.2 // s2.1.13.3

ST_Relate(geometry, geometry)

Возвращает DE-9IM - расширенная 9-мерная матрица размерностей (dimensionally extended nine-intersection matrix).

Выполняется модулем GEOS.

Не вызывается с GeometryCollection в качестве аргумента.

Не описана в спецификации OGC, но подразумевается. Смотрите s2.1.13.2

6.1.3. Функции геометрического процессинга

ST_Centroid(geometry)

Возвращает точку - центроид геометрии.

Вычисления будут более точными, если выполняются модулем GEOS (включается во время компиляции).

ST_Area(geometry)

Возвращает площадь геометрии, если она является полигоном или мультиполигоном.

ST_Length(geometry)

Возвращает длину кривой в соответствующей ей пространственной справочной системе.

Синоним для length2d()

OGC SPEC 2.1.5.1

ST_PointOnSurface(geometry)

Возвращает точку, гарантированно лежащую на поверхности.

Выполняется с помощью модуля GEOS

OGC SPEC 3.2.14.2 и 3.2.18.2 -

ST_Boundary(geometry)

Возвращает замыкание комбинированной границы геометрии. Комбинированная граница (combinatorial boundary) определяетсяв разделе 3.12.3.2 спецификации OGC. Поскольку результат этой функции - замыкание и, следовательно, топологически замкнут, то результирующая граница может быть представлена с помощью изобразительных геометрических примитивов, как обсуждается в спецификации OGC, в резделе 3.12.2.

Выполняется с помощью модуля GEOS

OGC SPEC s2.1.1.1

ST_Buffer(geometry, double, [integer])

Возвращает геометрию, все точки которой находятся на меньшем или равном расстоянии, чем заданное, от заданной геометрии. Расчеты производятся в пространственной системе координат заданной геометрии. Опциональный третий параметр задает число сегментов, используемых для аппроксимации четверти окружности (по умолчанию - 8).

Выполняется с помощью модуля GEOS

Не вызывается с GeometryCollection в качестве аргумента.

OGC SPEC s2.1.1.3

ST_ConvexHull(geometry)

Возвращает геометрию, которая представляет собой выпуклый каркас заданной геометрии.

Выполняется с помощью модуля GEOS

OGC SPEC s2.1.1.3

ST_Intersection(geometry, geometry)

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

Выполняется с помощью модуля GEOS

Не вызывается с GeometryCollection в качестве аргумента.

OGC SPEC s2.1.1.3

ST_SymDifference(geometry A, geometry B)

Возвращает геометрию, которая представляет собой множество точек симметрической разности геометрий A и B.

Выполняется с помощью модуля GEOS

Не вызывается с GeometryCollection в качестве аргумента.

OGC SPEC s2.1.1.3

ST_Difference(geometry A, geometry B)

Возвращает геометрию, которая представляет собой множество точек разности геометрии A и геометрии B.

Выполняется с помощью модуля GEOS

Не вызывается с GeometryCollection в качестве аргумента.

OGC SPEC s2.1.1.3

ST_Union(geometry, geometry)

Возвращает геометрию, которая представляет собой множество точек объединения геометрий.

Выполняется с помощью модуля GEOS

Не вызывается с GeometryCollection в качестве аргумента.

ЗАМЕЧАНИЕ: эта функция была переименована с "union", так как "union" является зарезервированным словом SQL.

OGC SPEC s2.1.1.3

ST_Union(geometry set)

Возвращает геометрию, которая представляет собой множество точек объединения всех геометрий из указанного набора.

Выполняется с помощью модуля GEOS

Не вызывается с GeometryCollection в качестве аргумента.

Не описана явно в спецификации OGC.

ST_MemUnion(geometry set)

То же, что и выше, но использует меньше памяти и процессорного времени.

6.1.4. Геометрические способы доступа

ST_AsText(geometry)

Возвращает известное текстовое представление геометрии. Например: POLYGON(0 0,0 1,1 1,1 0,0 0)

OGC SPEC s2.1.1.1

ST_AsBinary(geometry)

Возвращает геометрию в "извесном-бинарном" ("well-known-binary") формате OGC, еспользуя кодировку памяти сервера (endian encoding of the server), на котором запущена база данных. Это полезно в бинарном курсоре выбранных из базы данных, без конвертации их в строковое представление.

OGC SPEC s2.1.1.1 - смотрите также asBinary(<geometry>,'XDR') и asBinary(<geometry>,'NDR')

ST_SRID(geometry)

Возвращает целочисленный номер SRID системы пространственных координат данной геометрии.

OGC SPEC s2.1.1.1

ST_Dimension(geometry)

Размерность геометрического объекта, меньшая или равная размерности координат. Согласно OGC SPEC s2.1.1.1 возвращает 0 для точек, 1 - для линий, 2 - для полигонов и наибольшую размерность компонентов для GEOMETRYCOLLECTION.

select dimension('GEOMETRYCOLLECTION(LINESTRING(1 1,0 0),POINT(0 0)');
dimension
-----------
1
ST_Envelope(geometry)

Возвращает POLYGON, представляющий поверхность геометрии.

OGC SPEC s2.1.1.1 - Минимальная поверхность геометрии, возвращаемая как геометрия. Полигон определяется как множество точек, ограниченное ((MINX, MINY), (MAXX, MINY), (MAXX, MAXY), (MINX, MAXY), (MINX, MINY)).

ЗАМЕЧАНИЕ: В PostGIS добавлены координатные Zmin/Zmax.

ST_IsEmpty(geometry)

Возвращает 1 (TRUE), если геометрия является пустой. Если true, то геометрия представлена пустым множеством точек, т.е. GEOMETRYCOLLECTION(EMPTY).

OGC SPEC s2.1.1.1

ST_IsSimple(geometry)

Возвращает 1 (TRUE), если геометрия имеет не аномальные геометрические точки. Под аномальными понимаются такие точки, как точки самопересечения или самокасания.

Выполняется с помощью модуля GEOS

OGC SPEC s2.1.1.1

ST_IsClosed(geometry)

Возвращает истину, если начальная и конечная точки геометрии совпадают.

ST_IsRing(geometry)

Возвращает 1 (TRUE), если заданная кривая является замкнутой (StartPoint ( ) = EndPoint ( )) и простой (не проходит через одну точку более одного раза).

Выполняется с помощью GEOS

OGC spec 2.1.5.1

ST_NumGeometries(geometry)

Если геометрия есть GEOMETRYCOLLECTION (или MULTI*), возвращает число ее геометрий. В противном случае возвращает NULL.

ST_GeometryN(geometry,int)

Возвращает N-ную геометрию, если заданная геометрия есть GEOMETRYCOLLECTION, MULTIPOINT, MULTILINESTRING или MULTIPOLYGON. В других случаях возвращает NULL.

Замечание

Нумерация начинается с 1, как это определено спецификацией OGC в версии 0.8.0. В предыдущих версиях, вместо этого, использовалась нумерация с 0.

ST_NumPoints(geometry)

Находит и возвращает число точек в первой ломаной в заданной геометрии. Возвращает NULL, если геометрия не содержит ломаных.

ST_PointN(geometry,integer)

Возвращает N-ую точку первой ломаной в заданной геометрии. Возвращает NULL, если геометрия не содержит ломаную.

Замечание

Нумерация начинается с 1, как это определено спецификацией OGC в версии 0.8.0. В предыдущих версиях, вместо этого, использовалась нумерация с 0.

ST_ExteriorRing(geometry)

Возвращает описанную окружность (exterior ring) полигональной геометрии. Возвращает NULL, если геометрия не является полигоном.

ST_NumInteriorRings(geometry)

Возвращает число вписанных окружностей (interior rings) в первый полигон данной геометрии. Возвращает NULL, если геометрия не содержит полигонов.

ST_NumInteriorRing(geometry)

Синоним для NumInteriorRings(geometry). Спецификация OpenGIS двусмыслена в плане наименования этой функции. Поэтому мы поддерживаем оба написания.

ST_InteriorRingN(geometry,integer)

Возвращает N-ую вписанную окружность в полигональную геометрию. Возвращает NULL, если геометрия не является полигоном, или имеет меньше N окружностей.

Замечание

Нумерация начинается с 1, как это определено спецификацией OGC в версии 0.8.0. В предыдущих версиях, вместо этого, использовалась нумерация с 0.

ST_EndPoint(geometry)

Возвращает точку, - последнюю точку геометрии LineString.

ST_StartPoint(geometry)

Возвращает точку, - первую точку геометрии LineString.

GeometryType(geometry)

Возвращает тип геометрии как строку. Например: 'LINESTRING', 'POLYGON', 'MULTIPOINT' и т.п.

OGC SPEC s2.1.1.1 - возвращает название подтипа геометрии, в который установлен данный представитель геометрии. Название подтипа геометрии возвращается как строка.

Замечание

Кроме прочего эта функция указывает, является ли геометрия измеримой, возвращая строку с 'POINTM'.

ST_GeometryType(geometry)

Возвращает тип геометрии как строку: Например: 'Linestring', 'Polygon' и т.п. Эта функция отличается от GeometryType(geometry) регистром возвращаемой строки, а также тем, что не показывает, является ли геометрия измеримой.

ST_X(geometry)

Возвращает координату X точки. Ввод должен быть точкой.

ST_Y(geometry)

Возвращает координату Y точки. Ввод должен быть точкой.

ST_Z(geometry)

Возвращает координату Z точки, или NULL, если эта координата не известна. Ввод должен быть точкой.

ST_M(geometry)

Возвращает координату M точки, или NULL, если эта координата не известна. Ввод должен быть точкой.

Замечание

Эта функция не является (все еще) частью спецификации OGC, но необходима для завершения списка функций извлечения координат точки.

6.1.5. Геометрические конструкторы

ST_GeomFromText(text,[<srid>])

Создает геометрию из WKT с указанным SRID.

OGC SPEC 3.2.6.2 - необязательный SRID является отклонением от стандарта.

ST_PointFromText(text,[<srid>])

Создает геометрию из WKT с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.6.2 - необязательный SRID является отклонением от стандарта.

Выдает ошибку, если WKT не является точкой.

ST_LineFromText(text,[<srid>])

Создает геометрию из WKT с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.6.2 - необязательный SRID является отклонением от стандарта.

Выдает ошибку, если WKT не является линией.

ST_LinestringFromText(text,[<srid>])

Создает геометрию из WKT с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

Является отклонением от стандарта.

Выдает ошибку, если WKT не является линией.

ST_PolyFromText(text,[<srid>])

Создает геометрию из WKT с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.6.2 - необязательный SRID является отклонением от стандарта.

Выдает ошибку, если WKT не является полигоном.

ST_PolygonFromText(text,[<srid>])

Создает геометрию из WKT с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

Является отклонением от стандарта.

Выдает ошибку, если WKT не является полигоном.

ST_MPointFromText(text,[<srid>])

Создает геометрию из WKT с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.6.2 - необязательный SRID является отклонением от стандарта.

Выдает ошибку, если WKT не является MULTIPOINT-ом.

ST_MLineFromText(text,[<srid>])

Создает геометрию из WKT с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.6.2 - необязательный SRID является отклонением от стандарта.

Выдает ошибку, если WKT не является MULTILINESTRING-ом.

ST_MPolyFromText(text,[<srid>])

Создает геометрию из WKT с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.6.2 - необязательный SRID является отклонением от стандарта.

Выдает ошибку, если WKT не является MULTIPOLYGON-ом

ST_GeomCollFromText(text,[<srid>])

Создает геометрию из WKT с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.6.2 - необязательный SRID является отклонением от стандарта.

Выдает ошибку, если WKT не является GEOMETRYCOLLECTION-ом

ST_GeomFromWKB(bytea,[<srid>])

Создает геометрию из WKT с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.6.2 - необязательный SRID является отклонением от стандарта.

ST_GeometryFromWKB(bytea,[<srid>])

Создает геометрию из WKT с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.7.2 - необязательный SRID является отклонением от стандарта.

ST_PointFromWKB(bytea,[<srid>])

Создает геометрию из WKT с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.7.2 - необязательный SRID является отклонением от стандарта.

Выдает ошибку, если WKB не является POINT-ом.

ST_LineFromWKB(bytea,[<srid>])

Создает геометрию из WKT с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.7.2 - необязательный SRID является отклонением от стандарта.

Выдает ошибку, если WKB не является LINESTRING-ом

ST_LinestringFromWKB(bytea,[<srid>])

Создает геометрию из WKT с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

Является отклонением от стандарта.

Выдает ошибку, если WKB не является LINESTRING-ом.

ST_PolyFromWKB(bytea,[<srid>])

Создает геометрию из WKB с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.7.2 - необязательный SRID является отклонением от стандарта.

Выдает ошибку, если WKB не является POLYGON-ом

ST_PolygonFromWKB(bytea,[<srid>])

Создает геометрию из WKB с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

Является отклонением от стандарта.

Выдает ошибку, если WKB не является POLYGON-ом.

ST_MPointFromWKB(bytea,[<srid>])

Создает геометрию из WKB с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.7.2 - необязательный SRID является отклонением от стандарта.

Выдает ошибку, если WKB не является MULTIPOINT-ом.

ST_MLineFromWKB(bytea,[<srid>])

Создает геометрию из WKB с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.7.2 - необязательный SRID является отклонением от стандарта.

Выдает ошибку, если WKB не является MULTILINESTRING-ом.

ST_MPolyFromWKB(bytea,[<srid>])

Создает геометрию из WKB с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.7.2 - необязательный SRID является отклонением от стандарта.

Выдает ошибку, если WKB не является MULTIPOLYGON-ом

ST_GeomCollFromWKB(bytea,[<srid>])

Создает геометрию из WKB с указанным SRID. Если SRID не указан, используется -1 по умолчанию.

OGC SPEC 3.2.7.2 - необязательный SRID является отклонением от стандарта.

Выдает ошибку, если WKB не является GEOMETRYCOLLECTION-ом

ST_BdPolyFromText(text WKT, integer SRID)

Конструирует полигон, заданный произвольной коллекцией замкнутых ломаных, как текстовым представлением MultiLineString-а.

Выдает ошибку, если WKT не является MULTILINESTRING-ом. Выдает ошибку, если вывод является MULTIPOLYGON-ом; используйте, в этом случае, BdMPolyFromText или смотрите BuildArea() чтобы разобраться в специфике PostGIS.

OGC SFSQL 1.1 - 3.2.6.2

Доступно с 1.1.0. Требует GEOS >= 2.1.0.

ST_BdMPolyFromText(text WKT, integer SRID)

Конструирует мультиполигон, заданный произвольной коллекцией замкнутых ломаных, как текстовым представлением MultiLineString-а.

Выдает ошибку, если WKT не является MULTILINESTRING-ом. Даже если вывод может быть единственным полигоном, все равно выдает MULTIPOLYGON. Если же вам нужен именно POLYGON, то используйте BdPolyFromText или смотрите BuildArea() чтобы разобраться в специфике PostGIS.

OGC SFSQL 1.1 - 3.2.6.2

Доступно с 1.1.0. Требует GEOS >= 2.1.0.


Назад Выше Вперед
Глава 5. Советы по производительности Начало 6.2. Расширения PostGIS
Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2008-04-21 16:22:54

Метки материала: PostGIS, справочник, функции, OpenGIS, geometry, SQL-MM, ArcSDE, ST

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.