百度api向地图中添加标注_百度地图POI的边界GEOJSON数据采集

经过技术攻关,终于成功从百度地图APP采集到POI的边界数据,并成功进行了坐标数据还原和边界数据验证。下面详细介绍一下。

如下所示,是从百度地图APP采集到的某小区(uid为ba9b506a87e4f43cf32d8314)的基本信息和边界GEOJSON数据:

af1a9178dcd2ece5ffd26f55a2f5565a.png

该POI在百度地图APP中的边界截图如下:

87ad592df530309b67fe527f469f20b0.png

下面分析一下返回的GEOJSON数据的含义。

先看下POI的位置坐标参数,如下:

884a02794c381dc7294a2d158f134c3d.png

将[x=12139200, y=4046920]墨卡托坐标转换为经纬度坐标为(109.047102,34.315398),将[x=12139200, y=4046920]墨卡托坐标转换为经纬度坐标为(109.047102,34.315398),

5c5185e4252ed2aaca23567f72fe737d.png

再重点看GEOJSON的含义,为了便于查看,JSON数据格式化后如下图所示:

7f151c834ac601bd1ed01ac7bf60ebea.png

猜测边界信息位于"points"中。但是points数据看起来很奇怪,不是正常的经纬度组。

猜测1,按前后顺序每两个为一组经纬度。

前两个看起来是应该墨卡托坐标,后面的数字很小,而且有负数,很奇怪。

猜测2,从第二组数字起,值为相对于前一组数据的差值。例如第二组数据是(99, -203),真实值应该是(12139329 + 99, 4047084 - 203),即(12139428, 4046881)。

下面验证下上述猜测是否正确。按上述思路将points中的墨卡托坐标对进行修正:

96eeca20ad06cbe995e0e040018621d1.png

修正后的13组墨卡托坐标对如下:

d1142f5c6c059e6acf683d6357cf360a.png

再将其转为经纬度坐标对,如下:

48ad9538a0e2d6cd3f96bfc4c5067a02.png

使用百度地图API标注,代码如下:

9f3200167b903c175fea77e9b80bd101.png

标注效果如下:

8ce0dbaac10b4b23673e2728aafcb00c.png

和百度地图中查询出来的该小区边界对比一致,如下图。

3516f497ea12d24050c1fe87e4d40f39.png

再找另一个POI验证一遍,从百度地图APP采集到的小区(366581fe3fd52baa714b871e)的基本信息和边界信息如下:

d1fa8f1d8f4b22619f0b8000f8eea6ab.png

修正后的墨卡托坐标组:

a574ee82dab096ab44e64c789219fbd6.png

墨卡托转经纬度后:

49242926fafee0d278794549625cc719.png

百度地图API标注测试,测试结果截图:

8826f6df1dece93685104cb85da0b179.png

和直接通过百度地图中查询出来的边界是吻合的,如下图所示。

6e37f98267e3f02568377ec0158a24e1.png

再找一个边界复杂点的小区验证下,从百度地图APP采集到的小区(50fe0b843b8fa7ed0b1cc7b9)的基本信息和GEOJSON数据如下:

2f9995cc13bcf596282be8cbc8f4eac5.png

如下图所示,上面是在百度地图中查询出来的“自然界·云栖”小区的边界,下面是我们采集到的边界参数经过API标记后的结果。上下是吻合的。

36e13f2b9350cb0104f51c72b0f8ca7f.png

再来一个边界更复杂的POI:

ee8760c0ff17472c5324f0eda1caf26a.png

如下图所示,上面是百度地图查询结果,下面是我们采集标注的结果。

6ed59d30befd56181c3386a6eb46f884.png

了解更多分析及数据抓取可查看:

易数云活动

本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。

特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值