Sdílet prostřednictvím


Geoprostorové funkce ST

Platí pro:check označený jako ano Kontrola SQL Databricks označená jako ano Databricks Runtime 17.1 a vyšší

Important

Tato funkce je ve verzi Public Preview.

Geoprostorové funkce ST pracují s objekty typu GEOGRAPHY nebo GEOMETRY a umožňují vytvářet GEOGRAPHY a GEOMETRY hodnoty ze standardních nebo oblíbených geoprostorových formátů nebo exportovat GEOGRAPHY a GEOMETRY hodnoty do standardních nebo oblíbených geoprostorových formátů.

Viz také:

Import funkcí Databricks pro získání funkcí ST (Databricks Runtime)

Pro Databricks SQL a Spark SQL není potřeba žádný import.

K importu funkcí ST pro Python nebo Scala v poznámkových blocích použijte následující příkazy:

Python

from pyspark.databricks.sql import functions as dbf

Scala

import com.databricks.sql.functions._

Seznam geoprostorových funkcí ST (Databricks SQL)

Import

Function Description
st_geogfromgeojson(geojsonExpr) GEOGRAPHY(4326) Vrátí hodnotu z jeho reprezentace GeoJSON.
st_geogfromtext(wktExpr) GEOGRAPHY(4326) Vrátí hodnotu z reprezentace WKT.
st_geogfromwkb(wktExpr) Hodnota GEOGRAPHY(4326) je vrácena z reprezentace WKB.
st_geogfromwkt(wktExpr) GEOGRAPHY(4326) Vrátí hodnotu z reprezentace WKT.
st_geomfromewkb(wktExpr) GEOMETRY(ANY) Vrátí hodnotu z reprezentace EWKB.
st_geomfromgeohash(geohashExpr) Vrátí pole mřížky geohash odpovídající vstupní hodnotě geohash jako hodnotu 2D mnohoúhelníku GEOMETRY .
st_geomfromgeojson(geojsonExpr) GEOMETRY(4326) Vrátí hodnotu z jeho reprezentace GeoJSON.
st_geomfromtext(wktExpr[, sridExpr]) GEOMETRY(srid) nebo GEOMETRY(ANY) vrátí hodnotu ze své WKT reprezentace a hodnotu SRID nastaví na hodnotu sridExpr nebo 0, pokud je sridExpr vynechána.
st_geomfromwkb(wkbExpr[, sridExpr]) GEOMETRY(srid) nebo GEOMETRY(ANY) vrátí hodnotu z reprezentace WKB a nastaví hodnotu SRID na hodnotu sridExpr nebo 0, pokud je sridExpr vynecháno.
st_geomfromwkt(wktExpr[, sridExpr]) GEOMETRY(srid) nebo GEOMETRY(ANY) vrátí hodnotu ze své WKT reprezentace a hodnotu SRID nastaví na hodnotu sridExpr nebo 0, pokud je sridExpr vynechána.
st_pointfromgeohash(geohash) Vrátí střed pole mřížky geohash odpovídající vstupní hodnotě geohash jako geometrii 2D bodů.
to_geography(georepExpr) GEOGRAPHY(ANY) Vrátí hodnotu z reprezentace GeoJSON, WKB nebo WKT.
to_geometry(georepExpr) Vrátí hodnotu z její reprezentace ve formátu EWKB, GeoJSON, WKB nebo WKT.
try_to_geography(georepExpr) GEOGRAPHY(ANY) Vrátí hodnotu z reprezentace GeoJSON, WKB nebo WKT nebo NULL pokud je vstupní reprezentace neplatná.
try_to_geometry(georepExpr) GEOMETRY(ANY) Vrátí hodnotu z reprezentace EWKB, GeoJSON, WKB nebo WKT nebo NULL pokud je vstupní reprezentace neplatná.

Export

