Kategorien:

Geodatenfunktionen

ST_MAKELINE

Konstruiert ein GEOGRAPHY-Objekt, das eine Linie darstellt, die die Punkte in den Eingabeobjekten verbindet.

Siehe auch:

TO_GEOGRAPHY

Syntax

ST_MAKELINE( <geography_expression_1> , <geography_expression_2> )

Argumente

Geografischer_Ausdruck_1

Ein GEOGRAPHY-Objekt, das die zu verbindenden Punkte enthält. Dieses Objekt muss ein Punkt, MultiPoint oder LineString sein.

Geografischer_Ausdruck_2

Ein GEOGRAPHY-Objekt, das die zu verbindenden Punkte enthält. Dieses Objekt muss ein Punkt, MultiPoint oder LineString sein.

Rückgabewerte

Die Funktion gibt einen Wert vom Typ GEOGRAPHY zurück. Der Wert ist ein LineString, der alle durch die GEOGRAPHY-Eingabeobjekte angegebenen Punkte verbindet.

Nutzungshinweise

  • Wenn ein GEOGRAPHY-Eingabeobjekt mehrere Punkte enthält, verbindet ST_MAKELINE alle im Objekt angegebenen Punkte.

  • ST_MAKELINE verbindet die Punkte in der Reihenfolge, in der sie in der Eingabe angegeben sind.

Beispiele

In den Beispielen in diesem Abschnitt wird die Ausgabe im WKT-Format angezeigt:

alter session set GEOGRAPHY_OUTPUT_FORMAT='WKT';

Im folgenden Beispiel wird ST_MAKELINE verwendet, um ein LineString zu erstellen, das zwei Punkte verbindet:

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) |
+-----------------------------+

Im folgenden Beispiel wird ein LineString erstellt, der einen Punkt mit den Punkten in einem MultiPoint verbindet:

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) |
+-----------------------------------------------------------------------------+

Wie die Ausgabe des Beispiels zeigt, verbindet ST_MAKELINE die Punkte in der Reihenfolge, in der sie in der Eingabe angegeben sind.

Im folgenden Beispiel wird ein LineString erstellt, der die Punkte in einem MultiPoint mit einem anderen LineString verbindet:

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) |
+---------------------------------------------------------------------------------------------------+