最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python抓取某城市全部道路名稱(chēng)信息

 更新時(shí)間:2023年02月03日 09:44:04   作者:起不好名字就不起了  
本文主要介紹了python抓取某城市全部道路名稱(chēng)信息,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

引子

這兩天碰到一個(gè)需求,要獲取某個(gè)城市所有道路的車(chē)輛通行速度。首先自然是想到用高德或百度的Web服務(wù) API 來(lái)請(qǐng)求交通路況信息,結(jié)果一看高德的交通態(tài)勢(shì)服務(wù)API從2020年12月31日起就下線(xiàn)了,遂轉(zhuǎn)而奔向百度,百度的實(shí)時(shí)路況查詢(xún)服務(wù)倒是還能用,但是在使用上確有許多限制,主要是檢索限定范圍太小,無(wú)法通過(guò)直接設(shè)置矩形范圍查詢(xún)區(qū)域內(nèi)所有道路路況信息,最終想到如果能獲取該城市的所有道路名稱(chēng)信息,直接根據(jù)道路名去請(qǐng)求接口,就能又準(zhǔn)又全的采集所有道路通行狀況數(shù)據(jù)。所以,就有了本次標(biāo)題的目標(biāo):怎么獲取城市全部道路名稱(chēng)信息?

思路

在網(wǎng)上一番檢索,并未直接找到有收錄城市所有道路名的網(wǎng)站,還是太天真了。最終還是選擇了從百度自身下手,百度Web服務(wù)是提供POI檢索的,道路也算是POI的一種,所以可以通過(guò)這種曲線(xiàn)救國(guó)的方式,來(lái)實(shí)現(xiàn)道路名稱(chēng)信息的抓取,具體步驟如下:

1.確定檢索范圍,也就是待查詢(xún)區(qū)域的經(jīng)緯度邊界,這個(gè)可以網(wǎng)上搜。如果有對(duì)應(yīng)區(qū)域的地理空間數(shù)據(jù),也可以在A(yíng)rcGIS內(nèi)以查看坐標(biāo)信息的形式獲取經(jīng)緯度。
2.確定檢索形式,百度提供行政區(qū)劃區(qū)域檢索、圓形區(qū)域檢索、矩形區(qū)域檢索、地點(diǎn)詳情檢索四種POI檢索形式,最理想的是矩形區(qū)域檢索,但該檢索功能已不再免費(fèi)對(duì)外開(kāi)放,所以退而求其次,選擇圓形區(qū)域檢索,盡可能多的獲取道路相關(guān)POI信息。
3.確定檢索步長(zhǎng),圓形檢索是通過(guò)設(shè)定好中心坐標(biāo)點(diǎn),并按設(shè)定半徑來(lái)請(qǐng)求該圓形區(qū)域內(nèi)的所有道路名稱(chēng),由于半徑不可能無(wú)限延伸,所以要把第一步確定的矩形范圍分解成多個(gè)小圓形范圍,來(lái)分批次請(qǐng)求檢索結(jié)果。
4.編寫(xiě)實(shí)現(xiàn)代碼,代碼實(shí)現(xiàn)過(guò)程比較簡(jiǎn)單,需要主要是獲取道路信息后逐一保存。

實(shí)現(xiàn)

實(shí)現(xiàn)代碼如下,寫(xiě)的比較糙,不過(guò)能用。