Function Description
st_asbinary(geoExpr) Vrátí reprezentaci WKB hodnoty vstupu GEOGRAPHY nebo GEOMETRY jako hodnoty BINARY.
st_asewkb(geoExpr) Vrátí reprezentaci EWKB vstupní GEOMETRY hodnoty jako BINARY hodnoty.
st_asgeojson(geoExpr) Vrací GeoJSON reprezentaci vstupu GEOGRAPHY nebo GEOMETRY hodnoty jako hodnota STRING.
st_asewkt(geoExpr) Vrátí EWKT reprezentaci hodnoty vstupu GEOGRAPHY nebo GEOMETRY jako hodnotu STRING.
st_astext(geoExpr) Vrátí reprezentaci WKT vstupu GEOGRAPHY nebo GEOMETRY hodnoty jako hodnotu STRING.
st_aswkb(geoExpr) Vrátí reprezentaci WKB hodnoty vstupu GEOGRAPHY nebo GEOMETRY jako hodnoty BINARY.
st_aswkt(geoExpr) Vrátí reprezentaci WKT vstupu GEOGRAPHY nebo GEOMETRY hodnoty jako hodnotu STRING.
st_geohash(geoExpr [; precisionExpr]) Vrátí geohash vstupní geometrie s danou přesností.

Measurements

Function Description
st_area(geoExpr) Vrátí oblast vstupu GEOGRAPHY nebo GEOMETRY hodnoty.
st_distance(geoExpr1, geoExpr2) Vrátí 2D kartézskou vzdálenost mezi dvěma vstupními GEOMETRY hodnotami.
st_distancesphere(geoExpr1, geoExpr2) Vrátí kulovou vzdálenost (v metrech) mezi dvěma bodovými GEOMETRY hodnotami měřenou na kouli, jejíž poloměr je střední poloměr elipsoidu WGS84.
st_distancespheroid(geoExpr1, geoExpr2) Vrátí geodesickou vzdálenost (v metrech) mezi hodnotami dvou bodů GEOMETRY na elipsoidu WGS84.
st_length(geoExpr) Vrátí délku hodnoty GEOGRAPHY nebo GEOMETRY.
st_perimeter(geoExpr) Vrátí obvod hodnoty GEOGRAPHY nebo GEOMETRY vstupu.

Constructors

Function Description
st_makeline(geoArray) Vrátí hodnotu přímky GEOMETRY , jejíž body jsou neprázdné body geometrie ve vstupním poli geometrie, které mají být body, spojnice nebo více bodů.
st_makepolygon(vnější[; innerArray]) Vytvoří mnohoúhelníkovou GEOMETRY hodnotu z vstupní vnější hranice a volitelného pole vnitřních hranic, které jsou reprezentovány jako uzavřené liniové úseky.
st_point(x; y [; srid]) Vrátí hodnotu bodu GEOMETRY s danými souřadnicemi X a Y a hodnotou SRID (pokud je zadána).

Accessors

