- Catégories :
ST_MAKELINE¶
Construit un objet GEOGRAPHY ou GEOMETRY qui représente une ligne reliant les points dans les objets d’entrée.
- Voir aussi :
Syntaxe¶
ST_MAKELINE( <geography_expression_1> , <geography_expression_2> )
ST_MAKELINE( <geometry_expression_1> , <geometry_expression_2> )
Arguments¶
geography_expression_1
Un objet GEOGRAPHY contenant les points à connecter. Cet objet doit être un point, MultiPoint ou LineString.
geography_expression_2
Un objet GEOGRAPHY contenant les points à connecter. Cet objet doit être un point, MultiPoint ou LineString.
geometry_expression_1
Un objet GEOMETRY contenant les points à connecter. Cet objet doit être un point, MultiPoint ou LineString.
geometry_expression_2
Un objet GEOMETRY contenant les points à connecter. Cet objet doit être un point, MultiPoint ou LineString.
Renvoie¶
La fonction renvoie une valeur de type GEOGRAPHY ou GEOMETRY. La valeur est un LineString qui connecte tous les points spécifiés par les objets GEOGRAPHY ou GEOMETRY en entrée.
Notes sur l’utilisation¶
Si un objet GEOGRAPHY en entrée contient plusieurs points, ST_MAKELINE connecte tous les points spécifiés dans l’objet.
ST_MAKELINE connecte les points dans l’ordre dans lequel ils sont spécifiés en entrée.
Pour les objets GEOMETRY, la fonction signale une erreur si les deux objets GEOMETRY en entrée ont des SRIDs différents.
Pour les objets GEOMETRY, l’objet GEOMETRY renvoyé a le même SRID que l’entrée.
Exemples¶
Exemples GEOGRAPHY¶
Les exemples de cette section affichent la sortie au format WKT :
alter session set GEOGRAPHY_OUTPUT_FORMAT='WKT';
L’exemple suivant utilise ST_MAKELINE pour construire un LineString qui connecte deux points :
SELECT ST_MAKELINE( TO_GEOGRAPHY('POINT(37.0 45.0)'), TO_GEOGRAPHY('POINT(38.5 46.5)') ) AS line_between_two_points; +-----------------------------+ | LINE_BETWEEN_TWO_POINTS | |-----------------------------| | LINESTRING(37 45,38.5 46.5) | +-----------------------------+
L’exemple suivant construit un LineString qui connecte un point avec les points d’un MultiPoint :
SELECT ST_MAKELINE( TO_GEOGRAPHY('POINT(-122.306067 37.55412)'), TO_GEOGRAPHY('MULTIPOINT((-122.32328 37.561801), (-122.325879 37.586852))') ) AS line_between_point_and_multipoint; +-----------------------------------------------------------------------------+ | LINE_BETWEEN_POINT_AND_MULTIPOINT | |-----------------------------------------------------------------------------| | LINESTRING(-122.306067 37.55412,-122.32328 37.561801,-122.325879 37.586852) | +-----------------------------------------------------------------------------+
Comme le montre la sortie de l’exemple, ST_MAKELINE connecte les points dans l’ordre dans lequel ils sont spécifiés dans l’entrée.
L’exemple suivant construit un LineString qui relie les points d’un MultiPoint à un autre LineString :
SELECT ST_MAKELINE( TO_GEOGRAPHY('MULTIPOINT((-122.32328 37.561801), (-122.325879 37.586852))'), TO_GEOGRAPHY('LINESTRING(-122.306067 37.55412, -122.496691 37.495627)') ) AS line_between_multipoint_and_linestring; +---------------------------------------------------------------------------------------------------+ | LINE_BETWEEN_MULTIPOINT_AND_LINESTRING | |---------------------------------------------------------------------------------------------------| | LINESTRING(-122.32328 37.561801,-122.325879 37.586852,-122.306067 37.55412,-122.496691 37.495627) | +---------------------------------------------------------------------------------------------------+
Exemples GEOMETRY¶
Les exemples de cette section affichent la sortie au format WKT :
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='WKT';
Le premier exemple construit une ligne entre deux points :
SELECT ST_MAKELINE( TO_GEOMETRY('POINT(1.0 2.0)'), TO_GEOMETRY('POINT(3.5 4.5)')) AS line_between_two_points;+-------------------------+ | LINE_BETWEEN_TWO_POINTS | |-------------------------| | LINESTRING(1 2,3.5 4.5) | +-------------------------+
L’exemple suivant montre la création d’un LineString qui relie des points dans un MultiPoint avec un point
SELECT ST_MAKELINE( TO_GEOMETRY('POINT(1.0 2.0)'), TO_GEOMETRY('MULTIPOINT(3.5 4.5, 6.1 7.9)')) AS line_from_point_and_multipoint;+---------------------------------+ | LINE_FROM_POINT_AND_MULTIPOINT | |---------------------------------| | LINESTRING(1 2,3.5 4.5,6.1 7.9) | +---------------------------------+
L’exemple suivant construit un LineString qui relie les points d’un MultiPoint à un autre LineString :
SELECT ST_MAKELINE( TO_GEOMETRY('LINESTRING(1.0 2.0, 10.1 5.5)'), TO_GEOMETRY('MULTIPOINT(3.5 4.5, 6.1 7.9)')) AS line_from_linestring_and_multipoint;+------------------------------------------+ | LINE_FROM_LINESTRING_AND_MULTIPOINT | |------------------------------------------| | LINESTRING(1 2,10.1 5.5,3.5 4.5,6.1 7.9) | +------------------------------------------+