其他
Arcgis教程:绘制城市边界
随着城市化进程的不断推进,城乡之间的界限越来越模糊,但对于城市规划、交通规划等诸多事项,区分城乡的边界又十分重要。本次推送将介绍如何利用GIS绘制城市边界。
绘制城市边界最直观的方法当然是手动画界,这一步可以利用GIS-Toolbars-Customize-Draw选项来实现。以下图中的城市为例,通过不规则多边形勾画肉眼可见的城市所在区域——粉色区域,基本的结果呈现如下:
然而,这样的绘制显得比较主观、粗糙,而且不可复制,不能发挥GIS的功能。
故本次推送的重点将是介绍一种更加量化、可复制的方法绘制城市的边界。这种方法的基本思想是:我们先将所有土地分为城市用地和非城市用地两种类型,然后只使用城市用地绘制一张地图,接着对这张地图进行调整修饰,使之尽可能地贴近真实的城市形状。
具体步骤如下:
一:区分城市用地和非城市用地,绘制只包含城市用地的地图
打开城市地图,右击图层名称,选择Open Attribute Table,如图:
BG2006A表示用地类型,每一个数字分别对应一种用地类型,从中找到属于城市用地的土地类型所对应的数字。点击工具栏Selection,选择Selected By Attribute。在下图第一个红框中选择BG2006A,也就是代表土地使用类型的代码,然后在第二个红框处输入条件:BG2006A=num,其中num就是1中找到的对应城市用地的数字,用OR将所有条件连接起来,如图:
回到Open Attribute Table,右击urban,选择Field Calculator,出现如下对话框。在红框中填入1。
通过上述3步可以实现土地类型和城市的匹配。再打开Open Attribute Table,可以看到第2步中我们选择的用地类型对应的urban值均为1。换句话说,我们告诉GIS第2步中的土地类型对应的区域就是城市。接着,重新打开Select By Attribute,将条件改成Urban=1,这样城市区域就会被选中。我们可以把选中的城市区域导出为新的Shapefile:右击图层-Data-Export Data,然后将导出的数据添加为新的图层(这一步会有对话框提示,跟着提示即可)。这样就可以根据新添加的图层绘制只包含城市用地的地图,结果如图:
二、对第一步绘制的地图进行调整修饰
整合城市区域
第一步中得到的城市地图事实上是由许多城市用地的区块组成的,两个区块之间可能隔着一条河、一条路,或者一片草地。因此,在第二步中,我们要补上这些“缝隙”,使这些城市区块组成一个整体。这可以通过两个工具来完成:Buffer和Dissolve。关于这两个工具用法的具体介绍可以通过工具栏Geoprocessing-Search For Tools获取,接下来我们介绍它们在这个例子当中的应用。
选择工具栏Geoprocessing-Buffer,出现如下对话框:
其中比较关键的是红框处需要填入一个数字,这个数字的作用是标识我们希望多长距离的“缝隙”会被填补。比如这里填入的是100米,因为我们绘制的是城市地图,我们认为100米的“缝隙”很可能是城市中的道路,我们希望这些缝隙被填补进入一个更加整合的城市区域。如图:左边是完成Buffer之后的地图,右边是之前的地图。可以看到:完成Buffer之后城市的地图变得更加整合,原来的地图中的许多“缝隙”都被填补上了。
通过Buffer操作之后,地图的整合度提升了。但同时出现了一个问题,整个地图的边界往外扩了100米。Buffer可以往外填充,同样也可以往内回缩,但是如果我们接着马上就做反方向的Buffer的操作(所谓反方向的操作就是将在上一步的Buffer中的100改成-100),就相当于抵消了上一步的效果,无法实现填补“缝隙”的目的。所以在进行反向的Buffer之前,我们先进行Dissolve,通俗地理解Dissolve在这里的作用就是将我们上一步填补起来的缝隙溶解进各个城市区块当中。当它与城市区块成为一体时,再执行反向的buffer操作就不会抵消填补“缝隙”的效果,而是仅将城市的边界往回缩100米。具体操作如下:选择工具栏Geoprocessing-Dissolve,如图:
执行反方向的Buffer操作,如图:
到此,我们得到了一张和原始地图边界形状完全一样,但是整合程度更高的地图。如图:
左边是经过我们的处理整合之后的地图,右边是最初的地图。
然而,经过整合处理后的地图仍然存在两个问题:一是在城市区域中,存在一些“小洞”;二是城市中心区域之外的一些用地,虽然被归入城市用地,但由于它们中心城区太远且面积过小,我们并不将这些部分视为城市区域。总之,我们的地图看起来仍然有些零碎,不够整洁。因此接下里的处理工作是需要补上小洞以及去掉城市之外的一些碎片区块,使地图更加简洁干净。简洁净化地图
“净化”地图的目标只需要通过Aggregate Polygons工具即可实现,在使用这个工具之前,首先需要通过Multipart To Singlepart选项拆分多部分要素,这个选项可以在Geoprocessing-Search For Tools中找到,界面如图:
接着使用Aggregate Polygons工具,这个工具同样通过Geoprocessing-Search For Tools找到。界面如图:
这里简单介绍一下红框中的三个数字的含义:前两个数字,250米和25公顷表示我们希望将距离城市主体地区250米以外且面积小于25公顷的碎片区块从地图中删除;第三个数字15公顷是指如果城市主体内部的“小洞”面积大于15公顷,那么我们将它填补上。这三个数字如何填写需要根据所绘制的对象的具体情况和现实环境进行调试,并没有统一标准。
至此,我们就完成了城市边界全部绘制。最终结果如下图左所示:可以看到绘制的结果和右图的城市区域——粉色部分是非常接近的。此外,相比我们最初手绘的边界,图左的结果显得精细很多,而且整个的绘制过程是可重复,可检验的。
推 荐 阅 读
名单 | 自然资源部拟成立6大部门16司:探索“多规合一”模式