• ArcGIS的网络分析【转】


                                   Network的类型
              (1)Transportation Network:是Undirected Network。表示Network的Edge具备方向,用户可以自由定义在网络中前进的方向,速度以及终点。例如一个卡车司机可以决定在哪条道路上开始行进,在什么地方停止,采用什么方向。并且还可以给网络设置限定性规则,例如是单行线还是禁行。在ArcGIS中,Transportation Network是通过Network Dataset创建的。
            (2)Utility Network: 是Directed Network类型,意味着网络中流动的物质必须按照在Network中定义好的规则前进,运行路径都是事先定义好的,可以被修改,但是不能被物质本身修改,而是被网络的工程师来修改网络的规则,使通过设置结点的开启状态来改变网络的流动方向。在ArcGIS中,Utility Network是通过Geometric Network模拟的。
                                                            Transportation Network介绍
         ArcGIS Network Analyst分析模块使用的网络是存储在Network Dataset中。Network Dataset由Feature要素创建而来,能够用来表现复杂场景,包括Multimodal交通网络,同样也可以包含多个网络属性以模拟网络限制条件和层次结构。
         Network Dataset包含以下三种类型:
       (1)Network Dtaset:创建网络的数据源存储于Personal 或者Enterprise Geodatabase中,因为其中可以存储很多数据源,因此可以构建Multimodal Network
       (2)Shapefile-based Network Dataset:是基于Polyline Shapefile 文件创建的,也可以添加Shapefile Turn Feature Class,这种Network Dataset不能够支持多种Edge类型,也不能用于创建Multimodal Networks
        (3)ArcGIS Network Analyst也可以读取SDC Network Dataset,可以实现网络分析功能,而不能创建Network Dataset

        Network Elements包括三类:Edges,Junctions,Turns。

        Connectivity Group
       要想定义ArcGIS Network Analyst的Connectivity,首先要定义Connectivity Group。每一个Edge Source只能够被赋予一个Connectivity Group,而Junction Source可以被赋予多种Connectivity Group。只有将Junction设为两种或者多种Connectivity Group,才可以去连接不同Connectivity Group的Edge。Connectivity Group用于创建Multimodal Transportation Network。
        以下为Network Dataset所支持的三种Connectivity Model:
        (1)Connecting Edges within a Connectivity Group
    可以设置“Endpoint Connectivity”,也可以设置“Any Vertex Connectivity”。第一种方式中,边和边只能在终点处相交,第二种方式则可以在边的任意位置相交
       (2)Connecting Edges through Junctions across Connectivity Group
    能够将不同Connectivity Group中的Edge通过被不同Connectivity Group共享的Junctions连接。
       (3)Elevation Fields
    主要用于Network Dataset中检查Line Endpoints的Connectivity。每一个Edge Feature具备两个字段用来描述每一个端点的高程。

        Network Attribute
    Network Attribute主要用于设定网络的流通属性,包括:
    Name:
    Usage Type:
    Unit:Centimeter,Meter等等
    Data Types:Boolean,Integer,Float,Double
    Use by Default:
       Cost:例如走过某段路需要花费的时间
       Descriptors:对某条道路的描述信息,例如道路速度的限制,有多少个红绿灯等。
       Restrictions:例如某条线是禁行,或者是单向的
       Hierarchy:例如道路的分级

       Types of Evaluators used by a network
    Network的Attribute都需要设定Value,通常是利用Evaluators从Network Source中获取属性值。具备四种Evaluators:
       Field Evaluator:利用属性字段的值;
       Field Expression Evaluator:利用属性字段构建计算表达式;
      Constant Evaluators:赋予常数;
      VBscript Evaluators:通过执行VBScript代码,主要用于赋予复杂的属性值
       每个Junction Source和Turn Source需要一个Evaluator,而每个Edge Source需要两个-Edge的每个方向都需要一个Evaluator

       Turns in the Network Dataset
        Turn的类型有多种,可以是Multi Edge Turn,也可以是U-Turn。在ArcGIS中,Turn是通过Turn Feature Class转变而来的,这些Turn Feature Class都是Polyline Feature Class。Turn Feature Class必须是与其他Network要素位于同一个Feature Dataset中,具备相同的空间参考,不参与Connectivity Groups,也不具备Elevation信息。Turn至少具备两条Edge,至多20条Edge。

       Setting Directions
    支持Directions的Network Dataset必须至少满足以下要求:
       具备Length属性,包括Length单位;
       至少有一个Edge Source;
       在Edge Source上至少有一个Text字段。

    Creating a network Dataset
    第一步:准备Feature Dataset和Source;
         如果是要创建Geodatabase-based Network Dataset,则参与创建网络的数据源必须位于同一个Feature Dataset中;如果是创建基于Shapefile的Network,则需要将参与的要素存储到相同的文件夹中。
    第二步:为创建Network Dataset的数据源设置属性,为网络添加属性信息;
        保证数据源中包含可以设置网络阻力信息的属性值-距离,旅行时间等等。最后是将这些属性值的字段名用相应的Unit命名,使得系统可以自动去识别,例如可以为旅行时间设置字段名为Minutes。对于线状要素来说,如果在不同的方向,阻力值不相同,则应该为两个方向分别设置属性字段,例如“FT_Minutes”和“TF_Minutes”.
         如果是对单行线建立网络,则Edge Source中必须包含一个字段以指定One-Way街道属性,可以将存储这个属性的字段命名为“One_Way”或“Oneway”。创建Evaluator以给该字段赋值:
       “FT”或“F”表示沿着数字化方向的单行线;
      “TF”或“T”表示与数字化方向相反的单行线;
      “N”表示禁行线;
        如果是其它属性值,则表示该条线路的两边都是可以通行的。
         如果打算通过Z-Elevation或者Z-Level值模拟Overpasses和Underpasses,则必须使得Edge的属性字段包括两个整型字段,Edge的每个结点的高程用一个字段表示。如果字段被命名为“F_ELEV”“T_ELEV”或者“F_ZLEV”“T_ZLEV”,则系统可以将其自动识别为高程字段。
        如果希望在网络中保存方向信息,则Edge的属性字段中必须包含产生方向的信息,例如道路等级,高速路障,边界信息等。
    第三步:准备Turn Feature Class,添加Turn信息;
        创建Feature Dataset时, Turn信息是可选的,如果将转弯信息保存在Turn Table中,则必须将其转变为Turn feature Class。并且还要在Turn Feature Class的属性表中包含属性字段以保留Turn Impedance,以及转弯限制(某个弯只能是货车才可以转)等网络属性信息。
    第四步:利用New Network Dataset Wizard创建Network Dataset
        为Network Dataset命名,设定数据源,创建连通性,指定高程数据,指定转弯数据源,定义属性,确定方向规则。
    第五步:Build Network Dataset
        该过程会实现:网络要素创建,连通性创建,为网络属性赋属性值

       Network Analyst提供的分析功能
        Finding the Best Route
        ArcGIS Network Analyst能够分析点与点之间的最优路径,点的位置可以通过三种方式设置:(1)在屏幕上添加点,如果用户添加的点不在路径之上,则系统会根据Snapping设置,将该点自动咬合到近处的点,如果点到线的距离大于设置的咬合值,则无法实现,需要重新设置Snapping ;(2)通过输入Address;(3)从已经存在的Feature Class或者Feature Layer中导入位置。分析最优路径时的点与点之间的顺序,可以用户自己设置,也可以由系统自动设置。
    可以实现的最优路径分析包括:最快路径,最短路径,最多场景的路径等,路径分析的内容可以通过设定Impedance实现。

        Finding the Closest Facility
        查找最近设施:可以设置一个Cutoff Cost,一旦超过这个设置,则不再分析。一旦查找到最近设施,则可以实现的功能包括到达最近设施的路径,旅行花费,方向等。

        Finding Service Areas
        Network Service Area是包括所有在设定阈值内可以到达的Streets的Region。例如某个点的5分钟服务区是从该点5分钟之内可以到达的所有街道的Region。
    Accessibility表示从某个点到达其它地点的容易程度。在ArcGIS中,Accessibility可以通过Travel Time,Distance和任意其它的Impedance进行设定。

       Creating an OD Cost Matrix
        能够从多个源点和终点之间创建Origin-Destination(OD) Cost Matrix。OD Cost Matrix是一个包含从每一个Origin到每一个Destination的总Impedance的Table。在地图上表示时,Origin 到Destination的Path是用直线表示的。

                                                                             Geometric Network介绍
         Geometric Network 主要用于模拟现实世界中的水网,电网,煤气网,电话服务等资源网络。
         Geometric Network由一套相互连接的Edge和Junctions组成,并且包含Connectivity Rules。必须构建于Geodatabase的Feature Dataset中,其中的Feature Class是作为Junctions和Edge的数据源。
        Geometric Network中包含两种主要的要素:Edges和Junctions
         在网络中,Edge和Junctions是Topologically Connected to each other:Edge和Edge在Junctions处连接,某个Edge中流动的要素是通过Junctions流动到其它的Edge。
         有两种类型的Edges:
            Simple Edges-连着两个Junctions,Edge的每一头连接一个Junction;
            Complex Edges-通常在端点处至少连接两个Junctions,而且在Edge的中间部分,也可以连接很多Junctions,例如:主管道上可以连接多个支管道。
       有两种类型的Junctions:
           User defined Junctions:在构建Geometric Network时,根据用户定义的Point Source生成的Junctions;
          Orphan Junctions:当第一个Edge Feature Class添加到Geometric Network时,创建了Simple Junction Feature Class ,被称为Orphan Junction Feature Class,主要是用于维护网络的完整性。当用户添加其它的Junctions Feature时,该点处的Orphan Junctions将被删除;此外当用户删除Geometric Network时,则Orphan Junctions也被删除。
    当创建一个Geometric Network时,也创建了一个相应的Logic Network,用于表现和模型化要素之间的连通关系,实现Tracing和Flow计算。Logic Network是由一系列的Table组成,并且由ArcGIS维护。当Geometric Network被更新或者删除时,Logic Network会自动更新。

         Sources 和Sinks
         网络要素的流动方向是从Sources和Sinks来计算的,从Sources流出,汇于Sinks。可以在创建Geometric Network时,将Junctions设置为Sources或者Sinks或者都不是,一旦设定为Source或者Sink,则在属性表中添加字段AncillaryRole用于记录其类型。

         Network Weight
        网络可以被设置权重,用于表示网络要素在其中流动的环境,使利用参与网络的Feature的属性来设置网络的Weight。

        Enable and Disable Feature
        Geometric Network中的Edge和Junctions可以在Logic Network中设置为Enabled或者Disabled。网络的Enabled或者Disabled状态是由要素属性字段Enabled设置的,可以选择的属性为True,False,当通过简单要素类创建Geometric Network时,该字段自动添加为输入要素中,并且缺省状态下属性值为True。

       Connectivity
    在现实生活中,Geometric Network中并不是所有的要素都是可以相互连接的,系统所创建的网络连通性可能不适合,则用户可以根据自己的需要修改Connectivity,方法是:在ArcCatalog中点击创建的Geometric Network,在Properties中选择Connectivity面板,实现Connectivity的设置。
    可以创建的Connectivity Rule包括两种:Edge-Junction Connectivity,Edge-Edge Connectivity

    ArcGIS的网络分析分为两类:传输网络(Network Analyst)和效用网络(Utility Network Analyst)。

    一、从应用上来考虑:

    1.传输网络常用于道路、地铁等交通网络分析。

    特点:在传输网络中,汽车和火车都是可以自由移动的物体,具有主观选择方向的能力。

    传输网络解决的问题有:

    A.计算点与点之间的最佳距离,时间最短或者距离最短,最佳路径能够绕开事先设置的障碍物

    B.可以进行多点的物流派送,能够按照规定时间规划送货路径,也能够自由调整各点的顺序,也会绕开障碍物

    C.寻找最近的一个或者多个设施点

    D.确定一个或者多个设施点的服务区,绘制服务区范围的条件可以是多个,例如,同时列出3分钟、6分钟、9分钟的服务区

    E.绘制起点-终点距离矩阵

    2.效用网络常用于水、电、气等管网的连通性分析。

    特点:在效用网络中,水、电、气通过管道和线路输送给消费者,水、电、气被动地由高压向低压输送,不能主观选择方向。

    效用网络解决的问题有:

    A.寻找 连通的/不连通的 管线

    B.上/下游追踪

    C.寻找环路

    D.寻找通路

    E.爆管分析

    二、从技术上来考虑:

    传输网络(Network Analyst)基于Network Dataset

    效用网络(Utility Network Analyst)基于Geometric Network

    它们的区别可以参考下面的表格:

     

    Geometric network

     

    Network dataset

     

    Network features:Edges and junctions

     

    Network elements: Edges, junctions, and turns

     

    数据源:GDB feature classes only

     

    数据源:GDB feature classes, shapefiles, or StreetMap data

     

    System manages connectivity

     

    User controls when connectivity is built

     

    Weights based on feature attribute fields

     

    More robust attribute (weight) model

     

    存在于:Feature dataset only

     

    存在于:Feature dataset or workspace

     

    单模型

     

    单模型或者多模型

     

    Network tracing functionality

     

    Network solver functionality

     

    utilities/natural resources modeling

     

    transportation modeling

     

    不支持转弯

     

    支持转弯

     

    uses custom features: simple/complex edge features and junctions

     

    uses simple features: points and lines

  • 相关阅读:
    axios增加的自定义header,后端request取不到
    ExecutorService 线程池 (转发)
    Java ExecutorService四种线程池的例子与说明(转发)
    如何合理地估算线程池大小?(转发)
    什么是CPU密集型、IO密集型?(转发)
    成功的唯一秘诀——坚持最后一分钟
    人生最精彩的不是实现梦想的瞬间,而是坚持梦想的过程
    贵在坚持
    第一个flask程序
    认识web
  • 原文地址:https://www.cnblogs.com/matoo/p/2284652.html
Copyright © 2020-2023  润新知