La fonction ST_MAKELINE crée un objet géographique LINESTRING à partir de points d'extrémité spécifiés.
Syntaxe
La fonction ST_MAKELINE propose deux signatures. Sélectionnez celle qui correspond à votre cas d'utilisation.
-
Signature 1 : Crée un objet géographique LINESTRING à partir de deux points d'extrémité.
GEOGRAPHY ST_MAKELINE(GEOGRAPHY <point1>, GEOGRAPHY <point2>) -
Signature 2 : Crée un objet géographique LINESTRING à partir d'un ARRAY contenant un ou plusieurs points d'extrémité.
GEOGRAPHY ST_MAKELINE(ARRAY<GEOGRAPHY> <points>)
Paramètres
point1, point2 : Obligatoire. Un objet géographique POINT. Utilisez les fonctions ST_GEOGPOINT, ST_GEOGFROMWKB ou ST_GEOGFROMTEXT pour créer ces objets.
points : Obligatoire. Un ARRAY d'objets géographiques POINT. L'ARRAY doit contenir au moins un élément. Utilisez les fonctions ST_GEOGPOINT, ST_GEOGFROMWKB ou ST_GEOGFROMTEXT pour créer ces objets.
Valeur de retour
Renvoie un objet géographique LINESTRING. Les règles suivantes s'appliquent :
Renvoie NULL si l'un des paramètres d'entrée GEOGRAPHY est NULL, ou si l'ARRAY d'entrée ou l'un de ses éléments est NULL.
Si l'entrée se compose de deux points identiques ou d'un ARRAY contenant un seul point, le résultat dégénère en un objet géographique POINT.
Les limitations de précision de la bibliothèque S2 Geography Library peuvent entraîner de légères divergences entre l'entrée et la sortie.
Exemples
-
Exemple 1 : Créer un objet géographique LINESTRING à partir de deux points d'extrémité.
-- Provide two different endpoints to create a LINESTRING. SELECT ST_MAKELINE(ST_GEOGPOINT(270, 0), ST_GEOGPOINT(1, 1)); -- Result: +-------------------------+ | _c0 | +-------------------------+ | LINESTRING (-90 0, 1 1) | +-------------------------+ -- Provide two identical endpoints. The result degenerates to a POINT. SELECT ST_MAKELINE(ST_GEOGPOINT(1, 1), ST_GEOGPOINT(1, 1)); -- Result: +-------------+ | _c0 | +-------------+ | POINT (1 1) | +-------------+ -
Exemple 2 : Créer un objet géographique LINESTRING à partir d'un ARRAY contenant un ou plusieurs points d'extrémité.
-- Provide an ARRAY of points to create a LINESTRING. SELECT ST_MAKELINE(ARRAY(ST_GEOGPOINT(0, 0), ST_GEOGPOINT(1, 1), ST_GEOGPOINT(2, 2))); -- Result: +----------------------------+ | _c0 | +----------------------------+ | LINESTRING (0 0, 1 1, 2 2) | +----------------------------+ -- Provide an ARRAY with a single element. The result degenerates to a POINT. SELECT ST_MAKELINE(ARRAY(ST_GEOGPOINT(0, 0))); -- Result: +-------------+ | _c0 | +-------------+ | POINT (0 0) | +-------------+