- Coğrafi konum işleme için çeşitli servisler var, kimisi paralı kimisi değil. En bilinenleri google maps, yandex maps ve here maps. Benim en rahat kullandığım here maps oldu, bunun üzerinden anlatacağım ama diğerleri de benzer şekilde çalışıyor.
- Öncelikle linki takip ederek ücretsiz bir
APP ID
ve API Key
almanız gerekiyor here maps apisini kullanmak için.
- Coğrafi konum api servislerinin hepsini doğrudan da kullanabilirsiniz ama python'da en kolayı
geopy
kütüphanesini kullanmak, onu da yükleyin.
- Görselleştirme için de farklı seçenekler var,
folium
ve mapbox
en sık kullanılanlarından. Plotly ile uyumundan dolayı mapbox'ı tercih ediyorum.
- Mapbox için de bir kullanıcı tokenı almanız gerekiyor, linki takip ederek bunu ücretsiz alabilirsiniz.
Bunları hazır ettikten sonrası oldukça kolay.
from geopy.geocoders import Here
import plotly.graph_objs as go
here_app_id = "###"
here_api_key= "###"
mapbox_token = "###"
mapbox_access_token = mapbox_token
locator = Here(apikey= here_api_key, app_id=here_app_id)
location = locator.geocode('Caferağa, Dr. Esat Işık Caddesi, Kadıköy/İstanbul')
print(location.raw)
print(location.latitude, location.longitude)
data = [go.Scattermapbox(
lat=[location.latitude],
lon=[location.longitude],
mode='markers',
marker=dict(size=10, color='gold')
)
]
layout = go.Layout(width=800,
autosize=True,
hovermode='closest',
mapbox=dict(accesstoken=mapbox_access_token,
bearing=0,
center=dict(lat=location.latitude,
lon=location.longitude),
pitch=0,
zoom=9,
style='dark'
)
)
fig=go.Figure(data=data, layout=layout)
fig.show()
