Поделиться через


Геопространственные функции ST

Применяется к:check помеченный да флажок Databricks SQL помечен да Databricks Runtime 17.1 и более поздних версий

Important

Эта функция доступна в общедоступной предварительной версии.

Геопространственные функции ST работают с объектами типа GEOGRAPHY и/или GEOMETRY, или позволяют создавать значения GEOGRAPHY и GEOMETRY из стандартных или популярных геопространственных форматов, или экспортировать значения GEOGRAPHY и GEOMETRY в стандартные или популярные геопространственные форматы.

См. также:

Импорт функций Databricks для получения функций ST (Среда выполнения Databricks)

Импорт не требуется для Databricks SQL и Spark SQL.

Чтобы импортировать функции ST для Python или Scala в записных книжках, используйте следующие команды:

Python

from pyspark.databricks.sql import functions as dbf

Scala

import com.databricks.sql.functions._

Список геопространственных функций ST (Databricks SQL)

Import

Function Description
st_geogfromgeojson(geojsonExpr) GEOGRAPHY(4326) Возвращает значение из представления GeoJSON.
st_geogfromtext(wktExpr) GEOGRAPHY(4326) Возвращает значение из его представления WKT.
st_geogfromwkb(wktExpr) Возвращает значение из его представления в формате WKB GEOGRAPHY(4326).
st_geogfromwkt(wktExpr) GEOGRAPHY(4326) Возвращает значение из его представления WKT.
st_geomfromewkb(wktExpr) Возвращает значение GEOMETRY(ANY) из его представления EWKB.
st_geomfromgeohash(geohashExpr) Возвращает сетку геохаша, соответствующую входному значению геохеша, в виде 2D-многоугольника GEOMETRY.
st_geomfromgeojson(geojsonExpr) GEOMETRY(4326) Возвращает значение из представления GeoJSON.
st_geomfromtext(wktExpr[, sridExpr]) GEOMETRY(srid) или GEOMETRY(ANY) возвращает значение из его WKT-представления и устанавливает его значение SRID в sridExpr, или в 0, если sridExpr опущено.
st_geomfromwkb(wkbExpr[, sridExpr]) GEOMETRY(srid) или GEOMETRY(ANY) значение возвращается из его представления WKB, и его значение SRID устанавливается в значение sridExpr, или 0, если sridExpr опущено.
st_geomfromwkt(wktExpr[, sridExpr]) GEOMETRY(srid) или GEOMETRY(ANY) возвращает значение из его WKT-представления и устанавливает его значение SRID в sridExpr, или в 0, если sridExpr опущено.
st_pointfromgeohash(геохаш) Возвращает центр ячейки сетки геохэша, соответствующей входному значению геохэша, в виде геометрии 2D-точки.
to_geography(georepExpr) GEOGRAPHY(ANY) Возвращает значение из представления GeoJSON, WKB или WKT.
to_geometry(georepExpr) Возвращает значение GEOMETRY(ANY) из представления EWKB, GeoJSON, WKB или WKT.
try_to_geography(georepExpr) GEOGRAPHY(ANY) Возвращает значение из своего представления GeoJSON, WKB или WKT, или NULL, если входное представление недопустимо.
try_to_geometry(georepExpr) GEOMETRY(ANY) Возвращает значение из своего представления EWKB, GeoJSON, WKB или WKT, или NULL если входное представление недопустимо.

Export

Function Description
st_asbinary(geoExpr) Возвращает WKB-представление значения GEOGRAPHY или GEOMETRY в виде значения BINARY.
st_asewkb(geoExpr) Представляет значение GEOMETRY в виде значения EWKB BINARY.
st_asgeojson(geoExpr) Возвращает представление GeoJSON входных GEOGRAPHY или GEOMETRY значений в качестве STRING значения.
st_asewkt(geoExpr) Возвращает представление EWKT входных GEOGRAPHY или GEOMETRY значений в качестве STRING значения.
st_astext(geoExpr) Возвращает WKT-представление вводимого значения GEOGRAPHY или GEOMETRY в виде значения STRING.
st_aswkb(geoExpr) Возвращает WKB-представление значения GEOGRAPHY или GEOMETRY в виде значения BINARY.
st_aswkt(geoExpr) Возвращает WKT-представление вводимого значения GEOGRAPHY или GEOMETRY в виде значения STRING.
st_geohash(geoExpr [, precisionExpr]) Возвращает геохашку входной геометрии с заданной точностью.

Measurements

