Ich muss Python verwenden, um eine große Kreisentfernung zu erstellen - sowohl eine Zahl als auch vorzugsweise eine Art 'Kurve', mit der ich eine clientseitige Karte zeichnen kann. Das Format der Kurve ist mir egal - sei es WKT oder ein Satz von Koordinatenpaaren - aber ich möchte nur die Daten herausholen.
Welche Tools gibt es da draußen? Was soll ich benutzen?
python
distance
polyline-creation
great-circle
Christopher Schmidt
quelle
quelle
Die Antworten anderer sind etwas eleganter, aber hier ist ein ultraschnelles, etwas unpythonisches Stück Python, das die Grundlagen liefert. Die Funktion verwendet zwei Koordinatenpaare und eine benutzerdefinierte Anzahl von Segmenten. Es ergibt sich eine Reihe von Zwischenpunkten entlang eines großen Kreiswegs. Ausgabe: schreibfertiger Text als KML. Vorsichtsmaßnahmen: Der Code berücksichtigt keine Antipoden und geht von einer sphärischen Erde aus.
Code von Alan Glennon http://enj.com Juli 2010 (Der Autor stellt diesen Code öffentlich zur Verfügung. Die Verwendung erfolgt auf eigenes Risiko.)
-
def tweensegs (Längengrad1, Breitengrad1, Längengrad2, Breitengrad2, Anzahl_der_Segmente):
quelle
GeographicLib hat eine Python-Oberfläche :
Dies kann Computer-Geodäten auf einem Ellipsoid (Abflachen auf Null setzen, um große Kreise zu erhalten) und Zwischenpunkte auf einer Geodät erzeugen (siehe die "Linien" -Befehle im Beispiel).
So drucken Sie Punkte auf der geodätischen Linie von JFK zum Flughafen Changi (Singapur) aus:
quelle
pyproj verfügt über die Funktion Geod.npts , die eine Reihe von Punkten entlang des Pfades zurückgibt . Beachten Sie, dass die Anschlusspunkte nicht im Array enthalten sind, sodass Sie sie berücksichtigen müssen:
quelle
geopy Eine Geocoding Toolbox für Python
http://code.google.com/p/geopy/wiki/GettingStarted#Calculating_distances
quelle
Ich habe dieses Paket nicht verwendet, aber es scheint interessant und eine mögliche Lösung: http://trac.gispython.org/lab/wiki/Shapely
quelle
Shapely is a Python package for set-theoretic analysis and manipulation of **planar** features