f = open('F:\\路名信息.json', 'w+')
#經(jīng)緯度范圍設(shè)置,按每次偏移兩公里來(lái)移動(dòng)檢索圓心
for lat in np.arange(30.895038,31.424064,0.02):
? ? ? ? for long in np.arange(107.183609,107.800848,0.02):
? ? ? ? ? ? latstr=str(lat)
? ? ? ? ? ? longstr=str(long)
? ? ? ? ? ? bounds=latstr+','+longstr
? ? ? ? ? ? #query的參數(shù)值設(shè)為道路,檢索半徑設(shè)置為2公里
? ? ? ? ? ? api= "http://api.map.baidu.com/place/v2/search?query=道路&location={0}&radius=2000&output=json&ak={你的開(kāi)發(fā)者秘鑰}".format(bounds)
? ? ? ? ? ? r = requests.get(api, headers={'User-Agent': 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)','Connection': 'close'}, timeout=(5, 5))
? ? ? ? ? ? try:
? ? ? ? ? ? ? ? result=r.json()
? ? ? ? ? ? ? ? #是否成功返回結(jié)果
? ? ? ? ? ? ? ? if result['status'] == 0:
? ? ? ? ? ? ? ? ? ? #是否包含路況信息
? ? ? ? ? ? ? ? ? ? results = result['results']
? ? ? ? ? ? ? ? ? ? if len(results) != 0:
? ? ? ? ? ? ? ? ? ? ? ? for road in results:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #每條路的json文件單獨(dú)保存
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print(json.dumps(road, ensure_ascii=False))
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? f.write(json.dumps(road, ensure_ascii=False,indent=4))

? ? ? ? ? ? except:
? ? ? ? ? ? ? ? print('哇塞,出錯(cuò)了')
? ? ? ? ? ? ? ? continue
f.close()

結(jié)果

最后請(qǐng)求得到的道路信息類(lèi)似如下格式,可以看到當(dāng)我們以道路作為檢索關(guān)鍵字來(lái)請(qǐng)求POI時(shí),確實(shí)能夠獲取道路的詳細(xì)信息,但是也有一些非標(biāo)準(zhǔn)道路名稱(chēng)結(jié)果被檢索到,比如某某路口這種。所以,如果再對(duì)數(shù)據(jù)做一遍清洗修正,應(yīng)該能得到更多道路名稱(chēng)信息。總之通過(guò)POI這種形式來(lái)獲取城市所有道路名是有一定可操作性的,但在數(shù)據(jù)的全量性上還沒(méi)法完全保證,需要進(jìn)一步優(yōu)化該方法,以后有時(shí)間再研究研究。

{
        "name": "踏水橋",
        "location": {
            "lat": 30.908352,
            "lng": 107.244304
        },
        "address": "四川省達(dá)州市大竹縣",
        "province": "四川省",
        "city": "達(dá)州市",
        "area": "大竹縣",
        "detail": 0,
        "uid": "ce658bf70958ecccda13183b"
},
{
        "name": "華農(nóng)街/將軍西街(路口)",
        "location": {
            "lat": 30.90876,
            "lng": 107.241049
        },
        "address": "達(dá)州市大竹縣X168",
        "province": "四川省",
        "city": "達(dá)州市",
        "area": "大竹縣",
        "detail": 1,
        "uid": "2355baab46ba127551e5c541"
},
{
        "name": "將軍西街",
        "location": {
            "lat": 30.911387,
            "lng": 107.243157
        },
        "address": "四川省達(dá)州市大竹縣",
        "province": "四川省",
        "city": "達(dá)州市",
        "area": "大竹縣",
        "detail": 0,
        "uid": "09979f7c1c1aa5cb09f5eb47"
},
......

到此這篇關(guān)于python抓取某城市全部道路名稱(chēng)信息的文章就介紹到這了,更多相關(guān)python抓取道路信息內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python內(nèi)置函數(shù)delattr()與dict()舉例詳解

    python內(nèi)置函數(shù)delattr()與dict()舉例詳解

    這篇文章主要介紹了關(guān)于python內(nèi)置函數(shù)delattr()與dict()的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python代碼部署的三種加密方案

    Python代碼部署的三種加密方案

    本文主要介紹了Python代碼部署的三種加密方案,主要介紹了代碼混淆、代碼編譯、代碼打包這三種,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-02-02
  • Python中json文件的讀取實(shí)現(xiàn)

    Python中json文件的讀取實(shí)現(xiàn)

    在許多編程語(yǔ)言中,都有內(nèi)置的JSON解析器和生成器,可以方便地處理JSON數(shù)據(jù),本文主要介紹了Python中json文件的讀取實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • 使用Python實(shí)現(xiàn)PDF與SVG互轉(zhuǎn)

    使用Python實(shí)現(xiàn)PDF與SVG互轉(zhuǎn)

    SVG(可縮放矢量圖形)和PDF(便攜式文檔格式)是兩種常見(jiàn)且廣泛使用的文件格式,本文將詳細(xì)介紹如何使用?Python?實(shí)現(xiàn)?SVG?和?PDF?之間的相互轉(zhuǎn)換,感興趣的可以了解下
    2025-02-02
  • python使用redis實(shí)現(xiàn)消息隊(duì)列(異步)的實(shí)現(xiàn)完整例程

    python使用redis實(shí)現(xiàn)消息隊(duì)列(異步)的實(shí)現(xiàn)完整例程

    本文主要介紹了python使用redis實(shí)現(xiàn)消息隊(duì)列(異步)的實(shí)現(xiàn)完整例程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • python使用生成器實(shí)現(xiàn)可迭代對(duì)象

    python使用生成器實(shí)現(xiàn)可迭代對(duì)象

    這篇文章主要為大家詳細(xì)介紹了python如何使用生成器實(shí)現(xiàn)可迭代對(duì)象,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python中from import的使用解讀

    python中from import的使用解讀

    本文總結(jié)了Python中from和import的使用方法,包括導(dǎo)入模塊和導(dǎo)入模塊中的對(duì)象,強(qiáng)調(diào)了模塊和對(duì)象的概念,并給出了具體的使用示例,最后,建議根據(jù)代碼維護(hù)性和團(tuán)隊(duì)編碼風(fēng)格來(lái)選擇合適的導(dǎo)入方式
    2025-03-03
  • 淺談python函數(shù)調(diào)用返回兩個(gè)或多個(gè)變量的方法

    淺談python函數(shù)調(diào)用返回兩個(gè)或多個(gè)變量的方法

    今天小編就為大家分享一篇淺談python函數(shù)調(diào)用返回兩個(gè)或多個(gè)變量的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • appium中常見(jiàn)的幾種點(diǎn)擊方式

    appium中常見(jiàn)的幾種點(diǎn)擊方式

    本文主要介紹了appium中常見(jiàn)的幾種點(diǎn)擊方式,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Python把csv數(shù)據(jù)寫(xiě)入list和字典類(lèi)型的變量腳本方法

    Python把csv數(shù)據(jù)寫(xiě)入list和字典類(lèi)型的變量腳本方法

    今天小編就為大家分享一篇Python把csv數(shù)據(jù)寫(xiě)入list和字典類(lèi)型的變量腳本方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06

最新評(píng)論

芦山县| 普兰店市| 英吉沙县| 华坪县| 朝阳区| 贺州市| 兴山县| 梁河县| 文登市| 都江堰市| 龙岩市| 西林县| 康平县| 肃宁县| 永顺县| 萨嘎县| 康乐县| 高淳县| 靖安县| 庆安县| 通化县| 拉萨市| 临泉县| 高州市| 庄浪县| 洛川县| 威信县| 唐河县| 峡江县| 绥德县| 怀仁县| 庆云县| 晋江市| 北碚区| 宜城市| 长武县| 禹城市| 资中县| 新野县| 博爱县| 南开区|