Function Description
st_area(geoExpr) Возвращает область входных GEOGRAPHY или GEOMETRY значений.
st_distance(geoExpr1, geoExpr2) Возвращает декартово расстояние в 2D между двумя входными значениями GEOMETRY.
st_distancesphere(geoExpr1, geoExpr2) Возвращает сферическое расстояние (в метрах) между двумя значениями точек GEOMETRY , измеренное на сфере, радиус которого является средним радиусом многоточия WGS84.
st_distancespheroid(geoExpr1, geoExpr2) Возвращает геодезическое расстояние (в метрах) между двумя точками GEOMETRY на эллипсоиде WGS84.
st_length(geoExpr) Возвращает длину входных GEOGRAPHY или GEOMETRY значений.
st_perimeter(geoExpr) Возвращает периметр входных GEOGRAPHY или GEOMETRY значений.

Constructors

Function Description
st_makeline(geoArray) Возвращает значение линии GEOMETRY, точки которой являются непустые точки геометрий во входном массиве геометрий, которые должны быть точками, линиями или многоточками.
st_makepolygon(outer[, innerArray]) Создает многоугольник GEOMETRY на основе входной внешней границы и необязательного массива внутренних границ, представленных в виде замкнутых линий.
st_point(x, y [, srid]) Возвращает значение точки GEOMETRY с заданными координатами X и Y и значением SRID (при условии).

Accessors

Function Description
st_dimension(geoExpr) Возвращает топологическую размерность проекции значения GEOMETRY на 2D-пространство.
st_dump(geoExpr) Возвращает массив, содержащий отдельные геометрии в входной геометрии.
st_endpoint(geoExpr) Возвращает последнюю точку входных GEOGRAPHY или GEOMETRY значений, если входное геопространственное значение является непустой строкой.
st_envelope(geoExpr) Возвращает 2D-декартовое GEOMETRY значение, представляющее выровненное по оси 2D минимальное ограничивающее поле (конверт) входного GEOMETRY значения.
st_envelope_agg(geoCol) Возвращает предел всех геометрий в столбце или NULL, если столбец не содержит строк или содержит только NULL значение.
st_exteriorring(geoExpr) Возвращает внешнее кольцо входного многоугольника GEOGRAPHY или GEOMETRY в виде линии.
st_geometryn(geoExpr, nExpr) Возвращает n-й элемент входного значения GEOMETRY как значение GEOMETRY.
st_geometrytype(geoExpr) Возвращает тип входных GEOGRAPHY или GEOMETRY значений в виде строки.
st_interiorringn(geoExpr, indexExpr) Возвращает n-ое внутреннее кольцо входного многоугольника GEOGRAPHY или GEOMETRY в виде линии.
st_isempty(geoExpr) Возвращает значение true, если входные GEOGRAPHY или GEOMETRY значения не содержат пустые точки.
st_m(geoExpr) Возвращает координату M входной точки GEOMETRY или NULL, если точка пуста или не имеет координатЫ M.
st_ndims(geoExpr) Возвращает измерение координат входных GEOGRAPHY или GEOMETRY значений.
st_npoints(geoExpr) Возвращает количество непустых точек в входных GEOGRAPHY или GEOMETRY значениях.
st_numgeometries(geoExpr) Возвращает количество геометрий в входном GEOMETRY значении.
st_numinteriorrings(geoExpr) Возвращает количество внутренних колец во входном многоугольнике GEOGRAPHY или GEOMETRY значении.
st_pointn(geoExpr, indexExpr) Возвращает n-ую точку из входной линии GEOGRAPHY или GEOMETRY значения.
st_startpoint(geoExpr) Возвращает первую точку входных GEOGRAPHY или GEOMETRY значений, если входное геопространственное значение является непустой строкой.
st_x(geoExpr) Возвращает координату X значение входной точки GEOMETRY или NULL, если точка пуста.
st_xmax(geoExpr) Возвращает максимальную координату X входного GEOMETRY значения или NULL если геометрия пуста.
st_xmin(geoExpr) Возвращает минимальную координату X входного GEOMETRY значения или NULL если геометрия пуста.
st_y(geoExpr) Возвращает значение координаты Y входной точки GEOMETRY или значение NULL, если точка пуста.
st_ymax(geoExpr) Возвращает максимальную координату Y входного GEOMETRY значения или NULL если геометрия пуста.
st_ymin(geoExpr) Возвращает минимальную координату Y входного GEOMETRY значения или NULL если геометрия пуста.
st_z(geoExpr) Возвращает координату Z значения входной точки GEOMETRY или NULL если точка пуста или не имеет координаты Z.
st_zmax(geoExpr) Возвращает максимальную координату Z входного GEOMETRY значения или если геометрия пуста или NULL не имеет координаты Z.
st_zmin(geoExpr) Возвращает минимальную координату Z входного GEOMETRY значения или NULL если геометрия пуста или не имеет координаты Z.

