Специальные функции и типы 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 отсутствует.
Когда вы задаете текстовую строку в формате WKT в качестве входной для функции ST_Geometry SQL, можно использовать научные нотации для задания очень больших или очень малых значений. Например, если вы задаете координаты, используя WKT, при создании нового объекта, и одна из координат имеет значение 0.000023500001816501026, можно ввести 2.3500001816501026e-005.
Функции ST_Geometry SQL могут быть сгруппированы по виду их использования.
Функции конструктора
Функции конструктора получают один тип геометрии или текстовое описание геометрии и создают геометрию. В следующей таблице перечислены функции построения и указана их поддержка различными реализациями ST_Geometry.
Функции конструктора
Функция | Oracle | PostgreSQL | SQLite |
---|---|---|---|
Х | Х | ||
Х | Х | ||
Х | |||
Х | Х | Х | |
Х | Х | ||
Х | Х | ||
Х | Х | Х | |
Х | Х | Х | |
Х | Х | ||
Х | Х | Х | |
Х | Х | ||
Х | Х | Х | |
Х | Х | ||
Х | Х | Х | |
Х | |||
Х | Х | Х | |
Х | Х | Х | |
Х | Х | Х | |
Х | |||
Х | Х | Х | |
Х | Х | ||
Х | Х | Х | |
Х | Х | ||
Х | Х | Х | |
Х | Х | Х | |
Х | Х |
Функции метода доступа
Ниже приводится несколько функций, которые используют в качестве входного параметра геометрию или несколько геометрий и возвращают определенную информацию о них.
Некоторые из этих функций доступа проверяют, удовлетворяет ли объект или несколько объектов заданному критерию. Если геометрия удовлетворяет критерию, функция возвращает значение 1 или t (TRUE). Если геометрия не удовлетворяет критерию, функция возвращает значение 0 или f (FALSE).
Эти функции применяются ко всем реализациям, если не указано обратное.
Функции метода доступа
ST_GeomFromCollection (только для PostgreSQL) |
ST_GeoSize (только для PostgreSQL) |
ST_Is3d (только для Oracle и SQLite) |
ST_IsMeasured (только для Oracle и SQLite) |
Реляционные функции
Реляционные функции получают в качестве входного параметра геометрию объектов и определяют, существует ли определенное отношение между ними. Если выполнены условия пространственного отношения, эти функции возвращают 1 или t (TRUE). Если условия не выполнены (не существует никакого отношения), эти функции возвращают 1 или f (FALSE).
Эти функции применяются ко всем реализациям, если не указано обратное.
Реляционные функции
ST_DWithin (только для Oracle и PostgreSQL) |
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) |