In PostGIS gibt die ST_length()
Funktion die Länge einer Linienfolge in einigen Einheiten zurück, jedoch nicht in Metern.
Gibt es eine Funktion wie ST_Length()
aber in Metern?
St_Length () gibt die Länge in Einheiten seines Raumbezugssystems zurück. Wenn Sie Zähler erhalten möchten, müssen Sie Ihre Funktion in einen anderen SRS umwandeln, der Zähler als Einheiten verwendet. Dies kann im laufenden Betrieb erfolgen. Machen Sie sich also keine Sorgen, wenn Sie einen anderen Datensatz ausschreiben.
SELECT ST_AsText(ST_Transform(the_geom,26915)) from my_table;
In diesem Beispiel lautet die SRID 26915 UTM Zone 15 N, NAD83.
Es sieht so aus, als ob Sie dies seit PostGIS 2.0 (vielleicht schon früher) auch einfach tun können,
ST_Length
indem Sie die Geometrie in Geographie umwandeln:ST_Length(geom::geography)
Zum Beispiel der Abstand zwischen 50 ° N, 12 ° E und 51 ° N, 13 ° E:
was gibt
quelle
Beispiele für SQL-Anforderungen: Berechnen der Länge der Polyliniengeometrie für mehrere Tabellen in Postgis
SQL-Anfrage (Länge in km (/ 1000 -Delete für Meter)):
quelle
Verwenden Sie die folgende Formel:
quelle