基于城市市政管线一张图的排水管网模型数据转换方法与流程

本发明涉及一种基于城市市政管线“一张图”的排水管网模型数据转换方法,属于市政工程信息技术与地理信息系统技术交叉领域。

背景技术:

排水管网系统是重要的城市基础设施,担负着收集和输送城市污水和城市降雨、融雪产生的径流的任务,具有保护环境和城市减灾双重功能,被称作城市的“生命线”和“血脉”,在城市规划和建设中的作用不容忽视。在新版《室外排水设计规范》(gb50014—2006)(2016年版)中已明确指出,当汇水面积超过2km2时,宜采用数学模型法。可见排水防涝模型的应用已经被提上了日程。

城市市政管线“一张图”是反映城市最新现状和规划成果的可持续动态更新的市政管线信息系统,是规划国土“一张图”的重要组成部分。市政管线“一张图”由现状管线数据和规划管线数据两部分组成,如深圳市市政管线“一张图”现状管线数据以深圳市现状管线勘测数据为准,规划管线数据以最新编制审批的专项规划、法定图则中的市政工程技术文件等为基础进行整合。市政管线“一张图”包括城市给水、污水、雨水、再生水、电力、通信、燃气、综合管廊八类管线,以arcgis数据库shapfile格式存储管线信息,其中雨污水排水管线信息包括管线的qsdm(起始地面标高)、mddm(终点地面标高)、qsbg(起始管底标高)、mdbg(终点管底标高)、pd(坡度)、len(管线长度)、width(管径(宽度))、heith(高度)、lx(流向)等信息,但市政管线“一张图”未单独建设节点信息数据库。

arcgis是一个全面的系统,用户可用其来收集、组织、管理、分析、交流和发布地理信息,随着计算机技术的发展,arcgis在建立地理空间数据库方面的独特优势日益突出,在排水管网模型及排水防涝模型建模中的应用越来越多。应用arcgis可以进行数据管理和空间分析,也可以直观、动态地进行建模或可视化管理。arcgis数据以点、线、面的形式存储,数据形式统一,管理方便,可以表现图形的空间分布情况和几何状况,记录图形的属性数据。在排水管网模型建设时,arcgis模型数据库可以方便的输入至模型软件系统,随着排水管网模型技术的发展,如何行之有效的构建arcgis排水管网模型数据库显得尤为重要。

arcgis排水管网模型数据库通常应包括节点图层数据库和管线图层数据库,节点图层属性数据应包括节点编号、节点类型、x坐标、y坐标、地面高程、井底高程,管线图层属性数据应包括管线编号、上游节点编号、下游节点编号、管线形状、管径、渠宽、渠高、管线长度、上游底高程、下游底高程。市政管线“一张图”排水管线信息虽包含了管线的起始地面标高、终点地面标高、起始底标高即上游底高程、终点底标高即下游底高程、管线长度、管径(宽度)、高度、流向等信息,但不包含管线上下游节点编号信息及节点图层信息数据库,无法直接应用于排水管网模型的建设,仍需进行排水管网模型数据的有效转换。

为了实现市政管线“一张图”排水管线信息到排水管网模型数据的有效转换,本发明提出了一种基于城市市政管线“一张图”的排水管网模型数据转换方法。

技术实现要素:

本发明从排水管网模型构建的需求出发,基于市政管线“一张图”排水管线信息的存储特点,提出了一种基于城市市政管线“一张图”的排水管网模型数据转换方法。

本发明的技术方案如下:

基于城市市政管线“一张图”的排水管网模型数据转换方法,所述方法依次包含以下步骤:

(1)节点图形数据的自动生成

1、在arcgis中加载市政管线“一张图”排水(雨水或污水)管线数据,将其另存为“排水管线数据”。

2、在arcgis中通过“featureverticestopoints”(要素折点转点)工具在管线端点处自动生成点数据,其中“输入要素”选择“排水管线数据”,“输出要素类”命名为“节点数据”,“点类型”选择“both_ends”。

3、在arcgis中通过“addxycoordinates”(添加xy坐标)工具,为“节点数据”自动添加point_x和point_y字段并自动计算各节点的xy坐标。

4、在arcgis中通过“deleteidentical”(删除相同的)工具将重复的节点删除,其中“输入数据集”选择“节点数据”,字段选择point_x和point_y。

