亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Python Nominatim 限制和改進 geopy.geocoders 進行反向地理編碼

使用 Python Nominatim 限制和改進 geopy.geocoders 進行反向地理編碼

qq_遁去的一_1 2021-11-23 16:13:55
我需要根據緯度和經度獲取 10000 的地址,為此我使用了 geopy.geocoders。但是,第一個限制是您可以在一天內反轉地理編碼的坐標數量是有限的。from geopy.geocoders import Nominatimfrom geopy.extra.rate_limiter import RateLimitergeolocator = Nominatim(user_agent="specify_your_app_name_here",timeout=None)rectangles_df=df["LatLong"].head(2)location=rectangles_df.apply(geolocator.reverse)&其次,當應用于多個坐標的數據幀時,這只會打印沒有坐標的地址,這使得很難映射到原始數據集。它也沒有給出英文輸出我還嘗試了以下操作:test=rectangles_df.apply(geolocator.reverse(language='en'))但這顯然不起作用,因為它期望坐標作為強制參數??梢宰鍪裁础?
查看完整描述

1 回答

?
DIEA

TA貢獻1820條經驗 獲得超2個贊

首先,根據 Nominatim 使用政策,唯一的限制是一個請求/秒。除了源自一個請求限制https://operations.osmfoundation.org/policies/nominatim/ 的每天 86400 個請求(1 秒 * 60 * 60 * 24)之外,我沒有看到任何每日限制

保證每秒不超過一個請求的最簡單方法是

  time.sleep(1)

在通過請求進行交互時,在發出請求之前。

其次,位置對象同時保留坐標和地址作為屬性:

print(location.latitude, location.longitude, location.adress)

第三,使用 geopy,您可以聲明語言。這是false默認的

reverse(query, exactly_one=True, timeout=DEFAULT_SENTINEL, language=False,  addressdetails=True)

檢查有關 Nominatim 的 geopy 文檔:https ://geopy.readthedocs.io/en/stable/#nominatim


查看完整回答
反對 回復 2021-11-23
  • 1 回答
  • 0 關注
  • 754 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號