收藏 分享(赏)

第9章--管网几何网.pptx

上传人:weiwoduzun 文档编号:4387417 上传时间:2018-12-26 格式:PPTX 页数:20 大小:444.01KB
下载 相关 举报
第9章--管网几何网.pptx_第1页
第1页 / 共20页
第9章--管网几何网.pptx_第2页
第2页 / 共20页
第9章--管网几何网.pptx_第3页
第3页 / 共20页
第9章--管网几何网.pptx_第4页
第4页 / 共20页
第9章--管网几何网.pptx_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、第 9章 管网几何网络分析目录 1. 几 何网 络 2. 显示网络流向 3. 网络追踪分析 4. 爆 管分 析1. 几何网络 在 ArcGIS中,使用 Geometric Network模型来表示几何网络,并使用 Geodatabase里某个数据集中的多个要素类来创建几何网络。几何网络的概念主要有几何网络中的要素、逻辑网络和网络元素,以及几何网络的属性(如源头和汇)等。几何网络的实例图,该图表示了一个简单示例的供水几何网络的网络连接关系。1. 几何网络 几何网络要 素 几何网络包括两种网络要素 边( Edge)和结点( Junction)。 边是由数据集中的线状要素类创建的 。 结点是由数据集

2、中的点状要素类创建的 。 在几何网络创建时,要素类之间的几何连接关系决定了几何网络的连通性( connectivity)。在几何网络中边和边之间必须通过结点连接在一起,网络资源在边之间的流动必须经过结点。1. 几何网络 几何网络中存在两种类型的边 简单边( Simple Edge)和复杂边(Complex Edge)。 简单边在边的两端分别连接 1个结点,它一直保持这种特性,如果简单边的中段加入了新的结点,则原有的简单边会被分割为 2个新的简单边。复杂边除了在两端连接 2个结点外,还可以在边上连接其他的结点。如果复杂边的中段添加了一个新的结点,复杂边不会被分割,仍只是一个网络对象。 几何网络中

3、同样存在两种类型的结点 用户定义的结点( User-defined Junction)和孤立结点( Orphan Junction)。 用 户定义的结点是在几何网络创建时根据用户数据(如点状要素类)所生成的。孤立结点是在创建几何网络时,当第一个网络边的要素类被加入后,由ArcGIS自动添加的要素类。1. 几何网络 逻辑网 络 当几何网络被创建时, ArcGIS也同时自动创建了与此几何网络相对应的逻辑网络( Logical Network),它用来表达网络对象间的连接关系,各种网络追踪任务的执行均依赖于逻辑网络所维护的网络连通性 。 几何网络是网络的图形表示,逻辑网络是几何网络对应的表格结构,

4、是用来记录和维护网络结构和进行网络分析的基础。通俗的理解,几何网络是用来展示给用户看的,逻辑网络是计算机进行计算使用的 。右图 是左图中 几何网络所对应的逻辑网络。1. 几何网络 几何网络属 性 几何网络数据类型包含其特有的一些属性, 如 : 源头和 汇 几何网络中资源的流向在 ArcGIS中由 源头和汇 来确定,如上述例子中电力和水的传输由源头和汇来驱动,资源由源头(如发电厂和泵站)传输到汇(如住户家中 )。 网络权 重 权重用来表示资源在网络中进行传输时所造成的耗费。 例如在供水管网中由于管网摩擦力的存在,随着在管线传输距离的增加水流的压力会有一定的损失 。 可用及不可用要 素 几何网络中

5、的任意边和结点都可能在逻辑网络中表现为可用或不可用的状态。 如果边或结点要素被设置为不可用,则在逻辑网络中它被认为是一个障碍( Barrier)元素。当执行网络追踪任务时,追踪操作将在其遭遇的障碍元素处停止。 网络要素的可用或不可用状态是由名称为 Enabled的属性字段值来决定的, 该字段的值可以为 ture或者 false。在几何网络创建时,该字段可以自动创建到网络要素的要素类中。当在网络中添加新的网络要素时,其可用状态默认设置为可用,即 Enabled字段的值为 true。2. 显 示网络流向 相关类与接 口 本节实例所使用的与几何网络相关的类主要有: GeometricNetwork、

6、Network、 UtilityNetwork,相关的接口主要有: IGeometricNetwork、INetwork、 IUtilityNetworkGEN、 INetElements、 INetworkCollection2、IDataset等。这些类和接口都位于 ESRI.ArcGIS.Geodatabase命名空间 中。2. 显示网络流向 相关类与接口 1) GeometricNetwork类 该类是 ArcGIS的几何网络类 ,提供与几何网络相关的信息和操作, 为ArcGIS Class类型,不能直接创建 。 要获取当前使用的几何网络可以通过 FeatureDataSet类的INe

