【数据获取】1:25万全国基础地理公开数据库(水系、道路、村庄)下载整理

全国地理信息资源目录服务系统(http://www.webmap.cn/main.do?method=index)是自然资源部下属的数据平台,其中有很多非加密的共享数据可以为我们下载使用,本推文以1:25万的地理数据为例,分享数据获取的方法,以及数据批量合并的工具。

1.数据分享平台

数据共享平台

 

2.1比25万数据集下载数据

进入下载界面

 

数据库主要分为4个大类,按照点线面来区分,每个大类下又分为至少两个小类。整体现势性为2015年;图层内容含水系(点、线、面层),公路、铁路(线层),居民地(点、面层),居民地地名(注记点),自然地名(注记点)等9类要素层。

进入下载界面,注册账号,登陆

有多种方式来确定范围,平时用的较多的是按照省份或者是框选的方式,其实这个选择的范围是不精确的,下载完之后数据还是需要用界线去裁剪,所以这里也不用纠结,大概框选区域就行,下面我以海南省的地理数据库信息为基础,为大家演示下载的过程。

下载范围框选

选择海南省和下面出现的市行政区域

下载界面

加入购物车,然后点击购物车

加入购物车

结算,填写真实信息

如实填写即可,获取验证码,然后得到需要下载的数据,如下图,即可下载了!!!

3.同类数据批量合并

将数据解压到单独的文件夹,如下图,每个文件夹中都有相同名称的文件,要将所有文件夹中的同类文件合并

解压到各自文件夹

如果放在从前已经打开python准备遍历文件夹,然后找到同名称的shp进行合并了,但是我最后的目的还是想做一个可以直接加载到arcgis中方便使用的工具,所以我决定用model builder试一下。大概分析一下有这样几个问题需要解决:

1.如何通过循环遍历所有文件夹

2.如何获得遍历各文件夹下的名称

3.合并的嵌套结构如何在model builder中表示出来

接下来我们来解决这些问题。

1.通过遍历文件夹的方式来获得目录下每个文件夹的名称,而文件夹下有二级名称,可以直接通过定义路径的方式获得所有的要素类。

通过迭代空间的方式获得空间下文件夹的名称

获得空间下文件夹名称,,将名称改成value,英文更加便于编写

得到了所在文件夹的名称

2.通过计算值的方式获取到指定的要素类,我们以水体的面要素为例进行编辑,首先根据得到的文件名获取水体的要素

def huoqu(value):
     filename="F:\\图文编辑和教学\\推文\\10.10\\"+value+"\\"+value+"\\hyda.shp"    
     return filename    

得到的文件需要与后面的迭代文件进行合并,而整个过程也不能够出现使用前面的数据和后面生成的数据一起合并,这种情况在python代码中比较好处理,但是 在model builder中属于比较难处理的一种问题。

3.所以仍然考虑用计算值的方式来求解,通过计算值和合并的结果产生关联,利用这种关联将合并之后的数据与迭代数据进行合并

通过计算值工具获得合并之后的结果

获得合并之后的结果,对合并进行迭代

def hebing():
     filename="C:\\Users\\yanza\\Documents\\ArcGIS\\Default.gdb\\c1_Merge_Copy"
     return filename

在合并之后的结果上再进行循环,得到最后的模型

由于第一次迭代的时候合并的结果为空,没有该图层,所以需要事先生成一个指定位置的图层以防运行时出现错误!!!

导出未合并之前的数据

大功告成,开始跑数据

部分区域还需要进一步完善,可能有的数据库并不一定有hyda的文件,因此选择的时候需要先探究其是否存在的问题,所以在计算值的时候需要用os.path.exists()函数来确定文件是否存在,如果存在,就输出该文件,如果不存在就用一个空的文件代替进行合并即可,修改计算值的代码如下

def huoqu(value):
    import os
    filename = "F:\\图文编辑和教学\\推文\\10\\" + value + "\\" + value + "\\hyda.shp"
    filename1 = "C:\\Users\\yanza\\Documents\\ArcGIS\\Default.gdb\\c1_Merge_Cop"   '此为空文件
    if os.path.exists(filename):
        return filename
    else:
        return filename1

合并完成

合并的工具我将放在微信公众号元凿坊工作室的后台,供大家下载,后面有时间会再整理一下这个将其做成一个小工具的形式。如果大家有制作arcgis小工具方面的需求可以关注淘宝小店元凿坊工作室,谢谢大家的关注。

  • 8
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值