本文描述的是对国家统计局于2019-01-31发布的《2018年统计用区划代码和城乡划分代码(截止2018年10月31日)》中省市区三级的坐标和行政区域边界的采集。随着时间变化,本文内容会逐渐变旧或失效,请到GitHub仓库查阅最新更新数据。

边界效果预览

数据来源

坐标和边界是高德地图提供的数据接口;可通过方法转换成其他坐标系的坐标,比如百度地图的。

数据采集

1. 调用高德地图接口抓取原始数据

进入高德地图测试页面,执行代码即可完成抓取,开了4个模拟的线程,采集了3300+数据,首次运行大概2分多钟完成采集。

抓取完成后会自动弹出保存文件数据。

源码里面包含了对不同地名的处理,有些城市不能直接通过编码或城市名称来查询,高德地图相对于统计局还是有些滞后。

2. 处理数据和导出CSV

这个代码比较简单,目前只是起到把数据导出来的作用,里面写了一大堆方法,但运行过一次后发现,基本上可以不用了,因为对数据进行验证部分发现高德的数据非常完美。

代码运行完成就自动弹出保存csv文件数据了。

为什么不采百度的

使用高德接口采集是后面才决定的,因为本来是用百度地图的接口,但数据全部搞完,经过使用发现百度地图数据有严重问题:

参考 肃宁县(右下方向那块飞地)、路南区(唐山科技职业技术学院那里一段诡异的边界) 边界,百度数据大量线段交叉的无效polygon(百度地图测试),没有人工无法修正,高德没有这个问题(高德地图测试);

并且高德对镂空性质的地块处理比百度强,参考天津市对唐山大块飞地的处理,高德数据只需要Union操作就能生成polygon,百度既有Union操作又有Difference操作,极其复杂数据还无效。

所以放弃使用百度地图数据。

如何使用这些数据

坐标和边界数据和省市区数据是分开存储的,通过ID来进行关联。

采集到的csv文件可以导入到数据库内使用,由于POLYGON需要解析,蛮复杂的,可以参考src/map_geo_格式化.js内的SQL Server导入用的SQL语句的例子。

如果需要特定的POLYGON格式,可以根据库里面介绍的字段格式,自行进行解析和验证。

使用过程中如果遇到多种不同坐标系的问题,比如请求的参数是WGS-84坐标(GPS),我们后端存储的是高德的坐标,可以通过将WGS-84坐标转成高德坐标后进行处理,百度的坐标一样。转换有相应方法,转换精度一般可以达到预期范围,可自行查找。或者直接把高德的原始坐标数据转换成目标坐标系后再存储(精度?)。

SQL Server中的运行结果(大概2分钟完成POLYGON的转换,表数据物理存储空间大概300M):

最后

releases内除了有省市区三级坐标和行政区域边界csv数据外,还有处理好的3级或者4级省市区镇 csv数据提供下载。

如果这个库有帮助到您,请 Star 一下。

