GIS-LAB

Географические информационные системы и дистанционное зондирование

Руководство по 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), если указанные геометрии пространственно связаны с другой геометрией, с помощью проверки пересечения между Interior, Boundary and Exterior двух геометрий, как указано в значении intersectionPatternMatrix.

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

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

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

OGC SPEC s2.1.1.2 // s2.1.13.3

ST_Relate(geometry, geometry)

Возвращает DE-9IM - матрица девяти пересечений с расширенной размерностью (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_Shift_Longitude(geometry)

Считывает каждую точку/узел в каждом компоненте каждого объекта и, если ее долгота <0, добавляет к ней 360. Результат будет версией данных с диапазоном координат 0-360 вместо -180..180.

ST_SymDifference(geometry A, geometry B)

Возвращает геометрию, которая представляет собой множество точек геометрий A и B, которые не пересекаются. Это называется симметричной разностью потому что: ST_SymDifference(A,B) = ST_SymDifference(B,A).

Выполняется с помощью модуля 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 в качестве аргумента.

ЗАМЕЧАНИЕ: эта функция была переименована с "GeomUnion", так как "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)

Возвращает WKT представление геометрии. Например: 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)

Возвращает правильную геометрию (POINT, LINESTRING или POLYGON) представляющую охват геометрии. Производит уменьшение размерности (вертикальные линии, точки) с возващением геометрии размерностью ниже чем 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) регистром возвращаемой строки, а также тем, что не показывает, содержит ли геометрия M.

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>])

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

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

ST_GeometryFromWKB(bytea,[<srid>])

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

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

ST_PointFromWKB(bytea,[<srid>])

Создает геометрию из WKB с указанным 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>])

Создает геометрию из WKB с указанным 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.

<<< предыдущая глава | оглавление | следующая глава >>>

Обсудить в форуме Комментариев — 21

Последнее обновление: July 23 2010