7、tworkCollection2接口中的 get_GeometricNetwork()方法 ,从数据源的FeatureDataSet中获取。同时通过 GeometricNetwork类的 IDataset接口 的Name属性获取几何网络的名称。 GeometricNetwork类的另一个重要接口是 IGeometricNetwork接口 ,该接口用于管理几何网络的各类属性,以及管理几何网络中的网络要素等,其 Network属性返回当前几何网络的逻辑网络,为 INetwork接口类型。2. 显示网络流向 相关类与接口 2) Network类 Network类为抽象类,提供与逻辑网络相关的属性和操

8、作,它创建的子类为 UtilityNetwork类和 StreetNetwork类。如前所述,通常使用UtilityNetwork类来模拟现实世界中的各类公共设施网络。它实现了INetwork接口和 INetElements接口。1) INetwork接口该接口的成员提供逻辑网络和网络元素的常用信息。( 1) EdgeCount属性返回逻辑网络中边的数量。( 2) JunctionCount属性返回逻辑网络中结点的数量。2) INetElements接口该接口成员进行空间要素 ID(如 ObjectID)与网络元素 ID( network element ID, EID)之间的转换。( 1)

9、GetEID方法根据空间要素的 ID值返回其对应的网络元素 ID值。( 2) QueryIDs方法根据网络元素 ID值返回对应的空间要素 ID值。2. 显示网络流向 相关类与接口 3) UtilityNetwork类 该类提供与 Utility Network(管网网络)相关的信息和操作,它实现的一个重要接口是 IUtilityNetworkGEN,该接口用来获取和设 置 管网网络 的 流向信息等,它继承自INetwork接口 。 ( 1) GetFlowDirection方法 根据网络边元素的 ID返回其流向的方向,其返回值为 esriFlowDirection常量,包括沿数字化方向、与数字

10、化方向相反、不确定流向和未初始化流向等几种情况。 ( 2) EstablishFlowDirection方法 根据给定的源头和汇建立所有网络边元素的流向方向,该方法需要在数据编辑环境下使用。 ( 3) SetFlowDirection方法 为给定的网络边元素设置某种流向方向。2. 显示网络流向 实例通过点击相关按钮来自动显示当前几何网络的流向 。 实例程序实现思路如下: ( 1)获取当前几何网络的逻辑网络,使用 INetElements接口获取每个网络边要素的 ElemenID; ( 2)通过 IUtilityNetworkGEN接口查询获得每个边的流向,因为每条边在二维几何空间上均有一定的方

11、向,体现为角度,在显示流向时应沿着该边的方向进行显示,因此在计算该边的角度后,即在每个边要素的中心点绘制相应的流向符号来标识该边的流向。详细代码见程序3. 网 络追踪分析 几何网络分析的主要任务是 网络追踪分析 , 主要包括上下游追踪、查找连接或未连接的网络元素、查找共同祖先、查找最短路径等多种分析任务。 分析过程中需要通过选择管点、管线和障碍,再选择某种网络追踪任务后执 行分 析即可得到分析的结果 。 相关类与接 口 本节实例所使用的与网络追踪分析相关的类主要有: NetSolver、TraceFlowSolver、 NetFlag、 JunctionFlag、 EdgeFlag、 NetE

12、lementBarriers、EnumNetEIDArray、 PointToEID等 ,3. 网络追踪分析 1) NetSolver类 NetSolver类为抽象类,主要实现了 INetSolver接口,用来设置网络分析解决器的逻辑网络以及设置用于网络的各类障碍,其可创建的子类为TraceFlowSolver类。 INetSolver接口的 ElementBarriers属性用于设置网络分析解决器的各类障碍,其参数为 INetElementBarriers接口类型的变量 。 2) TraceFlowSolver类 TraceFlowSolver类是具体执行网络追踪任务的类,它包括一系列基本的

13、网络追踪分析解决器,可以进行网络追踪分析任务。它主要实现了INetSolver接口和 ITraceFlowSolverGEN接 口 。ITraceFlowSolverGEN接口用于 执 行网 络 追踪任 务 ,它主要的方法如下:( 1) FindAccumulation方法( 2) FindCircuits方法( 3) FindCommonAncestors方法( 4) FindFlowElements方法( 5) FindFlowEndElements方法( 6) FindFlowUnreachedElements方法( 7) FindPath方法( 8) FindSource方法( 9)