高德地图看各省分界线_从高德采集最新的省市区三级坐标和行政区域边界,用js在浏览器中运行...相关推荐

  1. 高德地图看各省分界线_深度解读|高德宣布高精地图“百元时代”背后的商业逻辑是什么...

    车展前夕,高德的一次媒体沟通会,或许将为国内自动驾驶的发展带来深远影响. 4月11日,高德地图在北京举行"高精宣言"媒体沟通会,表示将对高精地图服务进行升级,并以成本价格提供标准化 ...

  2. 高德地图看各省分界线_高德地图调取行政区域应该注意的一个问题

    首先,本人是刚开始接触高德地图的功能使用,在一次demo中遇到了问题:用 HttpClient 在查询区域中,并没有查询到想要的结果(区域信息),经过对输出信息的分析找到了原因. demo 中输出的内 ...

  3. 高德地图看各省分界线_高德地图定位城市区域

    h文件 引入CoreLocation/CoreLocation.h @interface WeatherViewController :UIViewController<CLLocationMa ...

  4. java高德地图api开发平台_【高德地图API】从零开始学高德JS API(一)地图展现...

    摘要:关于地图的显示,我想大家最关心的就是麻点图,自定义底图的解决方案了吧.在过去,marker大于500之后,浏览器开始逐渐卡死,大家都开始寻找解决方案,比如聚合marker啊,比如麻点图啊.聚合m ...

  5. android 高德地图移动卡顿_使用高德SDK开发安卓地图应用软件

    01 - 注册高德开发者 注册高德开发者: 滑到官网页面底部,选择Android地图SDK: 点击左下方"下载完整示例代码": 进入到如下界面: 02 - 获取地图服务key并下载 ...

  6. 高德地图各种摄像头图标_【高德地图上的摄像头资讯】高德地图上的摄像头足球知识与常识 - 足球百科 - 599比分...

    摄像头是测速用的,超过限制时速就会抓拍,一般都个点中间的距离固定,分别进入分析系统记录出时速限制,就会记录违章了. 违章摄像头一般都是在红绿灯,通过地感线圈传导违章信号,触发抓拍. 监控摄像头分为测车 ...

  7. android 高德地图移动卡顿_高德、百度和腾讯三家比拼,哪个 Android 车机地图 App 更好用?...

    写在前面 不管是自己开车.还是平时打车,相信你一定留意过驾驶座旁边位于车辆中间的那块大屏幕,不管是平时开车导航.放音乐,还是通过倒车影像辅助倒车,都离不开这块屏幕,这就是中控车机. 中控车机往往搭载的 ...

  8. 从高德地图看它的wmts服务

    从高德地图看它的wmts服务 有很多介绍高德wmts规则的,那为什么不打开高德地图看看呢 网上有介绍lang.size.scl.style参数的,但不直观. 打开高德地图一目了然,我们只是要它的瓦片服 ...

  9. 高德地图查询各省地市县区地理坐标

    高德地图查询各省地市县区地理坐标 https://lbs.amap.com/api/webservice/guide/api/district

最新文章

  1. Comparable与Comparator的区别
  2. 如何利用Python批量将Word中的信息提取到Excel?
  3. 牛客题霸 [用两个栈实现队列] C++题解/答案
  4. 新闻发布项目——分页公共类(PageUitl )
  5. 炫界 (978) -(建工发现应用克隆漏)_除了DMA,这些漏损点检测与漏损区域识别技术你知道么?...
  6. amd cpu排行_最新AMD CPU排行出炉 E6版3000+夺魁
  7. OpenCV阈值处理函数cv::threshold()
  8. windows永久添加路由
  9. 8类网线利弊_知识积累 | 千兆网线和百兆网线有何区别?
  10. 演出节目名字_华晨宇——让我看娱乐节目看到感动
  11. maya导出fbx没动画_fbx在maya和max之间的互导问题及解决方法
  12. python1~10阶乘_阶乘python怎么打
  13. php7关闭缓存、禁用缓存
  14. 荣耀4a鸿蒙,华为荣耀4A上手评测:599元也可以很拉轰
  15. Kettle构建Hadoop ETL实践(八-2):维度表技术
  16. Mysql笔记之 数据类型
  17. NiosII 学习过程
  18. Python批量处理图片名
  19. 2022年终总结与展望
  20. FL Studio教程之如何加载采样

热门文章

  1. Android 模拟游戏手柄按键(跨进程 KeyEvent 事件)实践方案
  2. 互联网二手车的春天真的要来了吗?
  3. jitter单位_JITTER
  4. 详解C#中的命名空间
  5. 技术牛人在阿里内网的公开信:“王坚,你为什么要放弃”
  6. ERROR: Failed building wheel for box2d-py
  7. 大学可以这样读——我的心路历程和一点思考
  8. 举个栗子~Tableau 技巧(216):服务器视图中的文字乱码怎么办?
  9. blackjack算法java_[CareerCup] 8.1 Implement Blackjack 实现21点纸牌
  10. 求复杂多边形面积的算法