Function Description
st_dimension(geoExpr) Vrátí topologický rozměr 2D projekce GEOMETRY hodnoty.
st_dump(geoExpr) Vrátí pole obsahující jednotlivé geometrické prvky ve vstupní geometrii.
st_endpoint(geoExpr) Vrátí poslední bod vstupu hodnoty GEOGRAPHY nebo GEOMETRY, pokud je vstupní geoprostorová hodnota neprázdným liniovým řetězcem.
st_envelope(geoExpr) Vrátí 2D kartézskou GEOMETRY hodnotu představující minimální ohraničující obálku zarovnanou s osami, která zahrnuje vstupní GEOMETRY hodnotu.
st_envelope_agg(geoCol) Vrátí obálku všech geometrií ve sloupci nebo NULL pokud sloupec obsahuje nulové řádky nebo obsahuje pouze NULL hodnoty.
st_exteriorring(geoExpr) Vrátí vnější prstenec vstupního mnohoúhelníku GEOGRAPHY nebo GEOMETRY jako přímku.
st_geometryn(geoExpr, nExpr) Vrátí 1-označený n-tý prvek hodnoty vstupního GEOMETRY jako GEOMETRY hodnotu.
st_geometrytype(geoExpr) Vrátí typ hodnoty GEOGRAPHY nebo GEOMETRY jako řetězec.
st_interiorringn(geoExpr, indexExpr) Vrátí n-tý vnitřní prstenec vstupního mnohoúhelníku GEOGRAPHY nebo GEOMETRY jako spojnicový řetězec.
st_isempty(geoExpr) Vrátí hodnotu true, pokud zadaná GEOGRAPHY nebo hodnota GEOMETRY neobsahuje žádné neprázdné body.
st_m(geoExpr) Vrátí souřadnici M hodnoty vstupního bodu GEOMETRY nebo hodnotu NULL, pokud je bod prázdný nebo nemá souřadnici M.
st_ndims(geoExpr) Vrátí souřadnicový rozměr vstupu GEOGRAPHY nebo GEOMETRY hodnoty.
st_npoints(geoExpr) Vrátí počet neprázdných bodů ve vstupní hodnotě GEOGRAPHY nebo GEOMETRY.
st_numgeometries(geoExpr) Vrátí počet geometrií ve vstupní GEOMETRY hodnotě.
st_numinteriorrings(geoExpr) Vrátí počet vnitřních kroužků ve vstupním mnohoúhelníku GEOGRAPHY nebo GEOMETRY hodnotě.
st_pointn(geoExpr, indexExpr) Vrátí n-tý bod ze vstupního řetězce GEOGRAPHY nebo GEOMETRY hodnoty.
st_startpoint(geoExpr) Vrátí první bod hodnoty vstupu GEOGRAPHY nebo GEOMETRY, pokud je vstupní geoprostorová hodnota neprázdný liniový řetězec.
st_x(geoExpr) Vrátí souřadnici X hodnoty vstupního bodu GEOMETRY nebo NULL pokud je bod prázdný.
st_xmax(geoExpr) Vrátí maximální souřadnici X vstupní GEOMETRY hodnoty nebo NULL pokud je geometrie prázdná.
st_xmin(geoExpr) Vrátí minimální souřadnici X vstupní GEOMETRY hodnoty nebo NULL pokud je geometrie prázdná.
st_y(geoExpr) Vrátí souřadnici Y hodnoty vstupního bodu GEOMETRY nebo NULL pokud je bod prázdný.
st_ymax(geoExpr) Vrátí maximální souřadnici Y vstupní GEOMETRY hodnoty nebo NULL pokud je geometrie prázdná.
st_ymin(geoExpr) Vrátí minimální souřadnici Y vstupní GEOMETRY hodnoty nebo NULL pokud je geometrie prázdná.
st_z(geoExpr) Vrátí souřadnici Z hodnoty vstupního bodu GEOMETRY nebo NULL pokud je bod prázdný nebo nemá souřadnici Z.
st_zmax(geoExpr) Vrátí maximální souřadnici Z vstupní GEOMETRY hodnoty nebo NULL pokud je geometrie prázdná nebo nemá souřadnici Z.
st_zmin(geoExpr) Vrátí minimální souřadnici Z vstupní GEOMETRY hodnoty nebo NULL pokud je geometrie prázdná nebo nemá souřadnici Z.

Editors

Function Description
st_addpoint(geo1Expr, geo2Expr[, indexExpr]) Přidá nový bod na n-tou pozici ve vstupním liniovém řetězci GEOGRAPHY nebo GEOMETRY hodnotě.
st_flipcoordinates(geoExpr) Prohodí souřadnice X a Y vstupní GEOMETRY hodnoty.
st_multi(geoExpr) Vrátí vstupní hodnotu GEOGRAPHY nebo GEOMETRY jako ekvivalentní vícegeoprostorovou hodnotu.
st_removepoint(geoExpr, indexExpr) Odebere n-tý bod ze vstupního řetězce GEOGRAPHY nebo GEOMETRY hodnoty.
st_reverse(geoExpr) Obrátí hodnotu GEOGRAPHY nebo GEOMETRY.
st_setpoint(geo1Expr, indexExpr, geo2Expr) Nastaví n-tý bod vstupního řetězce GEOGRAPHY nebo GEOMETRY hodnoty.

Ověření geometrie

Function Description
st_isvalid(geoExpr) Vrátí hodnotu true, pokud je vstupní GEOMETRY hodnota platnou geometrií ve smyslu OGC.

Funkce prostorového referenčního systému