(2)管网拓扑关系的建立

在“节点数据”属性表中创建节点编号字段并对节点进行编号,节点编号不能重复;在“排水管线数据”属性表中创建管线编号、上游节点编号和下游节点编号字段,根据市政管线“一张图”排水管线数据中管网流向信息和“节点数据”的节点编号,在属性表中输入上游节点编号和下游节点编号并对管线进行编号,管线编号不能重复。

(3)管线属性数据的处理

根据市政管线“一张图”排水管线数据的存储特点,高度字段值为0的管段为圆管,其他的管段为渠。在“排水管线数据”属性表中分别创建管线形状和管径字段,对于高度字段值为0的管线,通过arcgis的“fieldcalculator”(字段计算器)工具,分别设置“管线形状=圆管”、“管径=width”,对于高度字段值不为0的管线,通过arcgis的“fieldcalculator”(字段计算器)工具,设置“管线形状=渠”。

(4)节点属性数据的自动转换

1、在“节点数据”属性表中分别创建节点类型、地面高程和井底高程字段。

2、在arcgis中通过“join”(连接)工具将“节点数据”属性表的节点编号字段和“排水管线数据”属性表的上游节点编号字段进行连接,其中“joinoptions”选择“keeponlymatchingrecords”,连接后通过arcgis的“fieldcalculator”(字段计算器)工具,分别设置“节点数据.地面高程=排水管线数据.qsdm”、“节点数据.井底高程=排水管线数据.qsbg”、“节点类型=检查井”,完成检查井属性数据的自动转换。

3、在arcgis中通过“join”(连接)工具将“节点数据”属性表的节点编号字段和“排水管线数据”属性表的下游节点编号字段进行连接,其中“joinoptions”选择“keeponlymatchingrecords”,连接后选中节点类型值为空的节点,通过arcgis的“fieldcalculator”(字段计算器)工具,分别设置“节点数据.地面高程=排水管线数据.mddm”、“节点数据.井底高程=排水管线数据.mdbg”、“节点类型=出水口”,完成出水口属性数据的自动转换。

本发明所述基于城市市政管线“一张图”的排水管网模型数据转换方法的有益效果主要体现在:

1.采用本发明所述的方法,能够利用现有的城市市政管线“一张图”信息,实现排水管网模型数据的有效转换,为排水管网模型的构建提供便利。

2.本发明无需逐个绘制节点,节点的生成和节点标高数据的录入主要通过计算机自动实现,即提高了工作效率,又保证了排水管网模型属性数据的质量,从而为排水管网模型的质量提供保障。

3.本发明所述方法具有可操作性,无需进行复杂的程序编写,只需借助现有的软件工具即可完成各个步骤,操作简易,容易实现,保证了本发明的可实施性。

附图说明:

图1为本发明工作的流程示意图。

具体实施方式:

本发明的具体实施流程如图1所示,包括以下步骤:

1、在arcgis中加载市政管线“一张图”雨水管线或污水管线数据,将其另存为“排水管线数据”。

在“排水管线数据”属性表中分别创建管线形状和管径字段,对于高度字段值为0的管线,通过arcgis的“fieldcalculator”(字段计算器)工具,分别设置“管线形状=圆管”、“管径=width”,对于其他的管线,通过“fieldcalculator”(字段计算器)工具,设置“管线形状=渠”。

