第一部分
很久以前,我住在村子裡,因為村子小,所以對村子的一草一木都很熟悉,在熟悉的環境裡就很有安全感。
後來我到了大城市,卻發現城市太大了,一輩子都熟悉不完。
這個城市的絕大部分地方我都沒有去過,就算去了我也不知道這些高樓和院牆裡到底是幹嘛的,這讓我很沒安全感。
後來,總而言之,我做了一個簡單的程式,輸入一個地圖邊界,就能把一些也許重要的區域在地圖上標註出來,像下面這樣(圖片點選放大):
上面這個圖示註的是南京市的秦淮區,其中紅字部分是我手動加上去的,其它部分是程式生成的。
雖然比較簡陋,但上圖還是提供了一些值得關注的資訊:
- 南京新街口有很多品牌服裝店
- 夫子廟和秦淮河是兩個主要的旅遊景點
- 上述兩個區域附近有較多的餐飲飯館
- 南京航空航天大學在此區域
然後我又輸入了北京市-海淀區的邊界,這個區的面積更大,然後得到了如下標註圖(圖片點選放大)
稍微觀察後發現,海淀區標註為高等院校的淺黃色區域比較多,然後我放大了高校較密集的區域,用了一些時間把高校的名字用紅色字型手動加上(圖片點選放大):
以上,就是這個程式的全部功能:輸入一個地理邊界,得到一個標註圖。
第二部分
然後就是這個簡單的效果是怎麼實現的~
- 想辦法得到全國的POI資料
- 輸入一個地理邊界,用Python庫h3將該邊界內的區域填充為無數個緊鄰的六邊形
- 計算每個六邊形內各種POI的種類對應的數量
- 把每個六邊形看成一篇內容是POI型別的文章,用tf-idf方法獲得每個六邊形的主題
- 只顯示主題相同且相鄰個數 >= 3的六邊形
- 將所有六邊形和主題用folium庫在地圖上繪製出來
第三部分
- 如果有小夥伴對其它城市區域感興趣,請在本週(03月21日前)留言 "省-城市-行政區" 的形式,我會盡量生成對應的html檔案並統一放在 百度網盤: 提取碼: sbq4
- 顯示html檔案的內容需要ke學上網(因為用的奇怪的繪相簿folium。。。)
- 因為生成標註圖耗時較長,比如生成海淀區的標註圖大概要10分鐘,所以留言時請儘量精確到區,如果時間足夠留言多個區我也會盡量處理
- POI資料比較難獲得,所以不打算公開,請見諒
- 標註六邊形型別的藍字可以點選,點選會出來對應的高德座標,可在 高德地圖座標拾取 中輸入座標進一步查詢
- 部分行政區無法生成標註圖,因為其對應的行政區邊界很不規則