zoukankan      html  css  js  c++  java
  • 省、市、区、街道行政区数据以及行政区数据合并问题

    最近在开发的过程中,遇到了一个问题,如何将多段Polygon合并成一个,在网上找了好久,试了一堆方法,这里转载我找到的一个实际用起来最有用的方法

    以下内容转载于:https://www.cnblogs.com/vmumu/p/13356419.html

    一、行政区获取

    公司需要做大屏数据展示,地图地区需要到街道级别。

    查看了不少资料。

    目前的解决方案是,省市级别的数据在阿里地图选择器下载( http://datav.aliyun.com/tools/atlas/),可以做到县级下钻,如果要下钻到街道级别,则需要网上找这部分数据(找了很多,不大靠谱。如果付费的话,BIGEMAP,3000多授权,能下载所有行政区数据)。我们公司小,需求不多,就湖南部分区县,所以网上找的方案,用的BIGEMAP的免费功能,导出边界,一个个的街道导出(BIGEMAP无mac版)

    以醴陵市(湖南省-株洲市-醴陵)为例

    1、导出所有街道级别KML文件,然后在 http://geojson.io/#new 转化为JSON数据,转化后数据格式大概如下。

    {
      "type": "FeatureCollection",
      "features": [
          {
            "type": "Feature",
            "geometry": {
              "type": "Polygon",
              "coordinates": []
          }
        }
      ]
    }

    2、合并数据,将所有街道级别JSON,合并到一起,就是整个醴陵市区的行政区数据。上述代码JSON对象下features数据放到一个features对象下(数据太多可以用nodejs或者java写个方法,读取文件合并)

    {
      "type": "FeatureCollection",
      "features": [
         {
                // 街道1下features
            },
         {
                // 街道2下features
            },
         {
                // 街道3下features
            },
            // ...
      ]
    }

    二、行政区数据合并

    区级别的行政区及以上级别可能改变会比较小,街道级别数据变动比较多,以醴陵为例,BIGEMAP上数据应该是比较早以前数据,2015年后街道合并、改名的有很多,下图对照即可看出

    (左边为BIGEMAP上的醴陵市行政区数据,右图是我们系统的,差不多也是最新的数据。)

    注:本文以geojson、mapshaper这两个网站合并区域为例,其他博客也看到可以用js之类处理合并,可以去看看

     1、合并数据,以【明月镇】为例,百度百科数据(2015年,贺家桥镇与大障镇成建制合并设立明月镇)。

    在 http://geojson.io/#new 上传家桥镇与大障镇的kml文件(之前已下载) OPEN - FILE

     获得如下行政区边界数据

     将右侧数据复制出来,另存为json文件

    2、修改该json文件,目前得到数据如下,features数组对象下,每个对象的properties增加alias属性,属性值为合并后名字。保存

    3、打开https://mapshaper.org/,选择刚上传的json文件导入,得到如下数据

    打开网站命令行工具,输入命令 dissolve 'alias' -o result.json,回车,然后下载json文件

     4、校验,下载完的json数据拷贝出来,放入geojson右侧JSON框内,就可以看到合并后的行政区了。注意修改properties下的属性,合并后,属性名为 alias ,需改为 name,与之前保持一致

     

    如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

  • 相关阅读:
    Dispose() C# 优化内存
    C#对图片文件的压缩、裁剪操作初探
    C#如何调用COM
    rtf格式的一些说明,转载的
    IStream 接口
    NET RichTextBox控件如何可以插入图像
    AutoCAD如何打印
    AutoCAD如何编辑块,打散块
    AutoCAD菜单加载失败 找不到文件mnc 怎么办
    AE After Effect 渲染如何输出设置
  • 原文地址:https://www.cnblogs.com/smileZAZ/p/15671936.html
Copyright © 2011-2022 走看看