Краткий обзор SQL-функций, используемых с ST_Geometry
Язык SQL является стандартным языком программирования для доступа и управления базами данных. Когда вы создаете базу геоданных или устанавливаете тип ST_Geometry в Oracle или PostgreSQL, в схеме пользователя sde создаются специальные функции и типы SQL. Можно воспользоваться SQL, а также этими функциями и типами, чтобы выполнять запросы и редактировать данные.
Разделы для функций в этой части Справки имеют следующую структуру:
-
Определение
определение функции
-
Синтаксис
Допустимый синтаксис функции
Обратите внимание, что в отношении реляционных операторов важен порядок, в котором указываются параметры: первый параметр должен относиться к таблице, из которой берется выборка, а второй – к таблице, которая будет использоваться в качестве фильтра.
-
Возвращаемый тип
Тип возвращаемых данных при использовании той или иной функции
-
Примеры
Примеры сценариев, которые используют заданную функцию
Примеры в этом разделе не строят пространственные индексы созданных таблиц. Если необходимо создать пространственный индекс, обратитесь к инструкциям в разделе Создание пространственных индексов в таблицах со столбцом ST_Geometry.
Перечень SQL-функций
Щелкните на ссылке ниже, чтобы перейти к функциям, которые вы можете использовать с ST_Geometry в Oracle и PostgreSQL.
При использовании функций ST_Geometry в Oracle, вам необходимо указывать функции и операторы с использованием префикса sde. Например, ST_Buffer будет выглядеть как sde.ST_Buffer. Добавление префикса sde. указывает программному обеспечению, что эта функция хранится в схеме пользователя sde. Для PostgreSQL использование префикса необязательно, но хорошей практикой считается его добавление.
Для получения информации о пространственных типах, отличных от ST_Geometry, например, тип геометрии PostGIS или тип геометрии Oracle SDO, обратитесь к документации по пространственным типам в PostGIS и Oracle, в которой можно найти сведения о функциях, используемых каждым из этих типов. Документацию PostGIS можно найти на сайте www.postgis.org. Документация по Oracle доступна на веб-сайте Oracle.
Функции ST_Geometry SQL могут быть сгруппированы по виду их использования.
Функции конструктора
Функции конструктора получают один тип геометрии или текстовое описание геометрии и создают геометрию.
ST_Curve (только в Oracle) |
ST_GeomCollFromShape (только в PostgreSQL) |
ST_GeomCollFromWKB (только в PostgreSQL) |
ST_GeomFromShape (только в PostgreSQL) |
ST_GeomFromText (только в Oracle) |
ST_LineFromShape (только в PostgreSQL) |
ST_LineFromText (только в Oracle) |
ST_MLineFromShape (только в PostgreSQL) |
ST_MLineFromText (только в Oracle) |
ST_MPointFromShape (только в PostgreSQL) |
ST_MPointFromText (только в Oracle) |
ST_MPolyFromText (только в Oracle) |
ST_MultiCurve (только в Oracle) |
ST_MultiSurface (только в Oracle) |
ST_PointFromShape (только в PostgreSQL) |
ST_PointFromText (только в Oracle) |
ST_PolyFromShape (только в PostgreSQL) |
ST_PolyFromText (только в Oracle) |
ST_Surface (только в Oracle) |
Функции метода доступа
Ниже приводится несколько функций, которые используют в качестве входного параметра геометрию или несколько геометрий и возвращают определенную информацию о них.
Некоторые из этих функций проверяют, удовлетворяет ли объект или несколько объектов заданному критерию. Если геометрия удовлетворяет критерию, функция возвращает значение 1 или t (TRUE). Если геометрия не удовлетворяет критерию, функция возвращает значение 0 или f (FALSE).
ST_Entity (только в Oracle) |
ST_GeoSize (только в PostgreSQL) |
ST_Is3d (только в Oracle) |
ST_IsMeasured (только в Oracle) |
Реляционные функции (отношения)
Реляционные функции получают в качестве входного параметра геометрии объектов и определяют, существует ли определенное отношение между ними. Если выполнены условия пространственного отношения, эти функции возвращают 1 или t (TRUE). Если условия не выполнены (не существует никакого отношения), эти функции возвращают 1 или f (FALSE).
ST_EnvIntersects (только в Oracle) |
Функции геометрии
Эти функции получают пространственные данные, выполняют на их основе анализ, и возвращают новые пространственные данные.
ST_Aggr_ConvexHull (только в Oracle) |
ST_Aggr_Intersection (только в Oracle) |
ST_Aggr_Union (только в Oracle) |
ST_Equalsrs (только в PostgreSQL) |