Catégories :

Fonctions géospatiales, Fonctions de conversion

TRY_TO_GEOMETRY

Analyse une entrée et renvoie une valeur de type GEOMETRY.

Cette fonction est essentiellement identique à TO_GEOMETRY sauf qu’elle renvoie NULL lorsque TO_GEOMETRY émettrait une erreur.

Voir aussi :

TO_GEOMETRY

Syntaxe

Utilisez l’une des méthodes suivantes :

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

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

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

Arguments

varchar_expression

L’argument doit être une expression de chaîne qui représente un objet géométrique valide dans l’un des formats suivants :

  • WKT (texte bien connu).

  • WKB (binaire bien connu) au format hexadécimal (sans un 0x de début).

  • EWKT (texte bien connu étendu).

  • EWKB (binaire bien connu étendu) au format hexadécimal (sans un 0x de début).

  • GeoJSON.

binary_expression

L’argument doit être une expression binaire au format WKB ou EWKB.

variant_expression

L’argument doit être un OBJECT au format GeoJSON.

Facultatif :

allow_invalid

Si TRUE, spécifie que la fonction doit renvoyer un objet GEOGRAPHY ou GEOMETRY, même lorsque la forme d’entrée n’est pas valide et ne peut pas être réparée. Pour plus de détails, reportez-vous à Specifying How Invalid Geospatial Shapes Are Handled.

Renvoie

La fonction renvoie une valeur de type GEOMETRY.

Notes sur l’utilisation

  • Renvoie NULL si l’entrée ne peut pas être analysée comme le format pris en charge approprié (WKT, WKB, EWKT, EWKB, GeoJSON).

  • Pour les entrées GeoJSON, WKT et WKB, l’objet GEOMETRY résultant a pour valeur SRID 0. Pour modifier les SRID, passez l’objet GEOMETRY à ST_SETSRID, en spécifiant le SRID que vous souhaitez définir. ST_SETSRID renvoie l’objet GEOMETRY avec cet ensemble SRID.

Exemples

Cela montre une utilisation simple de la fonction TRY_TO_GEOMETRY avec des données VARCHAR :

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