Delen via


GEOMETRY soort

Van toepassing op:controleren gemarkeerd ja Databricks SQL-controle gemarkeerd als ja Databricks Runtime 17.1 en hoger

Important

Deze functie bevindt zich in openbare preview-versie.

Vertegenwoordigt een geometrisch object (punt, lijnentring, veelhoek, enzovoort) waarvan het coördinaatverwijzingssysteem Euclidaan is voor de eerste (X) en tweede (Y) coördinaten, evenals hun Z-coördinaat als deze bestaat. Het onderliggende coördinaatreferentiesysteem wordt beschreven door de SRID-waarde van het GEOMETRY type. Als het onderliggende coördinaatreferentiesysteem onbekend is, wordt de waarde 0 gebruikt. De eenheden van de X, Y, optioneel Z-coördinaten zijn die worden geïmpliceerd door de SRID (met uitzondering van de waarde 0 SRID, in welk geval het afhankelijk is van de gebruikscontext van de gebruiker).

Note

Iceberg-tabellen bieden geen ondersteuning voor GEOMETRY kolommen.

Syntax

GEOMETRY ( { srid | ANY } )

Limits

Een kolom van het type GEOMETRY(ANY) kan geometrieën bevatten waarvan de SRID-waarden per rij kunnen verschillen. Een kolom van het type GEOMETRY(ANY) kan niet worden behouden.

Ongeveer 11000 SRID-waarden worden ondersteund. Meer informatie over SRID. De gebruiker krijgt een ST_INVALID_SRID_VALUE fout als hij probeert een GEOMETRY kolom te definiëren met een niet-ondersteunde SRID-waarde.

Literals

Zie voor meer informatie over het maken van een GEOMETRY waarde:

Notes

  • Als u een GEOMETRY waarde wilt converteren naar een van de georuimtelijke standaard- of veelgebruikte indelingen, kunt u het volgende gebruiken:

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