AE中网络分析的实现 的各个类之间的关系
1. 创建网络数据集
在ArcCatalog中勾选网络分析模块,新建个人地理信息数据库—>新建要素数据集—>批量导入要素—>创建网络数据集。
在网络的属性中,可以添加成本、等级和限制等属性。成本用于累积计算最短路径(一般为距离和时间);等级用于道路等级的划分(使用等级执行网络分析时,将应用启发式算法,该算法在选择道路时倾向于更高级别的等级);可以针对特定元素标识约束条件,这样在分析过程中,不可遍历限制元素。
2. AE中的网络分析
在AE中网络分析对应于NetworkAnalyst命名空间。在这里会用到很多不常见的接口INetworkLayer(网络图层),INetworkDataset(网络数据集),INASolver(网络分析求解器),INASolverSettings(网络分析设置),IDENetworkDataset(数据元素网络数据集),INAContext(网络分析环境),INALayer(网络分析图层),INAClass(网络分析类型),INALocator(网络分析定位器)等待。
在网络分析中,网络数据集是一切分析的基础,所以在进行网络分析之前,首先要得到网络数据集。将数据加载到AxMapControl之后,网络数据集所对应的图层类型为INetworkLayer,通过它的属性INetworkLayer.NetworkDataset就可以的到网络数据集INetworkDataset。
要想进行网络分析,还需要新建一个网络分析求解器(INASolver),并且根据不同的分析需求实例化不同的求解器类型,而不同的求解器类型中包含着不同的网络分析类型(NAClass),不同的求解器接口又可以进行相应不同的设置(如INAClosestFacilitySolver可以设置默认目标设施点数量和默认成本切断值即最大成本)。
如果要对网络分析进行设置,则通过强制转换将NASolver转换为INASolverSettings,根据实际需要对其属性进行设置。AccumulateAttributeNames用于设置多个累积单位字段,ImpedanceAttributeName用于设置成本字段,HierarchyAttributeName用于设置等级字段,UseHierarchy设置是否使用道路等级,RestrictionAttributeNames用于设置限制字段。
在INASolver和INetworkDataset基础上使用INASolver.CreateContext方法创建网络分析环境,使用INASolver.CreateLayer方法创建网络分析图层,在INALayer上就可以进行网络分析了。在最近设施点分析(NAClosestFacilitySolver)中,事件点(Incidents)和设施点(Facilities)是两个必要的网络分析类型,所以在进行分析之前需要加载位置要素到网络分析环境的网络分析类型中,可以使用INAClassLoader批量加载,也可以将INAClass强制转换为IfeatureClass然后通过CreateFeature添加单个要素。
准备工作完毕,使用ISolver.Solve方法进行分析计算。不同的分析求解器有不同的输出要素类型,均包含在网络分析环境中,可以对其进行查询或其它操作。
AE中网络分析的实现 的各个类之间的关系的更多相关文章
- 请解释ASP. NET中的web页面与隐藏类之间的关系
请解释ASP.NET中的web页面与其隐藏类之间的关系 其实页面与其隐藏类之间就是一个部分类的关系,你在页面上放一个一个的控件就是在这个类中定义一个一个的属性, 因为是同一个类的部分类的关系,所以隐藏 ...
- 全面解释java中StringBuilder、StringBuffer、String类之间的关系
StringBuilder.StringBuffer.String类之间的关系 java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,在上一篇博文中我 ...
- python中对象、类型和元类之间的关系
在python中对象.类型和元类构成了一个微妙的世界. 他们有在这个世界里和平共处,相辅相成.它们遵循着几条亘古不变的定律: 1.python中无处不对象 2.所有对象都有三种特性:id.类型.值 3 ...
- 请解释ASP.NET中的web页面与其隐藏类之间的关系
其实页面与其隐藏类之间就是一个部分类的关系,你在页面上放一个一个的控件就是在这个类中定义一个一个的属性, 因为是同一个类的部分类的关系,所以隐藏类可以访问到页面上控件,这样做是为了把展现与处理逻辑分开 ...
- 请解释ASP.NET 中的web 页面与其隐藏类之间的关系?
一个ASP.NET 页面一般都对应一个隐藏类,一般都在ASP.NET 页面的声明中指定了隐藏类例如一个页面 Tst1.aspx 的页面声明如下 <%@ Page language="c ...
- java中StringBuilder、StringBuffer、String类之间的关系
今天在CSDN的高校俱乐部里看到了"Java基础水平測试(英文)".感觉自己学了java这么久,想看下自己的java水平究竟是个什么样.測试结果就不说了,反正是慘不忍睹. 看了一下 ...
- Python中对象、类型、元类之间的关系
Python里的对象.类型和元类的关系很微妙也很有意思. 1989年圣诞节期间,上帝很无聊,于是创造了一个世界. 对象 在这个世界的运转有几条定律. 1.一切都是对象 对象(object)是这个世界的 ...
- Java中接口与接口和类之间的关系
接口和接口之间的关系 继承关系 可以多继承,并且可以多层继承 注意: 1.如果多个父接口中有同名的抽象方法,那么子接口只需要实现一次即可 2.如果多个父接口中有同名的默认方法,那么子接口必须重写默认方 ...
- Java 中类与类之间的关系
在java中类和类之间的关系基本上有依赖.关联.聚合.组合等 一.继承关系 继承指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力.在J ...
随机推荐
- mIsFunui-判断Funui方法
1.有时候我们根据自己的需要,修改了frameword下的代码,但是,我们又不希望影响第三方,这时候我们就可以在修改处添加一个我们自己的标志位,如,mIsFunui 它是定义在我们自定义的theme里 ...
- Weblogic问题汇总
1. weblogic unable to get file lock问题 在项目使用过程中,非正常结束Weblogic进程导致Weblogic无法启动,出现以下错误: <BEA-141281& ...
- 洛谷—— P1118 [USACO06FEB]数字三角形Backward Digit Su…
https://www.luogu.org/problem/show?pid=1118#sub 题目描述 FJ and his cows enjoy playing a mental game. Th ...
- oracle-function 练习
/* *scm_iss.test_imti_fun2 *带有输入參数的Function */ CREATE OR REPLACE FUNCTION TEST_IMTI_FUN2(P_NO IN NUM ...
- JS学习笔记 - 微博发布效果
<script> window.onload = function() { var oTxt = document.getElementById('txt1'); var oBtn = d ...
- 错误代码: 1449 The user specified as a definer ('root'@'%') does not exist
1. 错误描写叙述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:call analyse_use('20150501','201506 ...
- 利用iTextSharp组件给PDF文档添加图片水印,文字水印
最近在做关于PDF文档添加水印的功能,折腾了好久,终于好了.以下做个记录: 首先会用到iTextSharp组件,大家可以去官网下载,同时我也会在本文中附加进来. 代码中添加引用为: using S ...
- [Nuxt] Build a Vue.js Form then use Vuex Actions to Post to an API in Nuxt
The default behavior of submitting an HTML form is to reload the page. You can use the Vue.js @submi ...
- Windows Vista下UIPI和Windows消息的故事(UIPI默认情况下会禁止所有高于WM_USER的消息)
一. 什么是UIPI UIPI指User Interface Privilege Isolation(用户界面特权隔离),是Windows Vista 新引入的一种安全特性.用于拦截接收比自身进程MI ...
- matlab 正则表达式
regexprep Replace text using regular expression collapse all in page Syntax newStr = regexprep(str,e ...