今天的课题则是在获取经纬坐标的情况下,如何进行省市定位问题。
1. 坐标系
首先需要先对坐标系进行一个交单的介绍。现在的坐标系包含了:
- 火星坐标系
- 地球坐标系
- 百度坐标系
通过同一个经纬度(116.404, 39.915)在百度以及高德进行定位,可以发现他们明显存在偏移,则说明他们使用的坐标系并不一样。
- 地球坐标(WGS84):这是国际公认的标准坐标系。
- 火星坐标(GCJ-02):这是一种国家保密插件,将COM口读出来的真实的坐标信号,加密转换成国家要求的保密的坐标。
- 百度坐标(DB-09):百度自己的加密。
关于坐标系之间的转换可以参考坐标转换
2. 坐标定位
import json
import os
def isPointinPolygon(point, rangelist, apices): #[[0,0],[1,1],[0,1],[0,0]] [1,0.8]
# # 判断是否在外包矩形内,如果不在,直接返回false
maxlng = apices["maxlng"]
minlng = apices["minlng"]
maxlat = apices["maxlat"]
minlat = apices["minlat"]
# print(maxlng, minlng, maxlat, minlat)
if (point[0] > maxlng or point