2021SC@SDUSC 项目实训-ArcMap处理路网密度(创建渔网)

2021SC@SDUSC


一、数据来源

接下来主要处理静态数据,可以使用到的数据包括路网密度以及poi分布,同时必须要完成的任务是地理区域的划分,因为我要实现的内容必须基于城市的网格划分,出于对计算效率等方面的考虑,我使用5*5km的网格进行处理,经过选择我使用ArcMap这样一个GIS软件,安装下载教程可以通过csdn搜,还是非常好用的。

二、数据的获取

路网数据来源
https://www.openstreetmap.org/
但是他无法获取城市的数据,所以我们需要利用其它的API完成。
Overpass API是一个可以写代码获取一个城市路网的接口。具体使用方法为:

① 根据城市名获取城市的ID:
进入网页,然后在Overpass API QueryForm这个窗口中输入以下代码(需要把南平市替换为您的目标城市),然后点击query,就会下载一个interpreter的文件。

<osm-script>
	<query type="relation">
	    <has-kv k="boundary" v="administrative"/>
		<has-kv k="name:zh" v="济南市"/>
	</query>
	<print/>
</osm-script>

打开下载的文件(记事本打开就行),可以看到一个ID,这个ID与第一步在openstreetmap中写的城市ID是一致的。

② 依据城市的ID获取路网数据:还是在网页,然后在Overpass API QueryForm这个窗口中输入以下代码(需要把中的数字替换为您的目标城市的ID+3600000000,也就是前三位为360,后面7位数是上一步得到的城市ID),然后点击query,又会下载一个interpreter的文件。

<osm-script timeout="1800" element-limit="100000000">
  <union>
    <area-query ref="3603283765"/>
    <recurse type="node-relation" into="rels"/>
    <recurse type="node-way"/>
    <recurse type="way-relation"/>
  </union>
  <union>
    <item/>
    <recurse type="way-node"/>
  </union>
  <print mode="body"/>
</osm-script>

下载后格式为.osm,导入ArcMap还需要下载一个插件完成(OpenStreetMap Toolbox.tbx)。
关于导入的部分已经很多人写过了,我就不在赘述,接下来叙述一下完整的地理处理流程(踩了不少坑总算成功,希望后面有人可以看到我的做法少走冤枉路)
在这里插入图片描述

首先我这里边的_change都是要用到的,然后你比如先打开dongying_change里边的东西添加进来(这个change是进行过坐标系转换的文件,如果你也想创建按km计算的渔网并统计,一定要先转换坐标系)
在这里插入图片描述

创建渔网
在这里插入图片描述

在这里插入图片描述
输出要素类最好就在你打开的这个目录下起个名
在这里插入图片描述

然后这块填5000(单位是米,根据需要改变),改类型
确定就出来了

在这里插入图片描述
然后裁剪一下(避免过多无用网格)
在这里插入图片描述

输入刚才创建的渔网,根据这个地图的面做裁剪
在这里插入图片描述
裁完之后用裁完的,之前的渔网不用了

在这里插入图片描述

裁剪好这个渔网先右键打开属性表新建字段
在这里插入图片描述

右键字段计算器
在这里插入图片描述
然后再去做路网和渔网的相交操作
在这里插入图片描述
在这里插入图片描述
相交完的结果右键打开属性表新加这个字段
在这里插入图片描述
右键计算几何,单位选千米
在这里插入图片描述
右键id选汇总,然后求和
在这里插入图片描述
裁剪好的渔网右键连接,连接刚导出的output
在这里插入图片描述
裁剪好的渔网属性表新建字段
在这里插入图片描述
右键计算几何
在这里插入图片描述
接着新建
在这里插入图片描述
右键字段计算器
在这里插入图片描述

接着加X
在这里插入图片描述

右键计算几何
在这里插入图片描述
一样的再加个Y
在这里插入图片描述

然后把这个表右键导出成txt就行了
记得改个能认出来的名字

猜你喜欢

转载自blog.csdn.net/m0_46306466/article/details/125107093