Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(下)----空间数据的编辑与处理(超超超详细!!!)

(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(下)----空间数据的编辑与处理(超超超详细!!!)

作者头像
用户11404404
发布于 2024-12-13 11:50:51
发布于 2024-12-13 11:50:51
24100
代码可运行
举报
文章被收录于专栏:Edward的专栏Edward的专栏
运行总次数:0
代码可运行

续上篇博客(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(上)----空间数据的编辑与处理(超超超详细!!!)-CSDN博客

本篇博客内容为道路拓扑检查与修正,有对本实验实验目的、实验介绍有不了解的,可以看下上篇博客。

上篇博客有宝子私信我下载ArcGIS后出现了一个问题:空间校正那儿没有【设置校正数据】这一栏。

这个问题其实我最开始也遇到了,大概是应该安装的时候有点问题,

在这一步的时候要直接点击Cancel,有宝子点击OK,就会发生上诉情况,具体原因我也不知道,这也是我重装好几遍发现的。

解决方法就是,先删干净ArcGIS,包括注册表和文件夹残留,大家可以看看这篇文章,讲得很细 https://zhuanlan.zhihu.com/p/593618759 然后就还是按照上篇博客发的按照链接那样安装 ArcGIS10.8保姆式安装教程,超详细;附安装包_arcgis10.8安装教程-CSDN博客 只是注意在这个页面记得点击Cancel,而不是OK,大概就行了

然后回归主题,道路拓扑检查与修正,首先我来介绍下拓扑

什么是拓扑?

说到拓扑,肯定很多人会想到拓扑学,拓扑学(Topology)原名叫做位置分析(Analysis situs),是研究图形(或集合)在连续变形下的不变的整体性质的一门几何学。由于早期研究的是直观拓扑学,因此人们又把这种研究连续变换下不变的性质的学科形象地称为“橡皮几何学”或“橡皮膜上的几何学”,也就是说橡皮膜在不被弄破的情况下,不管如何拉伸、压缩、扭转等变形而存在着某些不变的性质。因此,研究这些不变性成为拓扑学研究的中心课题。中文“拓扑学”一词最早由陈省身根据英文Topology音译而来。

拓扑学是几何学的一个分支,但是这种几何学又和通常的平面几何立体几何不同。通常的平面几何或立体几何研究的对象是点、线、面之间的位置关系以及它们的度量性质。拓扑学对于研究对象的长短、大小、面积、体积等度量性质和数量关系都无关。

举例来说,在通常的平面几何里,把平面上的一个图形搬到另一个图形上,如果完全重合,那么这两个图形叫做全等形。但是,在拓扑学里所研究的图形,在运动中无论它的大小或者形状都发生变化。在拓扑学里没有不能弯曲的元素,每一个图形的大小、形状都可以改变。例如,前面讲的欧拉在解决哥尼斯堡七桥问题的时候,他画的图形就不考虑它的大小、形状,仅考虑点和线的个数。

什么是拓扑呢?拓扑研究的是几何图形的一些性质,它们在图形被弯曲、拉大、缩小或任意的变形下保持不变,只要在变形过程中不使原来不同的点重合为同一个点,又不产生新点。换句话说,这种变换的条件是:在原来图形的点与变换了图形的点之间存在着一一对应的关系,并且邻近的点还是邻近的点。这样的变换叫做拓扑变换。

拓扑有一个形象说法——橡皮几何学。因为如果图形都是用橡皮做成的,就能把许多图形进行拓扑变换。例如一个橡皮圈能变形成一个圆圈或一个方圈。但是一个橡皮圈不能由拓扑变换成为一个阿拉伯数字8。因为不把圈上的两个点重合在一起,圈就不会变成8。拓扑变换的不变性、不变量还有很多,这里不再介绍。

1.3.5道路拓扑检查与修正

(1)新建要素集:

右键Data\1文件夹,新建文件数据库,命名为"Data"

在新建地理数据库Data中创建Road要素数据集,导人已知数据坐标系“Xian_1980_3_Degree_GKZone_39”

右键刚新建的文件地理数据库,选择新建--【要素数据集】

选择要素数据集命名为”Road“,点击下一页

在搜索框搜索”Xian_1980_3_Degree_GK_Zone_39“,点击选择该坐标系,点击下一步

点击下一页、点击完成

(2)要素类至要素集:

右键点击新建的【Road】要素数据集,点击【导入】--【要素类(单个)】

输入要素选择【道路】,输出位置选择新创建的Road要素集,输出要素类填写【Roads】,点击确定,完成要素类至要素集操作。

(3)新建拓扑规则:

点击【自定义】--【工具条】--【拓扑】,跳出拓扑工具条,以供后面拓扑搭建的使用

右键点击【Road】要素类--【新建】--【拓扑】

输入拓扑名称为"Road_Topology",输入拓扑容差(T)为0.001,点击下一页

选择“道路”以参与到拓扑中的要素类,点击下一页

输入等级数为1,点击下一页

点击【添加规则(A)】,依次添加“不能有悬挂点”、“不能有伪节点”、“不能相交”三条规则,点击下一页

确认新建拓扑信息无误后,点击完成拓扑构建

打开拓扑工具条,选择”地块_Project“执行拓扑编辑,点击确定

拓扑完成拓扑建立需要一点时间,有时候会卡住,啥都动不了,直接重启,再次打开,立即验证拓扑并加载拓扑图层。图中的点、线、面错误均以标出,说明拓扑建立无误。

(4)拓扑修正:

点击拓扑工具条中的【错误检查器】,弹出错误显示框,选择【所有规则中的错误】,选择【错误】,点击立即搜索,错误列表中将显示道路中的所有拓扑错误

如何全部修正这些错误呢,下面我将一步步介绍:

首先是悬挂点修正

选择【道路--不能有悬挂点】(下图还是所有错误,懒得改了),点击搜索,按住Ctrl键,一一选择这些悬挂点错误。

当数据点太多的时候,总是一一点击太过麻烦,有什么更便捷的方式吗?博主上网查过,可以通过编写一个Python脚本来自动化处理这些错误,ArcGIS支持Python脚本,可以利用arcpy模块来实现批量处理。我这里提供网上的一段代码,大家可以自行琢磨(一定不会运行成功,因为要改工作空间、拓扑名称、具体错误):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import arcpy

# 设置工作空间
workspace = r"C:\path\to\your\geodatabase.gdb"
arcpy.env.workspace = workspace

# 加载拓扑
topology = "YourTopologyName"

# 获取所有错误
errors = arcpy.da.SearchCursor(topology + "\\Error", ["SHAPE@", "ERROR_TYPE"])

# 处理每个错误
for row in errors:
    error_type = row[1]
    error_shape = row[0]

    if error_type == "Dangling Node":
        # 修复悬挂点错误
        arcpy.RepairGeometry_management(error_shape)
    elif error_type == "Pseudo Node":
        # 修复伪结点错误
        arcpy.Snap_edit(error_shape, [[error_shape, "VERTEX", 0.1]])
    elif error_type == "Intersection":
        # 修复相交错误
        arcpy.SplitLineAtPoint_management(error_shape, error_shape, "in_memory\\split_lines", "0.1")

# 保存编辑
arcpy.SaveEdits_management()

右键选择延伸

选择延伸最大距离为1000,大部分点是100m内就行,但有部分点100m不够延伸,所有我选择的1000m,然后按Enter键

大部分悬挂点都已修正,可以看见剩下的悬挂点都在道路边缘,考虑到道路边缘再次延伸会超出研究范围,故不考虑修正这些悬挂点。

我们该如何规避这些道路边缘点呢?通过上网查阅,可以将剩下的悬挂点错误全选(ctrl一个一个选),然后右键,设置为异常,这样,这些点就不会出现在错误列表中。

伪结点修正

选择【道路-不能有伪节点】,显示所有伪节点信息,点击【合并至最长的要素】

相交错误的修正

打开【编辑条】--【更多编辑工具】--【高级编辑】,打开高级编辑条,选择错误显示列表为【道路-不能相交】

选择【道路-不能相交】,ctrl选择所有不能相交错误,右键点击【选择要素】

点击高级编辑工具条中的【打断相交线】

选择拓扑容差为0.001m,点击确定按钮

完成所有错误修正后是,点击【所有规则中的错误】,点击【立即搜索】,发现并没有错误出现,如果还有,就继续按照上面说的三种修正错误方法修正,直至不显示任何错误为止。然后显示修正后的道路图层网,发现并没有其他问题,实验接近尾声(熬到头了),准备数据入库。

数据入库

看到这里,你应该意识到实验已经接近尾声。。。实则不然,后面还有很多实验等着你呢哈哈。。本博主将和你一起共进退。。。

废话不多说,对于数据入库,操作如下:

(1)新建文件地理数据库:

右键点击【地理空间数据库】文件夹,右键点击【新建】-【文件地理数据库】,并命名为“osm”

(2)要素类至要素类:

右键点击osm.gdb,点击【导入】--【要素类(多个)】,打开“要素类至要素类”窗口,输人“Roads”要素,确定输出路径及名称(图1.27),点击【确定】,完成数据导人。

【输入要素类】--【Road】--【Roads】--【添加】,确定输出位置为新建的osm.gdb文件,点击确定

完成数据入库

查看文件夹中文件无误

至此,恭喜您已经完成了ArcGIS实验一 -- 空间数据的编辑与处理,记得点赞收藏+关注+评论本博主,我也会尽快更新后续实验,再见,可以睡觉了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(上)----空间数据的编辑与处理(超超超详细!!!)
ArcMap是一个用户桌面组件,具有强大的地图制作,空间分析,空间数据建库等功能。是美国环境系统研究所(Environment System Research Institute,ESRI)于1978年开发的GIS系统。
用户11404404
2024/12/13
7130
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(上)----空间数据的编辑与处理(超超超详细!!!)
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验二----网络分析(超超超详细!!!)
网络的例子在现实生活中应用比较广泛,例如道路网、电力网、地下管网、物流网等。网络分析是网络的连通性加成本(消耗)分析问题。例如,道路网连通性是指两个定位点(如城市)之间是否有道路直接或间接连通;而成本的概念比较广泛,是指网络上某路径上的开销,它可以是路径长度、车辆运行时间、过路过桥费等。
用户11404404
2024/12/13
7950
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验二----网络分析(超超超详细!!!)
空间数据的拓扑处理
  拓扑主要用于确保空间关系并帮助其进行数据处理,在很多情况下拓扑也用于分析空间关系,概括下来就两点,一是分析有无错误,二是利用拓扑进行编辑。
小孙同学
2022/01/17
2.4K0
空间数据的拓扑处理
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验五----土地整治(超超超详细!!!)
本实验利用GIS空间数据管理与分析功能,按照土地整治要求,求解某流域需要开展土地整治的土地面积,然后按照土地整治要求,利用GIS水文分析工具、区域统计工具,求出该流域需要开展土地整治的各类土地的面积,并进行土地整治成本计算。具体内容如下:
用户11404404
2024/12/23
2960
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验五----土地整治(超超超详细!!!)
四、探索空间数据【ArcGIS Python系列】
在 Python 脚本中,您可能需要确定数据集是否确实存在。该任务可以使用 arcpy.Exists()函数完成。返回函数返回一个布尔值True或False,指示该元素是否存在。
renhai
2023/11/24
3840
四、探索空间数据【ArcGIS Python系列】
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验六----流域综合处理(超超超详细!!!)
本实验以某流域为例,介绍小流域综合治理规划过程。利用等高线数据生成DEM,在DEM数据基础上提取水文要素、河网、流域范围数据,再采用ArcGIS的水文分析工具进行流域划分与统计分析,得到流域综合治理专题图。 (1)以outlet为出水口,提取出流域集水区范围,像元大小为30m。 (2)提取出流域范围内汇水面积累积量>100m’的河道,并对河网进行分级。 (3)以提取的河道网络为出水口,对流域进行子流域划分,对于面积<1hm'(1hm'=10000m’)的微小流域,按照边长最大原则进行合并处理。 (4)以表格形式统计流域中每一个子流域的地形高度特征(最小高度、最大高度、平均高度)。 (5)制作专题图,专题图要求以地形特征为背景,体现出流域河流水系和子流域分区特征并将专题图以.jpg的图片格式输出。
用户11404404
2025/01/24
2170
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验六----流域综合处理(超超超详细!!!)
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验四----城市用地适宜性评价(超超超详细!!!)
城市用地适宜性评价是城市规划中的一项重要基础性工作,合理确定可适宜发展的用不仅是以后各项专题规划的基础,而且将对城市的整体布局、社会经济发展产生重大影响。过去城市用地适宜性评价多采用定性分析的方法,由于影响土地适宜性的因素是多方面的,各因素对评价目标的影响程度(即权重)不同,定性分析评价方法并不能客观量化地体现各用地在适宜性方面的差异,使评价工作带有较大的主观性。为给总体规划的深入分析提供可靠的依据,提高方案决策的说服力和城市规划工作的客观性、科学性,探索一种适用于城市规划的用地评价定量化方法显得非常有必要。随着地理信息技术的发展和应用的逐渐成熟,为城市规划工作中城市用地适宜性评价工作从定性分析发展到定量分析提供了有力的技术手段。本实验以某区域为例,选取交通便捷性、环境适宜性、城市氛围、地形适宜性4个一级评价因子和7个二级评价因子,综合采用欧氏距离、重分类、模糊叠加、加权叠加等空间分析方法,阐述城市用地适宜性评价工作流程,并制作城市用地适宜性专题图。
用户11404404
2024/12/18
1.2K1
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验四----城市用地适宜性评价(超超超详细!!!)
(数据科学学习手札88)基于geopandas的空间数据分析——空间计算篇(下)
  在基于geopandas的空间数据分析系列文章第8篇中,我们对geopandas开展空间计算的部分内容进行了介绍,涉及到缓冲区分析、矢量数据简化、仿射变换、叠加分析与空间融合等常见空间计算操作,而本文就将针对geopandas中剩余的其他常用空间计算操作进行介绍。
Feffery
2020/06/28
1.6K0
ARCGIS接口详细说明
ArcGIS接口详细说明 目录 ArcGIS接口详细说明... 1 1.      IField接口(esriGeoDatabase)... 2 2.      IFieldEdit接口(esriGeoDatabase)... 2 3.      IFields接口(esriGeoDatabase)... 2 4. IRow接口(esriGeoDatabase)... 3 5. ITable接口(esriGeoDatabase)... 3 6. IArea接口(esriGeometry)... 4 7. I
水击三千
2018/03/12
2.5K0
(长期更新)《零基础入门 ArcGIS(ArcScene) 》实验七----城市三维建模与分析(超超超详细!!!)
本实验通过城区三维建模,初步认识城市三维建模、三维空间形态分析方法。利用某城区二维平面图,通过设置建筑物高度属性值构建城市三维模型,在此基础上利用ArcScene中的视域工具进行三维空间形态分析与统计计算,包括不考虑视野极限的可视区域、视野范围内非建筑物区域、视野范围内可见道路的长度、天际线(图)、可视建筑物统计。
用户11404404
2025/01/24
2060
(长期更新)《零基础入门 ArcGIS(ArcScene) 》实验七----城市三维建模与分析(超超超详细!!!)
ArcGIS空间分析笔记(汤国安)
2.在ArcCatalog 目录树中,右键单击载入数据库的要素类或表,选择加载——加载数据,打开简单数据加载程序向导。
Twcat_tree
2022/11/28
3.6K0
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验三----学校选址与路径规划(超超超详细!!!)
看到这里,说明您对arcgis已经有了一定的了解了,下面进行arcgis更高级的玩法---叠加分析
用户11404404
2024/12/13
5200
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验三----学校选址与路径规划(超超超详细!!!)
Part4-2.对建筑年代的预测结果进行分析:绘制混淆矩阵、计算分类报告,绘制空间分布
本文为《通过深度学习了解建筑年代和风格》论文复现的第六篇——对建筑年代深度学习模型的进行评价,我们首先会通过对测试数据集的预测来展示模型的预测能力,其中,我们会介绍对模型进行评估的几种方法,包括混淆矩阵、召回率 (Recall)、精确度 (Precision)、F1分数 (F1 Score),然后,我们会利用类激活映射(Class Activation Mapping,简称 CAM)查看模型关注哪些方面,最后从空间上观察建筑年代的预测结果在空间上的表现。
renhai
2023/11/24
7430
Part4-2.对建筑年代的预测结果进行分析:绘制混淆矩阵、计算分类报告,绘制空间分布
一篇文章带你玩转PostGIS空间数据库
人类理解世界其实是按照三维的角度,而传统的关系型数据库是二维的,要想描述空间地理位置,点、线、面,我们就需要一个三维数据库,即所谓空间数据库。
半旧518
2023/10/17
9.2K0
一篇文章带你玩转PostGIS空间数据库
Python 爬虫超详细讲解(零基础入门,老年人都看的懂)
网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。 原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做。
Python小二
2020/09/08
8000
Python 爬虫超详细讲解(零基础入门,老年人都看的懂)
Wolfram语言和Mathematica发布12.1版本:一年之内海量更新
本文译自Stephen Wolfram 博士- Wolfram CEO 3月18号的博客
WolframChina
2020/04/27
2.1K0
Wolfram语言和Mathematica发布12.1版本:一年之内海量更新
arcpy怎么用_python arcpy
arcgis地理处理包括了查找工具、工具箱、地理处理环境、模型、python脚本、arcpy等一系列自动执行地理任务的框架。
全栈程序员站长
2022/11/17
2.5K0
arcpy怎么用_python arcpy
Part3-1.获取高质量的阿姆斯特丹建筑立面图像(附完整代码)
本文为《通过深度学习了解建筑年代和风格》论文复现的第三部分——获取阿姆斯特丹高质量街景图像的上篇,主要讲了如何获取利用谷歌街景地图自动化获取用于深度学习的阿姆斯特丹的高质量街景图像,此数据集将用于进行建筑年代的模型训练[1]。
renhai
2023/11/24
8670
Part3-1.获取高质量的阿姆斯特丹建筑立面图像(附完整代码)
计算机视觉学术速递[9.6]
【1】 Semantic Segmentation on VSPW Dataset through Aggregation of Transformer Models 标题:基于Transformer模型聚合的VSPW数据集语义分割 链接:https://arxiv.org/abs/2109.01316
公众号-arXiv每日学术速递
2021/09/16
5290
统计学学术速递[7.26]
【1】 Joint Shapley values: a measure of joint feature importance 标题:关节Shapley值:关节特征重要性的度量
公众号-arXiv每日学术速递
2021/07/27
7420
推荐阅读
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(上)----空间数据的编辑与处理(超超超详细!!!)
7130
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验二----网络分析(超超超详细!!!)
7950
空间数据的拓扑处理
2.4K0
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验五----土地整治(超超超详细!!!)
2960
四、探索空间数据【ArcGIS Python系列】
3840
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验六----流域综合处理(超超超详细!!!)
2170
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验四----城市用地适宜性评价(超超超详细!!!)
1.2K1
(数据科学学习手札88)基于geopandas的空间数据分析——空间计算篇(下)
1.6K0
ARCGIS接口详细说明
2.5K0
(长期更新)《零基础入门 ArcGIS(ArcScene) 》实验七----城市三维建模与分析(超超超详细!!!)
2060
ArcGIS空间分析笔记(汤国安)
3.6K0
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验三----学校选址与路径规划(超超超详细!!!)
5200
Part4-2.对建筑年代的预测结果进行分析:绘制混淆矩阵、计算分类报告,绘制空间分布
7430
一篇文章带你玩转PostGIS空间数据库
9.2K0
Python 爬虫超详细讲解(零基础入门,老年人都看的懂)
8000
Wolfram语言和Mathematica发布12.1版本:一年之内海量更新
2.1K0
arcpy怎么用_python arcpy
2.5K0
Part3-1.获取高质量的阿姆斯特丹建筑立面图像(附完整代码)
8670
计算机视觉学术速递[9.6]
5290
统计学学术速递[7.26]
7420
相关推荐
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(上)----空间数据的编辑与处理(超超超详细!!!)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验