手裡有某一類poi的位址名稱,如上海市所有電影院位址,但是要做地圖資料視覺化需要打到地圖上去的時候卻需要經緯度資料,這時候就需要用到地理編碼。
# -*- coding: utf-8 -*-
"""created on wed nov 21 17:05:26 2018
projectname: geocoder
@author:帥帥de三叔
"""import pandas as pd #匯入資料分析庫pandas
import requests #匯入網頁請求庫
from tqdm import tqdm
inputfile=
"經緯度測試.xlsx"
#資料檔案
outputfile=
"經緯度測試結果.xlsx"
#輸出檔案
data=pd.read_excel(inputfile,index_col=u'序號'
)#讀取資料
address=data[u"位址"
]#位址列
bd_lng_list=
#用來存放經度
bd_lat_list=
#用來存放緯度
precise_list=
#用來存放打點精準狀態
confidence_list=
#用來存放誤差範圍
defget_bdlnglat
(iaddress)
:#定義獲取經緯度函式
try:
#如果成功返回結果的話,追加記錄
url=
'您的ak&city=上海市&address='
+str
(iaddress)
#訪問**
response=requests.get(url)
#get訪問
answer=response.json(
)#json化
bd_lng=answer[
'result'][
'location'][
'lng'
] bd_lat=answer[
'result'][
'location'][
'lat'
] precise=answer[
'result'][
'precise'
]#是否精確打點
confidence=answer[
'result'][
'confidence'
]#誤差範圍
#追加經度
#追加緯度
#追加打點狀態
#追加誤差範圍
except
:#如果不成功返回結果的話,都追加空值"")
#追加經度"")
#追加緯度"")
#追加打點狀態"")
#追加誤差範圍
print
(iaddress,
"沒有找到"
)#把不能解碼的條目列印出來
for addr in tqdm(address)
:#對位址進行迴圈呼叫get_bdlnglat函式
get_bdlnglat(addr)
bd_lng=pd.series(bd_lng_list,index=data.index)
#經度序列化
bd_lat=pd.series(bd_lat_list,index=data.index)
#緯度序列化
precise=pd.series(precise_list,index=data.index)
#精確度序列化
confidence=pd.series(confidence_list,index=data.index)
#置信度序列化
result=pd.concat(
[data,bd_lng,bd_lat,precise,confidence]
,axis=
1)
result.columns=
list
(data.columns)+[
,,"精準打點"
,"置信度"
]#命名表頭
result.index=data.index
result.to_excel(outputfile)
#寫入到excel
百度經緯度和google經緯度互轉
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 privateconstdoublex pi 3.14159265358979324 3000.0 180.0 維度 經度 publicstaticvoidc...
iOS 百度定位(獲取經緯度)
由於系統原因,ios不允許使用第三方定位,因此地圖sdk中的定位方法,本質上是對原生定位的二次封裝。通過封裝,開發者可更便捷的使用。此外,地圖sdk中還提供了相應的定位圖層 支援定位三態效果 幫助開發者顯示當前位置資訊。注 自ios8起,系統定位功能進行了公升級,sdk為了實現最新的適配,自v2.5...
利用百度 Geocoding 位置 經緯度互轉
1 利用位置得到經緯度 string url place1 ak cev92 4hibk callback showlocation output json pois 0 mcode 9f f9 bf e5 b1 ff 71 2c x com.x.xx 成功返回 showlocation showl...