14、PutEdgeOrigins方法( 10) PutJunctionOrigins方法3. 网络追踪分析 NetFlag/JunctionFlag/EdgeFlag类 NetFlag类为抽象类,实现 INetFlag接口,用于确定管点或管线标识所代表的网络元素。其可创建子类 JunctionFlag类和 EdgeFlag类,分别代表管点标识类和管线标识类 。 常用的 INetFlag接口主要用来获取或设置管点标识或管线标识所对应的空间要素的各项 ID,它的主要属性如下: ( 1) UserClassID属性 空间要素所在的要素类的 ID。 ( 2) UerID属性 空间要素的 ID,通常为 Ob

15、jectID。 ( 3) UserSubID属性 空间要素中某个独立网络要素的 ID。3. 网络追踪分析 NetElementBarriers类 NetElementBarriers类用来为网络分析解决器定义哪些网络元素为分析的障碍,它实现了 INetElementBarriersGEN接口,用来根据 EID(Element ID)为网络分析解决器设置分析障碍。 1) INetElementBarriersGEN接口 该接口的 INetElementBarriers方法用于将一系列的网络元素设置为网络分析的障碍,其参数为 EID的数组。 2) INetElementBarriers接口 需要注

16、意的是,根据目前 ArcGIS Engine的定义, INetElementBarriers接口并不是由 NetElementBarriers类实现的,它的成员也不应被使用,它只使用在 INetSolver接口的 ElementBarriers属性中,可以将 INetElementBarriersGEN接口的变量通过接口转换为 INetElementBarriers接口的变量,从而在 INetSolver接口中使用。3. 网络追踪分析 EnumNetEIDArray类 EnumNetEIDArray类定义一系列网络元素的 EID数 组 ,它主要实现IEnumNetEID接口,用来对这一数组进行

17、操作。 IEnumNetEID接口的成员用来迭代访问数组中的所有 EID,其主要属性和方法如下: ( 1) Count属性 返回数组中网络元素的总个数。 ( 2) Next方法 将指针向前移动一位,返回所指位置的网络元素 EID。 ( 3) Reset方法 使指针重新定位到数组的第一个位置。 3. 网络追踪分析 PointToEID类 PointToEID类用于获取与给定点位置最邻近的网络元素,它实现了 IPointToEID接口,该接口的成员用来根据所设定的查询条件得到与给定点位置最邻近的某种类型的网络元素,其主要属性和方法如下: ( 1) GetNearestEdge方法 根据输入点找到最

18、邻近的管线元素,同时返回管线元素的 EID、管线上与输入点最邻近的点,以及该点所在位置占整个管线长度的百分比。 ( 2) GetNearestJunction方法 根据输入点找到最邻近的管点元素,同时返回管点元素的 EID和该管点要素的位置点。 ( 3) SnapTolerance属性 设置进行空间搜索的容限值。 ( 4) SourceMap属性 设置当前搜索操作所使用的地图。3. 网络追踪分析 实例详 解 本例通过在地图上添加需要分析的管点、管线标识或障碍,选择某种网络追踪任务(如:查找公共祖先、查找相连接的要素等),得到分析的结果 。 实例程序实现思路如下: 首先通过添加分析管点、管线、管

19、点障碍和管线障碍工具添加各类标识点; 然后将各类标识点设置到网络追踪分析器中; 根据所选择的追踪任务由分析器得到分析结果,最后将分析结果显示到地图中。网络追踪分析的主要实现过程如下:1.添加分析标识 /障碍工 具添加分析管点、管线、管点障碍和管线障碍等工具需要进行地图交互操作。2.网络追踪任务实 现在相关工具添加完成后,通过工具的操作能够得到网络追踪的各类标识点、标识线或障碍,将这些信息传递给网络追踪分析对象,再利用该对象 ITraceFlowSolverGEN接口的各种分析方法即可得到各类分析的结果,最后将结果绘制出来 。4. 爆 管分析 在城市管网网络(如供水管网、燃气管网等)的运营中,因

20、为管线老化或外部原因,经常会发生管线破裂等称为爆管的突发事故 。 下面以燃气管网的爆管分析为例介绍该功能的实现。通过在地图上添加爆管位置,选择爆管分析任务,得到需要关闭的最邻近的阀门,同时还可以得到下游受影响的位置 。 实例程序实现思路如下: ( 1)通过爆管位置标识工具在地图上标识爆管的管线; ( 2)进行上游和下游追踪分析,得到爆管管线上下游的所有网络元素,因为上下游追踪的结果是从追踪标识到开始依次排列到上下游源头和终点的,因此对追踪结果管点进行从头开始的遍历即可得到最邻近的阀门; ( 3)得到阀门后,再以其为下游追踪的标识进行下游追踪任务,则可以得到所有受影响的区域。网络追踪分析的主要实现过程如下 :( 1)添加爆管位置工 具( 2)在主窗体中添加新的变量来记录爆管和关阀网络元素的 ID( 3)执行爆管分析任 务(详细代码见程序)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 职业教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报