ArcGIS中两种网络分析对比Word文档下载推荐.docx
《ArcGIS中两种网络分析对比Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《ArcGIS中两种网络分析对比Word文档下载推荐.docx(7页珍藏版)》请在冰豆网上搜索。
传输网络(NetworkAnalyst)基于NetworkDataset;
效用网络(UtilityNetworkAnalyst)基于GeometricNetwork
它们的区别可以参考下面的表格:
Geometricnetwork
Networkdataset
Networkfeatures:
Edgesandjunctions
Networkelements:
Edges,junctions,andturns
数据源:
GDBfeatureclassesonly
GDBfeatureclasses,shapefiles,orStreetMapdata
Systemmanagesconnectivity
Usercontrolswhenconnectivityisbuilt
Weightsbasedonfeatureattributefields
Morerobustattribute(weight)model
存在于:
Featuredatasetonly
Featuredatasetorworkspace
单模型
单模型或者多模型
Networktracingfunctionality
Networksolverfunctionality
utilities/naturalresourcesmodeling
transportationmodeling
不支持转弯
支持转弯
usescustomfeatures:
simple/complexedgefeaturesandjunctions
usessimplefeatures:
pointsandlines
Network的类型
(1)TransportationNetwork:
是UndirectedNetwork。
表示Network的Edge具备方向,用户可以自由定义在网络中前进的方向,速度以及终点。
例如一个卡车司机可以决定在哪条道路上开始行进,在什么地方停止,采用什么方向。
并且还可以给网络设置限定性规则,例如是单行线还是禁行。
在ArcGIS中,TransportationNetwork是通过NetworkDataset创建的。
(2)UtilityNetwork:
是DirectedNetwork类型,意味着网络中流动的物质必须按照在Network中定义好的规则前进,运行路径都是事先定义好的,可以被修改,但是不能被物质本身修改,而是被网络的工程师来修改网络的规则,使通过设置结点的开启状态来改变网络的流动方向。
在ArcGIS中,UtilityNetwork是通过GeometricNetwork模拟的。
TransportationNetwork介绍
ArcGISNetworkAnalyst分析模块使用的网络是存储在NetworkDataset中。
NetworkDataset由Feature要素创建而来,能够用来表现复杂场景,包括Multimodal交通网络,同样也可以包含多个网络属性以模拟网络限制条件和层次结构。
NetworkDataset类型
(1)NetworkDtaset:
创建网络的数据源存储于Personal或者EnterpriseGeodatabase中,因为其中可以存储很多数据源,因此可以构建MultimodalNetwork
(2)Shapefile-basedNetworkDataset:
是基于PolylineShapefile文件创建的,也可以添加ShapefileTurnFeatureClass,这种NetworkDataset不能够支持多种Edge类型,也不能用于创建MultimodalNetworks
(3)ArcGISNetworkAnalyst也可以读取SDCNetworkDataset,可以实现网络分析功能,而不能创建NetworkDataset
NetworkElements
Edges
Junctions
Turns
ConnectivityGroup
要想定义ArcGISNetworkAnalyst的Connectivity,首先要定义ConnectivityGroup。
每一个EdgeSource只能够被赋予一个ConnectivityGroup,而JunctionSource可以被赋予多种ConnectivityGroup。
只有将Junction设为两种或者多种ConnectivityGroup,才可以去连接不同ConnectivityGroup的Edge。
ConnectivityGroup用于创建MultimodalTransportationNetwork。
以下为NetworkDataset所支持的三种ConnectivityModel:
(1)ConnectingEdgeswithinaConnectivityGroup
可以设置“EndpointConnectivity”,也可以设置“AnyVertexConnectivity”。
第一种方式中,边和边只能在终点处相交,第二种方式则可以在边的任意位置相交
(2)ConnectingEdgesthroughJunctionsacrossConnectivityGroup
能够将不同ConnectivityGroup中的Edge通过被不同ConnectivityGroup共享的Junctions连接。
(3)ElevationFields
主要用于NetworkDataset中检查LineEndpoints的Connectivity。
每一个EdgeFeature具备两个字段用来描述每一个端点的高程。
NetworkAttribute
NetworkAttribute主要用于设定网络的流通属性,包括:
Name
UsageType
Unit:
Centimeter,Meter等等
DataTypes:
Boolean,Integer,Float,Double
UsebyDefault:
Cost:
例如走过某段路需要花费的时间;
Descriptors:
对某条道路的描述信息,例如道路速度的限制,有多少个红绿灯等;
Restrictions:
例如某条线是禁行,或者是单向的;
Hierarchy:
例如道路的分级。
TypesofEvaluatorsusedbyanetwork
Network的Attribute都需要设定Value,通常是利用Evaluators从NetworkSource中获取属性值。
具备四种Evaluators:
FieldEvaluator:
利用属性字段的值;
FieldExpressionEvaluator:
利用属性字段构建计算表达式;
ConstantEvaluators:
赋予常数;
VBscriptEvaluators:
通过执行VBScript代码,主要用于赋予复杂的属性值
每个JunctionSource和TurnSource需要一个Evaluator,而每个EdgeSource需要两个,Edge的每个方向都需要一个Evaluator
TurnsintheNetworkDataset
Turn的类型有多种,可以是MultiEdgeTurn,也可以是U-Turn。
在ArcGIS中,Turn是通过TurnFeatureClass转变而来的,这些TurnFeatureClass都是PolylineFeatureClass。
TurnFeatureClass必须是与其他Network要素位于同一个FeatureDataset中,具备相同的空间参考,不参与ConnectivityGroups,也不具备Elevation信息。
Turn至少具备两条Edge,至多20条Edge。
SettingDirections
支持Directions的NetworkDataset必须至少满足以下要求:
具备Length属性,包括Length单位;
至少有一个EdgeSource;
在EdgeSource上至少有一个Text字段。
CreatinganetworkDataset
第一步:
准备FeatureDataset和Source,如果是要创建Geodatabase-basedNetworkDataset,则参与创建网络的数据源必须位于同一个FeatureDataset中;
如果是创建基于Shapefile的Network,则需要将参与的要素存储到相同的文件夹中。
第二步:
为创建NetworkDataset的数据源设置属性,为网络添加属性信息;
保证数据源中包含可以设置网络阻力信息的属性值-距离,旅行时间等等。
最后是将这些属性值的字段名用相应的Unit命名,使得系统可以自动去识别,例如可以为旅行时间设置字段名为Minutes。
对于线状要素来说,如果在不同的方向,阻力值不相同,则应该为两个方向分别设置属性字段,例如“FT_Minutes”和“TF_Minutes”.
如果是对单行线建立网络,则EdgeSource中必须包含一个字段以指定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的属性字段中必须包含产生方向的信息,例如道路等级,高速路障,边界信息等。
第三步:
准备TurnFeatureClass,添加Turn信息;
创建FeatureDataset时,Turn信息是可选的,如果将转弯信息保存在TurnTable中,则必须将其转变为TurnfeatureClass。
并且还要在TurnFeatureClass的属性表中包含属性字段以保留TurnImpedance,以及转弯限制(某个弯只能是货车才可以转)等网络属性信息。
第四步:
利用NewNetworkDatasetWizard创建NetworkDataset
为NetworkDataset命名,设定数据源,创建连通性,指定高程数据,指定转弯数据源,定义属性,确定方向规则。
第五步:
BuildNetworkDataset
该过程会实现:
网络要素创建,连通性创建,为网络属性赋属性值
NetworkAnalyst提供的分析功能
FindingtheBestRoute
ArcGISNetworkAnalyst能够分析点与点之间的最优路径,点的位置可以通过三种方式设置:
(1)在屏幕上添加点,如果用户添加的点不在路径之上,则系统会根据Snapping设置,将该点自动咬合到近处的点,如果点到线的距离大于设置的咬合值,则无法实现,需要重新设置Snapping;
(2)通过输入Address;
(3)从已经存在的FeatureClass或者FeatureLayer中导入位置。
分析最优路径时的点与点之间的顺序,可以用户自己设置,也可以由系统自动设置。
可以实现的最优路径分析包括:
最快路径,最短路径,最多场景的路径等,路径分析的内容可以通过设定Impedance实现。
FindingtheClosestFacility
查找最近设施:
可以设置一个CutoffCost,一旦超过这个设置,则不再分析。
一旦查找到最近设施,则可以实现的功能包括到达最近设施的路径,旅行花费,方向等。
FindingServiceAreas
NetworkServiceArea是包括所有在设定阈值内可以到达的Streets的Region。
例如某个点的5分钟服务区是从该点5分钟之内可以到达的所有街道的Region。
Accessibility表示从某个点到达其它地点的容易程度。
在ArcGIS中,Accessibility可以通过TravelTime,Distance和任意其它的Impedance进行设定。
CreatinganODCostMatrix
能够从多个源点和终点之间创建Origin-Destination(OD)CostMatrix。
ODCostMatrix是一个包含从每一个Origin到每一个Destination的总Impedance的Table。
在地图上表示时,Origin到Destination的Path是用直线表示的。
GeometricNetwork介绍
GeometricNetwork主要用于模拟现实世界中的水网,电网,煤气网,电话服务等资源网络。
GeometricNetwork由一套相互连接的Edge和Junctions组成,并且包含ConnectivityRules。
必须构建于Geodatabase的FeatureDataset中,其中的FeatureClass是作为Junctions和Edge的数据源。
GeometricNetwork中包含两种主要的要素:
Edges和Junctions。
在网络中,Edge和Junctions是TopologicallyConnectedtoeachother:
Edge和Edge在Junctions处连接,某个Edge中流动的要素是通过Junctions流动到其它的Edge。
有两种类型的Edges:
SimpleEdges-连着两个Junctions,Edge的每一头连接一个Junction;
ComplexEdges-通常在端点处至少连接两个Junctions,而且在Edge的中间部分,也可以连接很多Junctions,例如:
主管道上可以连接多个支管道。
有两种类型的Junctions:
UserdefinedJunctions:
在构建GeometricNetwork时,根据用户定义的PointSource生成的Junctions;
OrphanJunctions:
当第一个EdgeFeatureClass添加到GeometricNetwork时,创建了SimpleJunctionFeatureClass,被称为OrphanJunctionFeatureClass,主要是用于维护网络的完整性。
当用户添加其它的JunctionsFeature时,该点处的OrphanJunctions将被删除;
此外当用户删除GeometricNetwork时,则OrphanJunctions也被删除。
当创建一个GeometricNetwork时,也创建了一个相应的LogicNetwork,用于表现和模型化要素之间的连通关系,实现Tracing和Flow计算。
LogicNetwork是由一系列的Table组成,并且由ArcGIS维护。
当GeometricNetwork被更新或者删除时,LogicNetwork会自动更新。
Sources和Sinks
网络要素的流动方向是从Sources和Sinks来计算的,从Sources流出,汇于Sinks。
可以在创建GeometricNetwork时,将Junctions设置为Sources或者Sinks或者都不是,一旦设定为Source或者Sink,则在属性表中添加字段AncillaryRole用于记录其类型。
NetworkWeight
网络可以被设置权重,用于表示网络要素在其中流动的环境,使利用参与网络的Feature的属性来设置网络的Weight。
EnableandDisableFeature
GeometricNetwork中的Edge和Junctions可以在LogicNetwork中设置为Enabled或者Disabled。
网络的Enabled或者Disabled状态是由要素属性字段Enabled设置的,可以选择的属性为True,False,当通过简单要素类创建GeometricNetwork时,该字段自动添加为输入要素中,并且缺省状态下属性值为True。
Connectivity
在现实生活中,GeometricNetwork中并不是所有的要素都是可以相互连接的,系统所创建的网络连通性可能不适合,则用户可以根据自己的需要修改Connectivity,方法是:
在ArcCatalog中点击创建的GeometricNetwork,在Properties中选择Connectivity面板,实现Connectivity的设置。
可以创建的ConnectivityRule包括两种:
Edge-JunctionConnectivity,Edge-EdgeConnectivity
(注:
可编辑下载,若有不当之处,请指正,谢谢!
)