Network Analyst教程.docx
《Network Analyst教程.docx》由会员分享,可在线阅读,更多相关《Network Analyst教程.docx(38页珍藏版)》请在冰豆网上搜索。
NetworkAnalyst教程
河北省地震局ArcGIS培训手册
ESRI中国(北京)有限公司
2009年1月9日
ArcGIS网络分析教程
练习1:
创建一个基于ShapeFile的网络数据集3
练习2:
创建一个Geodatabase的网络数据集7
练习3:
创建一个多模型的网络数据集13
练习4:
使用网络数据查找最佳路径19
练习5:
查找最近的消防站24
练习6:
计算服务区,创建OD成本矩阵29
练习1:
创建一个基于ShapeFile的网络数据集
在这个练习中,你将学习从一个简单的线要素中创建一个简单的基于Shapefile的网络数据集。
创建一个网络数据集
1、启动ArcCatalog。
2、指向C:
\arcgis\ArcTutor\Network_Analyst文件夹。
3、单击Exercise1目录显示内容。
4、如果网络分析扩展不可用,可以点击工具菜单,点击“Extensions”,选中网络分析,关闭窗口
5、右击”Streets”shape文件,选择“新建NetworkDataset”。
这个shape文件包含了SanFrancisco地区的街道数据。
6、默认情况下,网络数据集的名称为Streets_ND。
NetworkConnectivity定义了参与网络要素的相互连接性。
网络数据集的默认连接是把所有资源放在一个连接组中,指定所有边资源终点的连接性。
一个基于shape文件的网络只有一个边资源,因此没有必要创建多个连接组。
当然了,我们也希望使用终点连接性来进行街道建模。
(查看这个模型,可以点击Connectivity按钮)
7、接受默认连接,点击下一步。
以前版本的ArcView和ArcINfo支持使用elevation字段进行建立连接性。
Shape或coverage的每个要素将被指定两个Z-elevation值,分别为每个endpoint。
如果一条线的endpoint有一样的Z高程值,连接性就建立起来。
如果值不一样,他们就不能连接。
(例如桥和隧道)。
高程字段包含只为建立连接的逻辑高程值,并不为要素提供高程信息。
ArcGISNetworkanalyst可以使用Z-elevation值来修改以上步骤所建立的连接设置。
ArcGIS网络分析自动查找并绘制相关的字段。
8、点击下一步,接受默认的高程字段设定。
如果ArcGIS网络分析在你的shape文件中找到elevation字段,它将自动选择YesRadio按钮,并指定相关的字段。
ArcGIS网络分析支持基于shapefile网络分析的转向。
转向信息(例如转向限制和延迟)增强了网络分析的质量。
以前版本的arcinfo和arcview使用转向表。
这个转向表可以转化撑转向要素,并且在网络数据集中使用。
你会在练习2中使用转向要素。
默认情况下,GlobalTurns被选中。
GlobalTurns是可以被设置规则,例如所有左转向有15秒延迟。
这样的规则为右转提供了优先权。
GlobalTurns的优点是你不需要在网络中的转向创建个别要素的规则。
9、点击“Yes”建立网络的转向
10、点击下一步继续
网络属性是用来控制导航的。
例如作为整个网络的阻抗代价。
一些限制如单行线也是网络属性的一个例子。
ArcGIS网络分析可以分析shape文件的资源,查找到通用的字段,如meters,Minutes(FT_Minutes和,每个代表一个方向),和单行线。
一旦查找到了这些字段,它将自动的创建响应的网络属性,并指定各自的字段给它们。
(可以通过点击Evaluators按钮查看)。
11、既然属性字段自动定义了,并赋值,点击下一步继续
如果要在网络分析中使用行驶方向,需要在网络数据集中设置。
12、选择YES来完成行驶方向的设置
网络分析自动在streets资源数据中查找和map字段,用于报告街道名称。
而且长度和时间字段同样自动的map
13、点击下一步继续
14、所有设置的总结将显示在窗口中。
点击结束创建一个基于shape的网络数据集
15、点击建立网络
16、选择Streets_ND,点击Preview按钮来查看建立好的网络数据集
17、关闭ArcCatalog。
练习2:
创建一个Geodatabase的网络数据集
在这个练习中,你将创建一个使用巴黎街道要素和转向要素的geodatabase网络数据集。
创建一个网络数据集
1、启动ArcCatalog
2、浏览到C:
\arcgis\ArcTutor\Network_Analyst文件夹,点击Paris.gdb,查看数据内容
3、省
4、省
5、点击RoadNetwork要素数据集。
6、右击RoadNetwork要素数据集,点击新建网络数据集。
打开网络数据集向导。
7、输入网络数据集名称”ParisNet”
8、点击下一步
9、选中Streets要素作为数据源
10、点击下一步
11、点击“Connectivity”来建立连接性模型
街道要素有三个子类,我们希望用来设置连接性:
Highways,Majorroads,LocalStreets
12、点击Subtypes按钮,打开连接性设置:
subtypes对话框,选中streets(3)
13、点击Ok返回到连接性对话框。
现在有三行,分别对应每个子类。
14、对于这个网络,Highways和MajorRoads在每个endpoints互相连接。
LocalStreets在几何一致性的任意节点上连接。
改变街道的连接规则:
LocalStreets到任意节点。
15、点击OK关闭连接组对话框。
16、点击下一步
17、选择Nosince表示这个数据集中没有elevation字段。
18、点击下一步
19、选择Yes来进行网络建模。
选择ParisTurns来选择转向要素源。
20、点击下一步
有四个属性要素:
RoadClass,Oneway,Minutes,Meters。
ArcGIS网络分析检测所有源,并试着自动的为这三个属性指定值。
21、点击Evaluators来检查网络属性的值如何由源来确定。
从下拉列表中选择每个属性,监测求值和值的类型并指定。
22、点击OK返回新网络数据向导
23、你将添加新的属性,根据ParisTurns来创建限制移动的转向要素。
点击Add,打开添加新要素对话框。
输入TurnRestriction名称,选择UsageType的类型为Restriction。
选中”UsebyDefault”。
当一个新的网络分析图层创建了时候,这个限制将在默认情况下被使用。
24、点击OK,一个新的TurnRestriction将被添加到列表中
25、点击Evaluators通过源指定值
26、为ParisTurns设置Evaluator类型为Constant
27、改变ParisTurn的值为Restricted。
其它源的evaluators自动设置到默认值下的Traversable
28、点击OK返回到新网络数据集向导
29、点击下一步继续
30、点击Yes设置方向。
点击Directions打开网络方向属性页。
31、在General页,在Primary行中,Name下点击FULL_NAME。
在Paris的街道数据中,这个字段包含街道名称用来产生方向。
32、点击OK返回到向导中
33、点击下一步查看总结
34、点击Finish创建新的网络数据集
35、关闭ArcCatalog
练习3:
创建一个多模型的网络数据集
在这个练习中你将创建一个从多个要素类中产生的多模型的网络数据集
创建一个网络数据集
1、启动ArcCatalog
2、浏览到C:
\arcgis\ArcTutor\Network_Analyst\Exercise3
3、双击练习3展开
4、点击Paris.gdb,扩展其中内容
5、点击MultiModal_Network要素数据集。
6、右击Multimodal_Network要素数据集,点击新建网络数据集。
打开创建向导。
7、输入“ParisMultiNet”作为网络数据集的名称。
8、点击下一步
9、选择所有的要素来作为源参加网络。
10、单击下一步
11、点击”Connectivity”建立网络连接模型
12、点击”GroupColumn”,增加连接组到2。
连接组1表示地铁系统,连接组2表示道路网络。
13、设置连接组的选项
14、单击Metro_Entrances,选择Override
Metro_Entrances的每个要素都和streets要素的节点一致。
15、点击OK,关闭连接组对话框。
16、点击下一步
17、在这个练习的数据集中没有elevation字段,因此保证NO被选中。
18、点击下一步
19、选择Yes来对网络的转向设置进行建模。
尽管这个网络里边没有转向要素类,但是选择yes可以允许网络数据集支持global转向。
如果需要支持的话,转向信息可以添加到一个已有的网络数据集中。
如果你在这里选择no,你今后也不能在网络中添加转向了。
20、点击下一步
21、这里有四个属性默认添加了,RoadClass,Oneway,Minutes和Meters。
既然这个练习是要建立多模型网络,你将基于模型添加不同的时间属性。
对于机动车,你有行车的Drivetime,你需要一个Pedestrian_Time的属性。
默认情况下,网络分析添加了Minutes属性。
我们可以对这个属性重命名为Drivetime
22、选择Minutes,点击Rename,输入“Drivetime”。
Meters和Drivers属性有一个黄色的警告,表示评估的可能问题。
23、选择Meters,点击Evaluators来检查Meters属性的值。
ArcGIS网络分析检查所有源,并且尝试自动的为Meters属性指定值。
Metro_Lines源和Streets源有一个字段叫Meters;因此这个自动被自动指定了源。
对于网络中的每个边源,需要为每个旅行方向指定属性。
因此长度并不依赖于旅行方向,源的双方向都指定了同样的值。
网络分析试着为每个参与网络的边源指定cost属性。
在这种情况下,网络分析不能够为Transfer_Station和Transfer_Street_Station源找到值。
因此会出现一个警告的图标,表示存在问题。
24、选择四个有黄色警告符号的行,右击,选择Type,,并单击Field。
黄色图标变成惊叹号。
25、现在四行任然选中,右击选中的行,选择Value,点击SHAPE_LENGTH。
这会从选择源的SHAPE_LENGTH字段为Meters属性指定值。
26、点击应用
27、从属性下拉框中,选择Oneway。
网络分析为Streets源的Oneway属性自动指定了值。
既然所有的源都和metro系统相关,他们就没有oneway的限制。
28、从属性下拉框中选择Drivetime。
网络分析自动为Streets源指定了值。
其它边源并没有指定值,因此有警告符号。
Drivetime属性将用来对机动车的行驶时间进行建模。
既然机动车只在街道上行驶,因此街道可以存在一个有效的Drivetime值。
29、选择所有属于metro系统的边源(Metro_Lines,Transfer_Station,和Transfer_Street_Station)。
你可以使用CTRL健依次选择他们,点击列表头的Type,并选择Constant。
30、同样的行应该被选中,点击F12,将调出Constant值的输入框(也可以右击调出属性框),输入-1,并回车。
-1系统会把源作为限制的阻抗。
31、点击Ok,返回向导
32、点击添加,添加新的属性
33、在添加属性对话框中,输入”Pedestrian_Time”作为Name,设置UsageType为Cost,Minutes作为Units,Double作为DataType。
34、点击Ok
35、选择Pedestrian_Time,点击Evaluators。
Pedestrian_Time表示网络中步行的时间。
在这种情况下,它有两个组成,因为步行可能实现在地铁系统中的时间加上在街道网络上的时间。
在Evaluators对话框,一下6中源已经被选中。
Metro_Lines(在每个方向),Transfer_Stations(在每个方向),Transfer_Street_Station(在每个方向)。
36、右击,选择Type,单击Field.
37、再右击,选择Value,单击TRANSITTIM
38、为了给streets建立Pedestrian_Times,点击Streets行的From-To方向。
摁住CTRL健,单击Streets的To-From方向,为Streets源选择两行。
39、右击选中的源,指到Value,点击属性,出现FieldEvaluators对话框。
在街道网络中,行人可以步行。
因此对于Streets源,Pedestrian_Times的值是行人步行的时间。
假定行人步行速度为3km/h,那么每分钟的步行时间为Meters*60/3000,Meters是包含在边字段中长度的属性值
40、双击Meters字段,移动到“Value=”的位置,输入[Meters]*60/3000.点击Verfy来确认输入的语法。
41、点击OK,关闭对话框,返回Evaluators对话框
42、点击Ok,保存指定的属性
43、点击下一步
44、点击Yes来建立方向。
点击Direction打开方向属性的对话框。
45、在General项中,点击Sources的下来列表,点击Streets。
46、在StreetName字段列表中点击Primary
47、在Name字段的下拉框中点击FULL_NAME。
48、点击Ok
49、点击下一步,查看所有设置的总结。
50、点击完成来创建网络数据集
51、点击YES建立网络数据集
52、关闭ArcCatalog
练习4:
使用网络数据查找最佳路径
在这个练习李,你将学习基于行驶时间的最佳路径查询。
1、如果你已经在ArcMap中打开了Exercise4.mxd,跳过步骤2-5
2、省
3、省
4、省
5、省
6、通过Tools工具菜单中,点击Extersions,打开网络分析的扩展。
7、如果没有出现NetworkAnalyst工具,可以在Main菜单中,点击View,指向,danjiNewtorkAnalyst
8、如果网络分析窗口没有打开,点击网络分析窗口按钮
来打开。
创建路径分析图层
1、在网络分析工具栏中,点击网络分析下拉菜单,点击NewRoute。
网络分析窗口现在包含了空的Stops,Routes和Barriers目录列。
同时,在内容表中包含了一个新的网络分析图层。
添加Stop
下一步,你将添加Stop,在Stop之间将创建最佳路径。
1、在网络分析窗口中点击Stop(0)
2、点击网络分析工具栏,点击创建网络位置工具
3、在地图上任意位置点击,定义一个新的停靠点。
程序将计算最近的网络位置,并且用本地符号对停靠点进行符号化。
停靠点将保持选中状态,直到添加下一个停靠点
定位的停靠点同时显示数字为1.数字表示停靠点的顺序。
你也可以注意到,停靠点目录窗口的显示也变为1.
4、再在地图上添加两个停靠点。
分别为2,3.第一个停靠点将作为第一个,第三个作为最后一个终点。
如果停靠点不在网络上,它将显示为一个未定位的符号。
对于未定位的停靠点,可以通过移动到最近的任意边来定位到网络上。
在网络分析工具条中,点击Select/MoveNetworkLocationtool
来实现。
使用选择/移动网络位置工具,点击并拖动为定位的停靠点,移到就近的网络边要素上。
为分析建立参数
下一步,你将指定你要计算路径的时间(minutes),以及允许的U转向,以及单行线限制。
1、在网络分析窗口中,单击分析图层属性,打开路径图层属性对话框
2、在图层属性对话框中,点击分析设置项。
确定impedance选择是Minutes(Minutes)。
3、不要使用时间窗口(保持选择框为未选中)。
4、不要记录停靠点(保持选择框为未选中)
5、从允许U-turns下拉框中选择Everywhere
6、从OutputShapeType下拉框中选择TrueShape
7、选中框“labledIgnoreInvalidLocations”,这将让你使用定位的停靠点来查找最佳路径。
网络中未定位的停靠点将忽略。
8、在Restrictionslist中点击Oneway。
9、在Directions部分
10、确认DistanceUnits设置为Miles,选中TimeAttribute选择框,Time属性设置为Minutes。
11、点击Ok
运行处理计算最佳路径
1、点击Solve按钮
2、在网络分析窗口中点击plus(+)符号,显示路径
3、点击名为“GraphicPick1-GraphicPick3”的路径,点击DirectionWindows显示行驶方向。
4、方向窗口将显示在地图上
5、关闭方向窗口
添加障碍
1、早窗口菜单中,点击Magnifier,打开放大窗口
2、在地图上拖动打开一个放大窗口
3、在放大窗口中查看要添加障碍的位置。
4、在网络分析窗口,点击Barries(0)
5、在网络分析工具栏中,点击CreateNetworkLocationtool
6、在地图上添加障碍点
7、点击Solve按钮
,将重新计算网络路径,并且新路径避开了障碍点。
8、关闭放大窗口
保存最佳路径
1、右击Routes
(1),点击ExportData
2、保存路径数据到文件夹中,如C:
\Data\Exercise4_Route.shp
3、点击Ok,保存最佳路径为shape文件。
练习5:
查找最近的消防站
在这个练习中,你将查找最近的四个消防站,可以对一个指定的地址进行防火演习。
你也将计算这四个消防站到达现场的最快路线。
准备显示
打开练习数据中的Exercise5.mxd文档。
创建最近设施分析图层
1、在网络分析工具栏中,点击网络分析下拉菜单,点击NewClosestFacility。
2、在网络分析窗口中,将包含一个空的Facilities,Routes,Barriers目录
同时在内容表中也包含了一个新的最近设施分析的图层。
添加设施
下一步你将从一个已创建的点的shapefile图层中添加设施
1、右击网络分析窗口的Facilities(0),点击LoadLocations。
2、从LoadFrom下拉框中选择Fire_Station,保持默认设置。
3、点击OK
四个消防站添加到网络分析窗口中,并作为设施显示在地图上。
添加事件
下一步,你讲查找街道地址(1202TwinPeaksBlvd),并作为事件添加作为最近设施分析。
1、在网络分析窗口中点击Incidents(0),选择作为一个要添加街道地址的要素图层。
2、从Edit菜单中选择Find工具,打开查找的对话框。
3、在地址栏中,选择”SanFranStreets”
4、在StreetorIntersection中输入“1202TwinPeaksBLvD”,
5、点击Find,将查找到结果
6、右击查找到的结果,选择“AddNewtorkLocation”,结果将添加到网络分析的Incidents中。
7、关闭查找对话框
设置分析参数
下一步,你将为最近设施分析指定参数。
1、在网络分析窗口中,点击ClosestFacility属性按钮,打开层属性对话框。
2、在层属性对话框中,点击AnalysisSetting项。
3、点击Impedance下拉箭头,点击Minutes(Minutes)。
4、设置默认的Cutoff值为3.ArcGIS将搜索离Fire附近3分钟内的消防站。
任意超出三分钟行驶时间之外的消防站将都忽略。
5、增加从1-4的设施来查找。
ArcGIS尝试搜索着火点周围的四个消防站。
如果在三分钟内只有三个消防站,第四个消防站也不会找出来。
6、在TravelFrom下,选择Facility(Firestation)为Incident(fire)。
7、选择允许U-Turn的下拉框中为Everywhere。
8、从OutputShapeType的下拉框中选择TrueShape。
9、勾选IgnoreInvalidLocations。
这可以让你使用定位的停靠点来查找最佳路径。
未被定位的停靠点将被忽略。
10、在Restrictions列中选中Oneway。
11、点击OK保存设置。
运行处理查找最近的设施
1、点击Solve按钮
计算最近的消防站到达目的地的路径。
注意到只找到两个最近的消防站在三分钟之内可以到达目的地。
你可以增加到4分钟,再计算一下能找到多少个消防站。
2、点击网络分析工具栏的方向窗口按钮
,将为每个消防站生成方向路线。
练习6:
计算服务区,创建OD成本矩阵
在这个练习中,你将创建一系列的多变性来表现从一个设施点在指定的时间内所能够到达的距离。
这些多边形称为服务区多边形。
你可以为巴黎的6个仓库计算3-,5-和10-分钟服务区多边形。
你也可以找到在这些服务区里有多少个商店。
你也必须要查找到一个新的仓库的位置来优化服务区中未覆盖的服务的地方。
当然,你也将创建一个Origin-Destination成本矩阵,为从仓库到商店的10分钟时间里运输货物的成本。
这样的成本用来作为物流、运输和路径分析的输入使用。
准备显示
找到Exercise6.mxd,并在ArcMap中打开。
创建服务区分析图层
1、在网络分析工具栏中,点击网络分析下来菜单,点击NewServiceArea.
2、网络分析窗口中将包含一个空的Facilities,Barriers,Lines和Polygons目录
3、在内容表中将包含一个新的服务区分析图层。
添加设施
下一步,你将添加仓库作为设施,用来产生服务区多边形。
1、右击网络分析窗口中的Facilities(0),选择LoadLocations。
在LoadFrom:
的下拉列表中选择Warehouses,点击Ok.
点击Facilitics(6)前的(+)符号,可以看到所有的仓库列表。
为分析设置参数
下一步你将指定服务区分析的参数。
这些服务区将为每个设施分别计算3分钟,5分钟和10分钟的多边形。
你将指定行驶的方向,不允许U-turns,必须遵从单行线规则等。
1、在