Teilen über


GEOMETRY-Typ

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

Important

Dieses Feature befindet sich in der Public Preview.

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

Eisbergtabellen unterstützen keine GEOMETRY Spalten.

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