背景
最近在使用folium處理一些工作上的事情,這過程中發現一些GPS座標數據的獲取和置換不是太方便,尤其是座標置換,做了一些工作進行了GPS座標數據秘座標置換方向的封裝。
GPS座標類封裝的過程中,發現一些常用的GPS座標的查取比較麻煩,需要找到專用的可拾取座標的網站,於是想起把一些常用的地市直接封裝在GPS座標模塊中,以便隨時取用。
GPS座標的值的拾取
基於騰訊 or 高德地圖的座標拾取功能,將常用地市的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地圖見上方附件。
總體來説,常用座標在中部,東部地區分佈較為密集。
放大了看,一些城市分佈集中地區,主要以條帶狀分佈為主。
小結
以上就是今天分享的關於常用地市GPS座標的拾取和熱力圖使用的小知識了。