Editors

Function Description
st_addpoint(geo1Expr, geo2Expr[, indexExpr]) Добавляет новую точку на n-ую позицию в входной линейной строке GEOGRAPHY или в значении GEOMETRY.
st_flipcoordinates(geoExpr) Переключает координаты X и Y входного GEOMETRY значения.
st_multi(geoExpr) Возвращает входное значение GEOGRAPHY или GEOMETRY как эквивалентное многопространственное значение.
st_removepoint(geoExpr, indexExpr) Удаляет n-ю точку из входной линии GEOGRAPHY или GEOMETRY.
st_reverse(geoExpr) Отменяет входные или GEOGRAPHYGEOMETRY значения.
st_setpoint(geo1Expr, indexExpr, geo2Expr) Задает n-ю точку входной полилинии GEOGRAPHY или значение GEOMETRY.

Проверка геометрии

Function Description
st_isvalid(geoExpr) Возвращает значение true, если входное GEOMETRY значение является допустимой геометрией в смысле OGC.

Функции системы пространственных ссылок

Function Description
st_setsrid(гео, срид) Возвращает новое GEOMETRY значение, SRID которого является указанным значением SRID.
st_srid(geoExpr) Возвращает SRID входных GEOGRAPHY или GEOMETRY значений.
st_transform(geo, srid) Преобразует координаты X и Y входных данных GEOMETRY из текущей эталонной системы координат в систему ссылок координат, описанную указанным значением SRID.

Связи расстояния

Function Description
st_dwithin(geoExpr1, geoExpr2, distanceExpr) Возвращает значение true, если 2D-декартовое расстояние между двумя входными значениями меньше или равно значению входного GEOMETRY расстояния.

Топологические связи

Function Description
st_contains(geo1, geo2) Возвращает значение true, если первое GEOMETRY значение содержит второе GEOMETRY значение.
st_covers(geoExpr1, geoExpr2) Возвращает значение true, если первое значение охватывает второе GEOMETRYGEOMETRY значение.
st_disjoint(geoExpr1, geoExpr2) Возвращает, true если два входных GEOMETRY значения являются несвязанными.
st_equals(geoExpr1, geoExpr2) Возвращает значение true, если два входных GEOMETRY значения геометрически равны, то есть они соответствуют одному и тому же набору точек.
st_intersects(geoExpr1, geoExpr2) Возвращает значение true, если два входных GEOMETRY значения пересекаются.
st_touches(geo1, geo2) Возвращает значение true, если два входных GEOMETRY значения касаются друг друга.
st_within(geo1, geo2) Возвращает значение true, если первое значение находится во втором GEOMETRYGEOMETRY значении.

Функции наложения

Function Description
st_difference(geoExpr1, geoExpr2) Возвращает множество точек, представляющее разность двух входных значений GEOMETRY, в виде 2D-значения GEOMETRY.
st_intersection(geoExpr1, geoExpr2) Возвращает пересечение между точками двух входных GEOMETRY значений в виде 2D-значения GEOMETRY .
st_union(geo1, geo2) Возвращает объединение точек двух входных GEOMETRY значений в виде 2D-геометрии.
st_union_agg(geoCol) Возвращает точечный союз всех геометрий в столбце или NULL если столбец имеет нулевые строки или содержит только NULL значения.

Аффинные преобразования

Function Description
st_rotate(geoExpr, rotationAngle) Вращает входное GEOMETRY значение вокруг оси Z на заданный угол поворота (в радианах).
st_scale(geoExpr, xfactor, yfactor[, zfactor]) Масштабирует входное GEOMETRY значение в направлениях X, Y и, если указано, Z с помощью указанных факторов масштабирования.
st_translate(geoExpr, xoffset, yoffset[, zoffset]) Преобразует входное GEOMETRY значение по направлениям X, Y и, если указано, Z с использованием заданных смещений.

Обработка геометрии

Function Description
st_buffer(geoExpr, radiusExpr) Возвращает буфер входного GEOMETRY значения с помощью указанного радиуса.
st_centroid(geoExpr) Возвращает центроид входного GEOMETRY значения в виде значения 2D-точки GEOMETRY .
st_concavehull(geoExpr, lengthRatioExpr[, allowHolesExpr]) Возвращает вогнутую оболочку значения GEOMETRY в виде значения GEOMETRY, используя указанное соотношение длины.
st_convexhull(geoExpr) Возвращает выпуклую оболочку входного GEOMETRY значения в виде GEOMETRY значения.
st_simplify(гео, терпимость) Упрощает входное GEOMETRY значение с помощью алгоритма Douglas-Peucker.