Function Description
st_setsrid(geo, srid) Vrátí novou GEOMETRY hodnotu, jejíž SRID je zadaná hodnota SRID.
st_srid(geoExpr) Vrátí SRID zadané hodnoty GEOGRAPHY nebo GEOMETRY.
st_transform(geo, srid) Transformuje souřadnice X a Y vstupu GEOMETRY z aktuálního referenčního systému souřadnic na referenční systém souřadnic popsaný zadanou hodnotou SRID.

Relace vzdálenosti

Function Description
st_dwithin(geoExpr1, geoExpr2, distanceExpr) Vrátí hodnotu true, pokud je 2D kartézská vzdálenost mezi těmito dvěma vstupními GEOMETRY hodnotami menší nebo rovna vstupní hodnotě vzdálenosti.

Topologické relace

Function Description
st_contains(geo1, geo2) Vrátí hodnotu true, pokud první GEOMETRY hodnota obsahuje druhou GEOMETRY hodnotu.
st_covers(geoExpr1, geoExpr2) Vrátí hodnotu true, pokud první GEOMETRY hodnota pokrývá druhou GEOMETRY hodnotu.
st_disjoint(geoExpr1, geoExpr2) Vrátí true , pokud jsou dvě vstupní GEOMETRY hodnoty oddělené.
st_equals(geoExpr1, geoExpr2) Vrátí hodnotu true, pokud jsou dvě vstupní GEOMETRY hodnoty geometricky stejné, což znamená, že odpovídají stejné množině bodů.
st_intersects(geoExpr1, geoExpr2) Vrátí hodnotu true, pokud se obě vstupní GEOMETRY hodnoty protínají.
st_touches(geo1; geo2) Vrátí hodnotu true, pokud se obě vstupní GEOMETRY hodnoty vzájemně dotknou.
st_within(geo1; geo2) Vrátí hodnotu true, pokud je první GEOMETRY hodnota v rámci druhé GEOMETRY hodnoty.

Překryvné funkce

Function Description
st_difference(geoExpr1, geoExpr2) Vrátí rozdíl dvou vstupních množin bodů ve formě 2D GEOMETRY hodnoty.
st_intersection(geoExpr1, geoExpr2) Vrátí průsečík množiny bodů dvou vstupních GEOMETRY hodnot jako 2D GEOMETRY hodnotu.
st_union(geo1; geo2) Vrátí bodovou množinu sjednocenou ze dvou vstupních GEOMETRY hodnot jako 2D geometrii.
st_union_agg(geoCol) Vrátí bodové sjednocení všech geometrií ve sloupci, nebo NULL pokud sloupec má nula řádků nebo obsahuje pouze NULL hodnoty.

Affinové transformace

Function Description
st_rotate(geoExpr, rotationAngle) Otočí vstupní GEOMETRY hodnotu kolem osy Z podle daného úhlu otočení (v radiánech).
st_scale(geoExpr, xfactor, yfactor[, zfactor]) Škáluje vstupní GEOMETRY hodnotu v směrech X, Y a v případě zadání směrů Z pomocí zadaných faktorů škálování.
st_translate(geoExpr, xoffset, yoffset[, zoffset]) Přeloží vstupní GEOMETRY hodnotu ve směrech X, Y a, pokud je zadáno, Z pomocí zadaných posunů.

Zpracování geometrie

Function Description
st_buffer(geoExpr, radiusExpr) Vrátí vyrovnávací paměť vstupní GEOMETRY hodnoty pomocí zadaného poloměru.
st_centroid(geoExpr) Vrátí centroid vstupní GEOMETRY hodnoty jako hodnotu 2D bodu GEOMETRY .
st_concavehull(geoExpr, lengthRatioExpr[, allowHolesExpr]) Vrátí konkávní obal vstupní hodnoty GEOMETRY jako hodnotu GEOMETRY, pomocí zadaného poměru délky.
st_convexhull(geoExpr) Vrátí konvexní obal vstupní GEOMETRY hodnoty jako GEOMETRY hodnotu.
st_simplify(geo, tolerance) Zjednodušuje vstupní GEOMETRY hodnotu pomocí algoritmu Douglas-Peucker.