博客 / 詳情

返回

西部是真的地廣人稀啊,常用地市東西分佈差異明顯

背景

最近在使用folium處理一些工作上的事情,這過程中發現一些GPS座標數據的獲取和置換不是太方便,尤其是座標置換,做了一些工作進行了GPS座標數據秘座標置換方向的封裝。

GPS座標類封裝的過程中,發現一些常用的GPS座標的查取比較麻煩,需要找到專用的可拾取座標的網站,於是想起把一些常用的地市直接封裝在GPS座標模塊中,以便隨時取用。

GPS座標的值的拾取

基於騰訊 or 高德地圖的座標拾取功能,將常用地市的GPS座標整理成一個字典。座標的拾取基本遵照以下原則:

  • 地圖有圖點標記的,以圖點標記位置為準。如下
    GPS座標拾取示意圖 1
    GPS座標拾取示意圖 2
  • 地圖無圖點標記的,以文本位置為準,放大地圖後錨定在公園或者其它顯著性地理村志上。如下

GPS座標拾取示意圖
以上取座標的方法,均為手動拾取,精度不高,基本夠用。

GPS座標整理

以上方法拾取到的GPS座標數據,整理成一個GPS座標類字典,如下:

_常用座標字典: dict = {'哈爾濱市': GPS座標類(126.5350, 45.8020, GPS座標系類型.騰訊地圖座標),
                 '長春市': GPS座標類(125.3238, 43.8107, GPS座標系類型.騰訊地圖座標),
                 '瀋陽市': GPS座標類(123.4644, 41.6688, GPS座標系類型.騰訊地圖座標),
                 '北京市': GPS座標類(116.4111, 39.8971, GPS座標系類型.騰訊地圖座標),
                 '呼和浩特市': GPS座標類(111.7529, 40.8471, GPS座標系類型.騰訊地圖座標),
                 '烏魯木齊市': GPS座標類(87.6132, 43.8226, GPS座標系類型.騰訊地圖座標),
                 '石家莊市': GPS座標類(114.5160, 38.0373, GPS座標系類型.騰訊地圖座標),
                 '天津市': GPS座標類(117.2021, 39.0874, GPS座標系類型.騰訊地圖座標),
                 '太原市': GPS座標類(112.5494, 37.8683, GPS座標系類型.騰訊地圖座標)}

座標使用方法

整理成常用座標字典後的GPS座標數據,提供了兩種查取方法:

  • 方法一,直接通過成員符號獲取
print(常用座標.上海市)

通過成員運算符獲取常用座標值

  • 方法二,通過關鍵字查詢獲取
上海座標 = 常用座標.查詢座標('上海')
if 上海座標.有效:
    print(上海座標.經度)
else:
    print('座標不存在')

通過查詢座標的方法,也可以獲取到指定關鍵字地市的GPS座標數據。如果查詢不到,則返回一個空的GPS座標類對象,可能通過對象的有效性判斷是否獲取到了有效的座標值。

座標數量

通過以上方法拾取和整理的常用地市座標數量,共352個。

常用座標分佈熱力圖

有了以上的GPS座標資源,我們就可以將這些GPS座標以熱力圖的形式打點到地圖上了,以觀察其分佈趨勢。

# -*- coding:UTF-8 -*-

# region 引入必要依賴
from selfPyTools.mapModule import *

# endregion

# 準備一個地圖類對象,指定添加高等地圖 智圖GeoQ 的瓦片圖
地圖 = 地圖類().添加瓦片.高德地圖().智圖GeoQ().地圖

# 在地圖上添加一個熱力圖的圖層
熱力圖 = 地圖.添加熱力層('常用地市座標分佈熱力圖', 默認顯示=True)

# 將常用座標字典中的座標值,添加到熱力圖層中
for 城市, 座標 in 常用座標.常用座標字典.items():
    if 座標.有效:
        地圖.添加熱力點(熱力圖, 座標)

# 將地圖對象生成一個html的文檔保存,並順便打印這個文檔
地圖.支持座標拾取.生成html(文檔名='常用地市分佈熱力圖', 目標路徑='.').打開()

以上代碼中,我們以高德地圖 和智圖GeoQ為基礎,對常用地市GPS座標進行熱力圖繪製,所得html地圖見上方附件。
常用地市座標分佈密度熱力圖 1
常用地市座標分佈密度熱力圖 2

總體來説,常用座標在中部,東部地區分佈較為密集。
常用地市座標分佈密度熱力圖 3
放大了看,一些城市分佈集中地區,主要以條帶狀分佈為主。

小結

以上就是今天分享的關於常用地市GPS座標的拾取和熱力圖使用的小知識了。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.