Saya perlu menggunakan Python untuk membuat jarak lingkaran yang hebat - keduanya angka, dan lebih disukai semacam 'kurva' yang dapat saya gunakan untuk menggambar di peta sisi klien. Saya tidak peduli tentang format kurva - baik itu WKT, atau seperangkat pasangan koordinat - tetapi hanya ingin mengeluarkan data.
Alat apa yang ada di sana? Apa yang harus saya gunakan?
python
distance
polyline-creation
great-circle
Christopher Schmidt
sumber
sumber
Jawaban yang diberikan oleh orang lain sedikit lebih elegan, tapi inilah sedikit Python sederhana, agak unpythonic, yang menyediakan dasar-dasarnya. Fungsi ini mengambil dua pasangan koordinat dan sejumlah segmen yang ditentukan pengguna. Ini menghasilkan satu set titik menengah di sepanjang jalur lingkaran besar. Output: teks siap ditulis sebagai KML. Peringatan: Kode tidak mempertimbangkan antipoda, dan mengasumsikan bumi bulat.
Kode oleh Alan Glennon http://enj.com Juli 2010 (penulis menempatkan kode ini dalam domain publik. Gunakan dengan risiko Anda sendiri).
-
def tweensegs (bujur1, latitude1, longitude2, latitude2, num_of_segments):
sumber
GeographicLib memiliki antarmuka python :
Ini dapat komputer geodesics pada ellipsoid (atur rata ke nol untuk mendapatkan lingkaran besar) dan dapat menghasilkan titik-titik perantara pada geodesik (lihat perintah "Line" dalam sampel).
Berikut cara mencetak poin pada jalur geodesik dari JFK ke Bandara Changi (Singapura):
sumber
pyproj memiliki fungsi Geod.npts yang akan mengembalikan array titik di sepanjang jalur. Perhatikan bahwa itu tidak termasuk titik terminal dalam array, jadi Anda perlu memperhitungkannya:
sumber
geopy Kotak Alat Geocoding untuk Python
http://code.google.com/p/geopy/wiki/GettingStarted#Calculating_distances
sumber
Saya belum pernah menggunakan paket ini, tetapi tampaknya menarik, dan solusi yang mungkin: http://trac.gispython.org/lab/wiki/Shapely
sumber
Shapely is a Python package for set-theoretic analysis and manipulation of **planar** features