GEOMETRY-Typ

Gilt für:check marked yes Databricks SQL check marked yes Databricks Runtime 17.1 and above

Stellt ein geometrisches Objekt (Punkt, Linienzeichenfolge, Polygon usw.) dar, dessen Koordinatenbezugssystem Euklidean für die ersten (X)- und zweiten (Y)-Koordinaten sowie deren Z-Koordinate ist, falls vorhanden. Das zugrunde liegende Koordinatenverweissystem wird vom SRID-Wert des GEOMETRY Typs beschrieben. Wenn das zugrunde liegende Koordinatenverweissystem unbekannt ist, wird der Wert 0 verwendet. Die Einheiten der X-, Y-, optional Z-Koordinaten sind diejenigen, die von der SRID impliziert werden (mit Ausnahme des SRID-Werts 0 , in dem der Fall vom Verwendungskontext des Benutzers abhängt).

Note

GEOMETRY Spalten werden nicht als Dimensionen in Metrikansichten oder materialisierten Lakeflow Spark Declarative Pipelines-Ansichten unterstützt, da diese Kontexte Unterstützung erfordern GROUP BY , welche Geospatialdaten derzeit nicht bereitgestellt werden. Um Geospatialdaten in einer Metrikansicht zu verwenden, fügen Sie die Spalte als Maß anstelle einer Dimension hinzu.

Syntax

GEOMETRY ( { srid | ANY } )

Limits

Eine Spalte vom Typ GEOMETRY(ANY) kann Geometrien enthalten, deren SRID-Werte pro Zeile unterschiedlich sein können. Eine Spalte vom Typ GEOMETRY(ANY) kann nicht beibehalten werden.

Ca. 11000 SRID-Werte werden unterstützt. Erfahren Sie mehr über SRID. Der Benutzer erhält einen ST_INVALID_SRID_VALUE Fehler, wenn er versucht, eine GEOMETRY Spalte mit einem nicht unterstützten SRID-Wert zu definieren.

Literals

Ausführliche Informationen zum Erstellen eines GEOMETRY Werts finden Sie unter:

Notes

  • So konvertieren Sie einen GEOMETRY Wert in eines der geospatialen Standardformate oder weit verbreiteten Formate, die Sie verwenden können:

Examples

> SELECT hex(st_asbinary(st_geomfromtext('POINT(1 2)')));
  0101000000000000000000f03f0000000000000040

> SELECT st_asewkt(st_geomfromwkb(X'0101000000000000000000f03f0000000000000040'));
  POINT(1 2)

> SELECT st_asgeojson(st_geomfromtext('POINT(1 2)'));
  {"type":"Point","coordinates":[[1,2]]}

> SELECT st_astext(st_geomfromgeojson('{"type":"Point","coordinates":[[1,2]]}'));
  POINT(1 2)

> SELECT st_astext(to_geometry('{"type":"Point","coordinates":[[1,2]]}'));
  POINT(1 2)

> SELECT try_to_geometry('not a geometry value');
  NULL