Arcgis基于格网的道路密度分析
原始数据
行政区划:粤港澳大湾区
道路数据:来自于osm的2018年道路数据
环境准备
这里的准备包括以下几项:
数据框坐标系
其坐标系默认与第一个导入的数据的坐标系保持一致
数据坐标系
如果需要计算面积、长度的话尽量采用投影坐标系来计算,因为地理坐标系是球面坐标,计算起来误差有点大
横轴墨卡托投影带计算方法:
X = [ L a t /6 ] + 31
X 为 U T M 投 影 带 号 , L a t 为 当 地 中 央 经 线 度 数 , [ ] 为 取 整 符 号 X为UTM投影带号,Lat为当地中央经线度数,[ ]为取整符号
X为UTM投影带号,Lat为当地中央经线度数,[]为取整符号
建立格网
建立渔网的工具位于[Arctoolbox] - [数据管理工具] - [要素类] - [创建渔网]
打开工具界面如下:

这里面参数都很好理解,唯独有几个需要注意的地方
像元高度: 单位跟数据框的单位有关,因此这里在设置之前务必先设置好数据框坐标系。
几何类型: 这里常常被忽略,我们一般的渔网都是面类型(POLYGON),极少用到线类型。
输出数据: 输出的渔网是输入要素的最小外包矩形,因此仍需要进行裁剪(Clip) 才能得到目标形状的渔网。

让道路与格网在空间产生交集
两个矢量数据相交的方法有很多,这里我主要使用空间连接这个工具([Arctoolbox]-[分析工具]-[叠加分析]-[空间连接])
主要思想是根据空间位置上的相交关系,将道路数据写入格网数据的属性表里,进而可以在格网数据的属性表里看到每个格子与哪些道路相交了!
空间连接: 根据空间关系将一个要素类的属性连接到另一个要素类的属性。目标要素和来自连接要素的被连接属性写入到输出要素类.

这里需要注意的参数是:
连接操作:JOIN_ONE_TO_MANY
这个选项表示如果有目标要素与多个连接要素相交,会在属性表里保留全部相交的连接要素的属性记录,不会选择聚合。
如果选择了JOIN_ONE_TO_ONE,会进行属性的聚合,例如A要素与B要素的相交,一条属性是7,一条属性是3,那么聚合后输出的属性是10

运行完之后得到的格网的属性表如下:

该属性表里,TARGET_FID表示格网的编号,而JOIN_FID表示连接要素道路的编号。
可以看出每个格网都与若干条道路相交,因此下一步就是统计每个格网相交的道路的数量。
分组统计
接下来,我们以TARGET_FID为分组依据,言下之意就是以每个格子为单位,统计连接要素的记录条数(Count),所以这里我们采用汇总统计数据这个工具来实现。([Arctoolbox]-[分析工具]-[统计分析]-[汇总统计数据])

在下面的输出结果可以看到分组统计的结果,通过这样的方法,我们就成功算出了每个格网的道路数量。Count_JOIN_FID表示的是记录条数。

那么下一步,就是根据TARGET_FID这个字段与格网数据的FID字段进行连接即可!
属性表连接
我们选择分组统计结果表里的TARGET_FID字段与格网的FID字段进行匹配连接,验证连接显示所有的格网都能成功匹配,连接完成!

计算道路密度
首先呢,我们需要用一个双精度或者浮点型的字段来存储这个密度值,因此我们需要先添加字段,为了显得优雅,我设置了显示小数点后两位的限制。

然后就是用到字段计算器来得出我们所需的结果。

道路密度可视化
这一步根据密度值进行符号分级显示,效果显示也一切正常,完美结束!

环境准备这里的准备包括以下几项:
数据框坐标系其坐标系默认与第一个导入的数据的坐标系保持一致数据坐标系如果需要计算面积、长度的话尽量采用投影坐标系来计算,因为地理坐标系是球面坐标,计算起来误差有点大横轴墨卡托投影带计算方法:X = [ L a t 6 ] + 31 X = [\frac{Lat}{6}] +31X=[ 6Lat ]+31
X 为 U T M 投 影 带 号 , L a t 为 当 地 中 央 经 线 度 数 , [ ] 为 取 整 符 号 X为UTM投影带号,Lat为当地中央经线度数,[ ]为取整符号X为UTM投影带号,Lat为当地中央经线度数,[]为取整符号
建立格网建立渔网的工具位于[Arctoolbox] - [数据管理工具] - [要素类] - [创建渔网]打开工具界面如下:
这里面参数都很好理解,唯独有几个需要注意的地方
像元高度: 单位跟数据框的单位有关,因此这里在设置之前务必先设置好数据框坐标系。几何类型: 这里常常被忽略,我们一般的渔网都是面类型(POLYGON),极少用到线类型。输出数据: 输出的渔网是输入要素的最小外包矩形,因此仍需要进行裁剪(Clip) 才能得到目标形状的渔网。
让道路与格网在空间产生交集两个矢量数据相交的方法有很多,这里我主要使用空间连接这个工具([Arctoolbox]-[分析工具]-[叠加分析]-[空间连接])主要思想是根据空间位置上的相交关系,将道路数据写入格网数据的属性表里,进而可以在格网数据的属性表里看到每个格子与哪些道路相交了!
空间连接: 根据空间关系将一个要素类的属性连接到另一个要素类的属性。目标要素和来自连接要素的被连接属性写入到输出要素类.
这里需要注意的参数是:连接操作:JOIN_ONE_TO_MANY这个选项表示如果有目标要素与多个连接要素相交,会在属性表里保留全部相交的连接要素的属性记录,不会选择聚合。如果选择了JOIN_ONE_TO_ONE,会进行属性的聚合,例如A要素与B要素的相交,一条属性是7,一条属性是3,那么聚合后输出的属性是10
运行完之后得到的格网的属性表如下:
该属性表里,TARGET_FID表示格网的编号,而JOIN_FID表示连接要素道路的编号。可以看出每个格网都与若干条道路相交,因此下一步就是统计每个格网相交的道路的数量。
分组统计接下来,我们以TARGET_FID为分组依据,言下之意就是以每个格子为单位,统计连接要素的记录条数(Count),所以这里我们采用汇总统计数据这个工具来实现。([Arctoolbox]-[分析工具]-[统计分析]-[汇总统计数据])
在下面的输出结果可以看到分组统计的结果,通过这样的方法,我们就成功算出了每个格网的道路数量。Count_JOIN_FID表示的是记录条数。
那么下一步,就是根据TARGET_FID这个字段与格网数据的FID字段进行连接即可!
属性表连接我们选择分组统计结果表里的TARGET_FID字段与格网的FID字段进行匹配连接,验证连接显示所有的格网都能成功匹配,连接完成!
计算道路密度首先呢,我们需要用一个双精度或者浮点型的字段来存储这个密度值,因此我们需要先添加字段,为了显得优雅,我设置了显示小数点后两位的限制。
然后就是用到字段计算器来得出我们所需的结果。
道路密度可视化这一步根据密度值进行符号分级显示,效果显示也一切正常,完美结束!
原文链接:https://blog.csdn.net/abcbbbd/article/details/123602634
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)