Saya baru dalam bekerja dengan Maps dan algoritma pencarian. Saat ini saya menggunakan paket geopy
untuk mendapatkan jarak dari Nominatim
from geopy.geocoders import Nominatim
from geopy.distance import vincenty
nom = Nominatim()
chicago = nom.geocode("chicago")
dallas = nom.geocode("dallas")
chicago_gps = (chicago.latitude, chicago.longitude)
dallas_gps = (dallas.latitude, dallas.longitude)
distance = vincenty(chicago_gps, dallas_gps).km
print('Distance in kms: {}'.format(distance))
print(chicago.raw)
keluaran
Distance in kms: 1294.7623005649557
{'lat': '41.8755546', 'osm_id': '122604', 'boundingbox': ['41.643919', '42.0230219', '-87.940101', '-87.5239841'], 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright', 'lon': '-87.6244212', 'place_id': '178038280', 'class': 'place', 'icon': 'https://nominatim.openstreetmap.org/images/mapicons/poi_place_city.p.20.png', 'osm_type': 'relation', 'importance': 0.29566190262222, 'display_name': 'Chicago, Cook County, Illinois, United States of America', 'type': 'city'}
Jadi untuk setiap tempat saya bisa menghitung jaraknya. Sekarang ada beberapa pertanyaan
- Apakah itu jarak penerbangan? Apakah OSM juga memberikan durasi perjalanan seperti yang dilakukan Google?
- Bagaimana saya bisa mendapatkan petunjuk arah jika saya ingin pergi dari "Chicago" ke "Dallas" seperti google? Apakah ada cara agar kita mendapatkan perutean langsung dari OSM selain menggunakan API MapQuest dll?
- Bagaimana kita bisa menerapkan lapisan lalu lintas dalam model kita? Saya memerlukan sumber daya yang bagus untuk itu dan jika ada implementasi python, itu akan sangat bagus.