Kategorien:

Geodatenfunktionen, Konvertierungsfunktionen

TRY_TO_GEOMETRY

Analysiert eine Eingabe und gibt einen Wert vom Typ GEOMETRY zurück.

Diese Funktion ist im Wesentlichen identisch mit TO_GEOMETRY, außer dass sie NULL zurückgibt, wenn TO_GEOMETRY einen Fehler ausgeben würde.

Siehe auch:

TO_GEOMETRY

Syntax

Verwenden Sie eine der folgenden Optionen:

TRY_TO_GEOMETRY( <varchar_expression> , [ <allow_invalid> ] )

TRY_TO_GEOMETRY( <binary_expression> , [ <allow_invalid> ] )

TRY_TO_GEOMETRY( <variant_expression> , [ <allow_invalid> ] )
Copy

Argumente

varchar_expression

Das Argument muss ein Zeichenfolgenausdruck sein, der ein gültiges geometrisches Objekt in einem der folgenden Formate repräsentiert:

  • WKT (Well-Known Text)

  • WKB (Well-Known Binary) im Hexadezimalformat (ohne führendes 0x)

  • EWKT (Extended Well-Known Text)

  • EWKB (Extended Well-Known Binary) im Hexadezimalformat (ohne führendes 0x)

  • GeoJSON.

binary_expression

Das Argument muss ein Binärausdruck im WKB- oder EWKB-Format sein.

variant_expression

Das Argument muss ein OBJECT im GeoJSON-Format sein.

Optional:

allow_invalid

TRUE gibt an, dass die Funktion ein GEOGRAPHY- oder GEOMETRY-Objekt zurückgeben soll, selbst wenn die Form des Eingabeobjekts ungültig ist und nicht repariert werden kann. Weitere Informationen dazu finden Sie unter Specifying How Invalid Geospatial Shapes Are Handled.

Rückgabewerte

Gibt einen Wert vom Typ GEOMETRY zurück.

Nutzungshinweise

  • Gibt NULL zurück, wenn der Eingabewert nicht als unterstütztes Format (WKT, WKB, EWKT, EWKB, GeoJSON) analysiert werden kann.

  • Bei GeoJSON-, WKT- und WKB-Eingaben wird die SRID des resultierenden GEOMETRY-Objekts auf 0 gesetzt. Um die SRID zu ändern, übergeben Sie das GEOMETRY-Objekt an ST_SETSRID unter Angabe der SRID, die Sie festlegen möchten. ST_SETSRID gibt das GEOMETRY-Objekt mit der gewünschten SRID zurück.

Beispiele

Das folgende Beispiel zeigt eine einfache Verwendung der Funktion TRY_TO_GEOMETRY mit VARCHAR-Daten:

select try_to_geometry('INVALID INPUT');
Copy
+--------------------------------------+
| try_to_geometry('INVALID INPUT')     |
|--------------------------------------|
| NULL                                 |
+--------------------------------------+
Copy