THE END
1.arcgis怎么给图斑按顺序编号?b、执行计算几何操作 在随后的对话框里选择对应的属性即可。2、字段计算器 字段计算器是一种较高级的https://www.zhihu.com/question/321660135/answer/3354948069
2.在ARCGIS中如何利用字段计算器对地理数据属性表中的重复编号进行参考资源链接:ARCGIS字段计算器自动编号方法详解 首先,确保您已经打开属性表,并选中了需要处理的字段。假设我们要处理的字段名为'TBBH',且我们需要为这个字段中重复的内容创建一个新的编号字段。以下是实现自动编号的步骤: 打开属性表,选择需要添加编号的字段所在的数据集。 https://wenku.csdn.net/answer/71cisa869a
3.ArcGisPython脚本——要素图斑自动编号,自上而下,从左到右《零基础学习Python制作ArcGIS自定义工具》课程简介 以下是正文: 原理: 利用图斑最小外包矩形的左上角坐标(数学坐标)Y坐标将序、X坐标升序的方式获取自上而下,从左到右的要素记录排序,然后遍历编号。 "!shape.extent.xmin!"计算要素最小外包矩形的左上角X坐标; https://www.cnblogs.com/yzhyingcool/p/10274270.html
4.Arcgis如何给新添的字段自动编号arcgis pro 如何如何生成三维白膜数据?如何创建可查询的三维建筑?(二) 欢迎关注微信公众号:渊博苑 昨天讲了如何用arcgis创建三维白膜 文章arcgispro如何如何生成三维白膜数据?如何创建可查询的三维建筑? 还留一个问题,就是想给每一个楼层编号。如何解决呢?主要用到字段计算器的顺序编号:SequentialNumber() https://www.pianshen.com/article/10161003238/
5.ARCGIS从上至下,从左至右对图斑编号# 输出字段名 sequence_field = '编号' # 向输入要素类中添加一个新字段用来存储排序的编号,采用文本类型以保存格式化字符串 arcpy.AddField_management(input_feature_class, sequence_field, 'TEXT') # 计算每个要素的中心点坐标 with arcpy.da.UpdateCursor(input_feature_class, ['SHAPE@XY', sequence_field]https://www.bilibili.com/read/cv30083467/
6.求助大神arcgis属性表如何自动编号—ARCGIS—地信网论坛从网上搜到的自动编号代码都看不懂复制到字段计算器中用不了,二次开发的工具条也不好用。请教大神有http://bbs.3s001.com/thread-282112-1-1.html
7.arcgis里面表格怎么快速进行编码然后,在字段计算器中勾选Python 在代码框中输入代码: rec=0 def tjc(): global rec pStart = 1 pInterval = 1 if (rec == 0): rec = pStart else: rec = rec + pInterval return rec 点击确定 最后,代码运行完成,设计点自动编号完成。https://pptw.com/jishu/62013.html
8.图斑自动编号自上而下,从左到右(1)第七章 ArcGIS Python批量切割矢量图层 第八章 GPS坐标点自动生成地块图斑 第九章 图斑自动编号---自上而下,从左到右 第十章 Python自动化提取图斑四至点 第十一章 读取栅格数据的基本信息及栅格计算操作-- 以提取NDVI数据为例 第十二章 Python在字段计算器中的应用 第十三https://edu.51cto.com/lesson/523994.html
9.ArcGISPro字段计算器使用:自动顺序号ArcGIS Pro字段计算器使用:自动顺序号 ArcGIS Pro字段计算器使用:自动顺序号http://o.southgis.com/school/community/topic/detail/48911
10.ArcGIS之字段计算器总结ARCGIS字段计算器对字段重复内容自动编号的方法;L=[ ] def aaa(x): global L L.append(x) return(L.count(x)) aaa(!TBBH!) 确 上传者:qq_20942023时间:2019-12-30 gis字段计算器提取数字和中文 gis字段计算器提取数字和中文,利用gis中字段计算器的python预逻辑脚本代码对字段内容的数字、中文、英文及其他https://www.iteye.com/resource/qingqingpiaoguo-3900677
11.有关字段计算的基础知识—ArcGISPro文档ArcGIS Pro 3.3| |帮助归档 可使用字段计算创建表达式以对表中的字段值执行简单或复杂计算。要针对单个记录或所有记录的一组字段值执行数学计算。执行字段计算是一种可同时批量更新表中大量记录的方法。字段计算可作用于字符串、数值及日期字段,从而自动计算所选记录(如果已从图层或表中做出选择)。 https://pro.arcgis.com/zh-cn/pro-app/help/data/tables/fundamentals-of-field-calculations.htm
12.ArcGIS属性表字段进行自动排序编号结果表中的OID字段就是按照长度进行排序并编号的。 后续可按照前面介绍的1、2、3种方法添加新字段后进行编号。 05 编号前自动填充为多位数 如果需要将编号设为更美观的相同位数,比如001,002,字段需要为文本型字段。 添加文本型字段,右键字段计算器: https://mp.weixin.qq.com/s?__biz=MzA3MjQwMTIxMQ==&mid=2654165208&idx=1&sn=1f23e3e10ad1d76abacd79aa91e6ba95&chksm=84d9108cb3ae999a8a9220a59adbabbf0c3224ea27d2c5f16e3068585076209826484ab488e1&scene=27