一、几个概念
东西经,南北纬,lat,lng
地球坐标(wgs84)国际标准
火星坐标(gcj02)国内标准
二、步骤
1.怎么判断一个点在一个多边形内呢?
答:用射线法,判断点和所有边的关系,简单来说,穿过边的次数为奇数个,就是在多边形内的。多边形有凸多边形和凹多边形,多个多边形。
详细的参考资料:判断点是否在多边形内的Python实现及小应用(射线法) - 简书
代码:判断点是否在多边形内的Python实现及小应用(射线法) - 简书
2.怎么圈定一个地理区域呢?
上述文献中,提到了一个工具geojson,这里面提供了一些小工具,能够让我们在地图上圈出一个多边形区域,保存为Geojson格式,直接用于上述参考资料
geojson.io
3.geojson给的格式是国际标准的wgs84,我们取得腾讯地图api的定位是gcj02标准,这两个坐标有偏移,怎么处理呢?
我们要判断的是gcj02的一堆数据点,是否在多边形内,那么简单的方法是把wgs84的所有坐标点,转化为gcj02的坐标点,这样我们就有一个gcj02的geojson数据了。可以直接用于判断。
怎么转化呢?
(1)调用py库https://github.com/wandergis/coordtransform#%E5%9C%B0%E7%90%83%E5%9D%90%E6%A0%87-wgs84(2)直接用小工具转换,因为坐标数不多,恶心恶心手工就干了
地图坐标系转换 - 在线工具
今天先搞这么多,明天看看咋样