四 ArcEngine实现创建网络数据集 ArcEngine创建网络数据集的过程,与ArcMap设置的过程类似,主要通过六个步骤即可以实现. 1 定义网络数据集对象,并设置基本属性,包括网络数据集名称,空间参考,空间范围等内容. 关键代码如下: /// <summary> /// 创建网络数据集对象 /// </summary> /// <param name="featureDataset">包含网络数据集的空间要素集</param>…
后记 下面给出项目中用到的自定义的封装类. AE许可初始化封装类: public class AELicenseChecker { private static volatile AELicenseChecker _instance = null; private static readonly object lockHelper = new object(); //AE许可对象 private IAoInitialize _aoInitialize = null; private AELice…
一 引子 网络数据集,GIS空间分析基础的理论和知识,是最短路径分析.连通性分析等其他空间分析技术的数据基础. 以往,网络数据集的研究很少,此次项目开发过程中,对网络数据集以及arcengine创建网络数据集的实现流程,比较深入的了解.功能实现过程中,遇到了不少的问题,通过不断的解决问题,熟悉了相关的几个AE接口的设置和使用.创建网络数据集的功能实现,相对于其他的AE功能实现来说,是比较复杂的.主要是对应接口属性设置的不熟悉造成的,而且还有遵循固定的步骤设置. ESRI官网样例代码及网络资料,对…
前言 似乎除了官方介绍的例子,我还没有在网上见过一篇介绍如何"使用自己的数据"创建"网络数据集"的文章. 有介绍几何网络的,有介绍如何用官方SanFrancisco数据的,也有直接用官方SanFrancisco的网络数据集进行应用的,就是没有告诉我怎么用自己的线数据生成网络数据集并应用的. 我靠网上的文章和官方的例子一点点摸了出来,虽然不是很完整的解说,不过确实能用于最基本的网络分析了. [软件准备] 本人使用ArcGIS for Desktop 10.4下的Arc…
ArcGIS中最基本的三种矢量数据是什么?点线面. 网络中除了路网之外,还会有地物点. 如上图,我们在建立网络数据集的时候,作为实验,当然可以只是公路网.但是在大型的决策任务中,网络数据集就不只是公路网那么简单了. 在城市与城市之间,有高速公路,国道,高铁,普铁,甚至还有水路. 如此复杂的网络模型是如何连通的呢?他们之间的交点又有什么样的连通方式呢?在这里,我仍然卖个关子,在以后的连通性一章,会详细说明.在文末,就会看到点作为网络数据集中十分强大而关键的一员出现,其意义是多连通组的时候,作为媒介…
创建网络数据集就得有各种数据和参数,这篇文章很长,慎入. 网络分析依赖于网络数据集的质量,这句话就在这里得到了验证:复杂.精确定义. 本节目录如下: 1. INetworkDataset与IDENetworkDataset对比 1.1 什么是INetworkDataset 1.2 两者对比 2. 如何设置数据元素网络数据集(IDENetworkDataset)的属性以创建网络数据集 2.1 涉及的接口.类.枚举 2.2 创建数据元素网络数据集(IDENetworkDataset)对象 2.3 添…
上节提及如何使用IDatasetContainer2接口访问到网络数据集,上例可以封装为一个方法. 这节就使用IDatasetContainer2接口(Geodatabase类库)的CreateDataset()方法创建网络数据集. 涉及到的接口(全在Geodatabase类库中) IDatasetContainer2.IDataset.INetworkDataset.IDEDataset.IDENetworkDataset4(重点) 涉及到的枚举类型(全在Geodatabase类库中) esr…
为了创建或打开一个网络数据集,你必须使用NetworkDatasetFDExtension对象(文件地理数据库中的数据集)或NetworkDatasetWorkspaceExtension对象(对于Shp文件组成的网络数据集). 当你拥有了合适的对象后,就可以使用IDatasetContainer2接口去创建或者打开网络数据集了. 如果当前打开的Map对象中有网络数据集图层,那么就可以通过访问INetworkLayer接口的NetworkDataset字段来访问网络图层中的网络数据集. IDat…
上篇使用shp文件创建网络数据集,然而在ArcGIS 9中就支持地理数据库了,数据库的管理更为科学强大. 本篇就使用个人地理数据库进行建立网络数据集,线数据仍然可以是1.1中的线数据,但是我做了一些修改,读者仍然可以用1.1中制作的数据. 1. 数据库的建立与数据的导入 为什么要创建要素数据集呢? 是因为地理数据库中的网络数据集是基于要素数据集的. 这里就随便填写了,投影与Route的线shp文件一致. 导入Route数据: 这回我用了中文命名. 注意,导入的数据集会自动计算几何长度(面还会计算…
上篇已经创建好了线数据(shp文件格式)链接:点我 这篇将基于此shp线数据创建网络数据集. 在此说明:shp数据的网络数据集仅支持单一线数据,也就是说基于shp文件的网络数据集,只能有一个shp线文件参与. 如何解决这个弊端呢?见下篇,利用地理数据库即可. 本篇目录: 1. 创建网络数据集 2. 给网络数据集命名 3. 转弯 4. 连通性 5. 高程 6. 网络数据集的阻抗属性 7. 出行模式 8. 导航设置 9. 创建并构建网络数据集 10. 试验最短路径 1. 创建网络数据集! 如图. 2…