Namn

ST_LongestLine — Returnerar den längsta 2D-linjen mellan två geometrier.

Synopsis

geometry ST_LongestLine(geometry g);

geometry ST_LongestLine(geometry g1, geometry g2);

Beskrivning

Returnerar den 2-dimensionella längsta linjen mellan punkterna i två geometrier. Linjen som returneras börjar på g1 och slutar på g2.

Den längsta linjen finns alltid mellan två hörn. Funktionen returnerar den första längsta linjen om mer än en hittas. Linjens längd är lika med det avstånd som returneras av ST_MaxDistance.

Om endast en geometri anges, eller om g1 och g2 är samma geometri, returneras linjen mellan de två noder som är längst från varandra i geometrin. Linjens ändpunkter ligger på den cirkel som beräknas av ST_MinimumBoundingCircle.

Tillgänglighet: 1.5.0

Utökat: 3.7.0 – stöd för en indata med en enda geometri.

Exempel

Längsta linjen mellan en Point och en LineString.

Kod
SELECT ST_LongestLine(
        'POINT (160 40)',
        'LINESTRING (10 30,50 50,30 110,70 90,180 140,130 190)' ) AS lline;
Utdata
LINESTRING(160 40,130 190)
Figur
Geometry figure for visual-st-longestline-01

Längsta linjen mellan två polygoner.

Kod
SELECT ST_LongestLine(
        'POLYGON ((190 150,20 10,160 70,190 150))',
        ST_Buffer('POINT(80 160)', 30)
            ) AS llinewkt;
Utdata
LINESTRING(20 10,91.4805029709527 187.7163859753386)
Figur
Geometry figure for visual-st-longestline-02

Längsta linjen över en enda geometri. Linjens längd är lika med det maximala avståndet. Linjens ändpunkter ligger på den minsta begränsningscirkeln.

Kod
SELECT ST_LongestLine(geom) AS llinewkt,
                  ST_MaxDistance(geom) AS max_dist,
                  ST_Length(ST_LongestLine(geom)) AS lenll
FROM (SELECT 'POLYGON ((40 180,110 160,180 180,180 120,140 90,160 40,80 10,70 40,20 50,40 180),
              (60 140,99 77.5,90 140,60 140))'::geometry AS geom) AS t;
Utdata
llinewkt          |      max_dist      |       lenll
---------------------------+--------------------+--------------------
 LINESTRING(20 50,180 180) | 206.15528128088303 | 206.15528128088303
Figur
Geometry figure for visual-st-longestline-03