Краткий обзор SQL-функций, используемых с ST_Geometry
Специальные функции и типы SQL создаются, когда вы:
- Создаете базу геоданных в базе данных Oracle или PostgreSQL.
- Устанавливаете тип пространственных данных ST_Geometry в базе данных Oracle или PostgreSQL.
- Создаете базу данных SQLite, используя функцию ArcPy createSQLiteDatabase, и указываете тип пространственных данных ST_Geometry.
В базах данных Oracle или PostgreSQL тип ST_Geometry и его функции создаются в схеме пользователя sde. В SQLite, тип и функции хранятся в библиотеке, которую необходимо загрузить до выполнения SQL-запроса к базе данных SQLite.
В этом разделе справки приводится список и описание функций, доступных для использования с типом пространственных данных ST_Geometry. Темы, посвященные функциям, структурированы следующим образом.
-
Определение
Определение функции
-
Синтаксис
Допустимый синтаксис функции
Обратите внимание, что в отношении реляционных операторов важен порядок, в котором указываются параметры: первый параметр должен относиться к таблице, из которой берется выборка, а второй – к таблице, которая будет использоваться в качестве фильтра.
-
Возвращаемый тип
Тип возвращаемых данных при использовании функции
-
Пример
Примеры, в которых используется указанная функция
Примеры в этом разделе не строят пространственные индексы созданных таблиц. Если необходимо создать пространственный индекс, обратитесь к инструкциям в разделе Создание пространственных индексов в таблицах со столбцом ST_Geometry.
Перечень SQL-функций
Щелкните на ссылке ниже, чтобы перейти к функциям, которые вы можете использовать с типом ST_Geometry в Oracle, PostgreSQL и SQLite.
При использовании функций ST_Geometry в Oracle, вам необходимо указывать функции и операторы с использованием префикса sde. Например, ST_Buffer будет выглядеть как sde.ST_Buffer. Добавление префикса sde. указывает программному обеспечению, что эта функция хранится в схеме пользователя sde. Для PostgreSQL использование префикса необязательно, но хорошей практикой считается его добавление. Не включайте квалификацию при использовании функций с SQLite, поскольку схема sde в базах данных SQLite отсутствует.
Для получения информации о пространственных типах, отличных от ST_Geometry, например, тип геометрии PostGIS или тип геометрии Oracle SDO, обратитесь к документации по пространственным типам в PostGIS и Oracle, в которой можно найти сведения о функциях, используемых каждым из этих типов. Документацию PostGIS можно найти на сайте www.postgis.org. Документация по Oracle доступна на веб-сайте Oracle.
Функции ST_Geometry SQL могут быть сгруппированы по виду их использования.
Функции конструктора
Функции конструктора получают один тип геометрии или текстовое описание геометрии и создают геометрию. В следующей таблице перечислены функции построения и указана их поддержка различными реализациями ST_Geometry.
Функция | Oracle | PostgreSQL | SQLite |
---|---|---|---|
X | X | ||
X | X | ||
X | |||
X | |||
X | X | X | |
X | |||
X | X | ||
X | |||
X | X | ||
X | X | X | |
X | X | X | |
X | |||
X | X | ||
X | X | X | |
X | |||
X | X | ||
X | X | X | |
X | X | ||
X | X | X | |
X | |||
X | X | X | |
X | X | X | |
X | X | X | |
X | |||
X | X | X | |
X | |||
X | X | ||
X | X | X | |
X | |||
X | X | ||
X | X | X | |
X | X | X | |
X | X |
Функции метода доступа
Ниже приводится несколько функций, которые используют в качестве входного параметра геометрию или несколько геометрий и возвращают определенную информацию о них.
Некоторые из этих функций проверяют, удовлетворяет ли объект или несколько объектов заданному критерию. Если геометрия удовлетворяет критерию, функция возвращает значение 1 или t (TRUE). Если геометрия не удовлетворяет критерию, функция возвращает значение 0 или f (FALSE).
Эти функции применяются ко всем реализациям, если не указано обратное.
ST_Entity (только Oracle и SQLite) |
ST_GeoSize (только в PostgreSQL) |
ST_Is3d (только Oracle и SQLite) |
ST_IsMeasured (только Oracle и SQLite) |
Реляционные функции
Реляционные функции получают в качестве входного параметра геометрии объектов и определяют, существует ли определенное отношение между ними. Если выполнены условия пространственного отношения, эти функции возвращают 1 или t (TRUE). Если условия не выполнены (не существует никакого отношения), эти функции возвращают 1 или f (FALSE).
Эти функции применяются ко всем реализациям, если не указано обратное.
ST_EnvIntersects (только Oracle и SQLite) |
ST_OrderingEquals (только Oracle и PostgreSQL |
Функции геометрии
Эти функции получают пространственные данные, выполняют на их основе анализ, и возвращают новые пространственные данные.
Эти функции применяются ко всем реализациям, если не указано обратное.
ST_Aggr_ConvexHull (только Oracle и SQLite) |
ST_Aggr_Intersection (только Oracle и SQLite) |
ST_Aggr_Union (только Oracle и SQLite) |
ST_Equalsrs (только в PostgreSQL) |