Специальные функции и типы SQL создаются, когда вы:
- Создаете базу геоданных в базе данных Oracle или PostgreSQL.
- Устанавливаете тип пространственных данных ST_Geometry в базе данных Oracle или PostgreSQL.
- Создаете базу данных SQLite, используя функцию ArcPy createSQLiteDatabase, и указываете тип пространственных данных ST_Geometry.
В базах данных Oracle или PostgreSQL тип ST_Geometry и его функции создаются в схеме пользователя sde. В SQLite, тип и функции хранятся в библиотеке, которую необходимо загрузить до выполнения SQL-запроса к базе данных SQLite.
В этом разделе справки приводится список и описание функций, доступных для использования с типом пространственных данных 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 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 |
Функции метода доступа
Ниже приводится несколько функций, которые используют в качестве входного параметра геометрию или несколько геометрий и возвращают определенную информацию о них.
Некоторые из этих функций доступа проверяют, удовлетворяет ли объект или несколько объектов заданному критерию. Если геометрия удовлетворяет критерию, функция возвращает значение 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) |