头图

背景

最近在使用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坐标的拾取和热力图使用的小知识了。


三块钱
7 声望0 粉丝