一 引子

网络数据集,GIS空间分析基础的理论和知识,是最短路径分析、连通性分析等其他空间分析技术的数据基础。

以往,网络数据集的研究很少,此次项目开发过程中,对网络数据集以及arcengine创建网络数据集的实现流程,比较深入的了解。功能实现过程中,遇到了不少的问题,通过不断的解决问题,熟悉了相关的几个AE接口的设置和使用。创建网络数据集的功能实现,相对于其他的AE功能实现来说,是比较复杂的。主要是对应接口属性设置的不熟悉造成的,而且还有遵循固定的步骤设置。

ESRI官网样例代码及网络资料,对创建网络数据集的接口解释是不够明确的,需要对比使用ArcMap创建网络数据集流程,才能理解几个AE接口使用的作用。

记录下自己代码实现和解惑的过程,抛砖引玉,帮助后来人,也是在帮助自己。

二 网络数据集概述

网络数据集是GIS网络分析的数据基础,具备连通性,方向性等特性。根据ESRI官网的定义,网络数据集是可构建无向流模型的互连网络元素(边、交汇点和转弯)集合。

网络数据集是由网络元素组成的。网络元素包括三种类型,边(Edges)、交汇点(Junctions)和转弯(Turns)。Turn是重要的元素,Turn表达了禁止策略和转向成本,模拟现实中不同的转向策略,比如直行,左转,右转,其花费的成本都是不同的。网络数据集中包括两种Turn,Globle Turn和Turn Feature Class。

连通性对于网络数据集是个重要的特性,连通性也是网络分析的分析基础。连通性表达了网络元素之间的可达性。ArcGIS可以定义网络元素之间的三种连通方式(连通策略),即边线连通、交汇点连通、高程字段。

网络属性是控制网络可穿越性的网络元素的属性。网络属性有五个基本属性,即名称、使用类型、单位、数据类型和默认值。网络数据集包括四种类型,Cost,Hierarchy,Restriction,Descriptor。

三 ArcMap中创建网络数据集

在ArcMap中创建网络数据集的步骤是简单的,通过八个设置界面填写和设置数值,即可完成。这个过程就是为上一个主题中定义的内容设置数值。

1 定义网络名称;

2 选择参与创建数据集的要素类;

3 定义转弯数据,一般设置为Globe Turns;

4 设置连通性,其中可以设置端点连通策略;

5 设置参与要素类的高程字段;

6 设置网络数据集的属性。该步骤是关键的,可以通过添加属性,设置限制条件或参与计算字段;

7 设置网络数据集的方向属性,包括时间属性,长度属性,显示长度单位,道路详情等内容;

8 创建数据集设置概述;

总的来说,通过ArcMap创建网络数据集是可视化的,是操作简易的,如果没有特别的业务需求,采用默认值,就可以成功创建网络数据集。如果有约束条件的设置,通过字段的选择即可以简单完成;复杂的需求可以通过脚本编写,也可以实现业务要求。

未完待续...

Arcengine实现创建网络数据集札记(一)的更多相关文章

  1. Arcengine实现创建网络数据集札记(二)

    四 ArcEngine实现创建网络数据集 ArcEngine创建网络数据集的过程,与ArcMap设置的过程类似,主要通过六个步骤即可以实现. 1 定义网络数据集对象,并设置基本属性,包括网络数据集名称 ...

  2. Arcengine实现创建网络数据集札记(三)

    后记 下面给出项目中用到的自定义的封装类. AE许可初始化封装类: public class AELicenseChecker { private static volatile AELicenseC ...

  3. ArcGIS 网络分析[2] 利用自定义基础数据创建网络数据集

    前言 似乎除了官方介绍的例子,我还没有在网上见过一篇介绍如何"使用自己的数据"创建"网络数据集"的文章. 有介绍几何网络的,有介绍如何用官方SanFrancis ...

  4. ArcGIS 网络分析[1.5] 使用点线数据一起创建网络数据集(如何避免孤立点/点与线的连通性组合结果表)

    ArcGIS中最基本的三种矢量数据是什么?点线面. 网络中除了路网之外,还会有地物点. 如上图,我们在建立网络数据集的时候,作为实验,当然可以只是公路网.但是在大型的决策任务中,网络数据集就不只是公路 ...

  5. ArcGIS 网络分析[8.3] 设置IDENetworkDataset的属性及INetworkDataset的对比/创建网络数据集

    创建网络数据集就得有各种数据和参数,这篇文章很长,慎入. 网络分析依赖于网络数据集的质量,这句话就在这里得到了验证:复杂.精确定义. 本节目录如下: 1. INetworkDataset与IDENet ...

  6. ArcGIS 网络分析[8.2] 资料2 使用IDatasetContainer2接口的CreateDataset方法创建网络数据集

    上节提及如何使用IDatasetContainer2接口访问到网络数据集,上例可以封装为一个方法. 这节就使用IDatasetContainer2接口(Geodatabase类库)的CreateDat ...

  7. ArcGIS 网络分析[8.1] 资料1 使用AO打开或创建网络数据集之【打开】

    为了创建或打开一个网络数据集,你必须使用NetworkDatasetFDExtension对象(文件地理数据库中的数据集)或NetworkDatasetWorkspaceExtension对象(对于S ...

  8. ArcGIS 网络分析[1.3] 在个人地理数据库中创建网络数据集/并简单试验最佳路径

    上篇使用shp文件创建网络数据集,然而在ArcGIS 9中就支持地理数据库了,数据库的管理更为科学强大. 本篇就使用个人地理数据库进行建立网络数据集,线数据仍然可以是1.1中的线数据,但是我做了一些修 ...

  9. ArcGIS 网络分析[1.2] 利用1.1的线shp创建网络数据集/并简单试验最佳路径

    上篇已经创建好了线数据(shp文件格式)链接:点我 这篇将基于此shp线数据创建网络数据集. 在此说明:shp数据的网络数据集仅支持单一线数据,也就是说基于shp文件的网络数据集,只能有一个shp线文 ...

随机推荐

  1. IOS8Preview-Huge for developer and Massive for everyone else

    IOS8Preview-Huge for developer and Massive for everyone else 不管对于开发者还是用户来说,IOS8都是IOS自发布以来功能最强大的版本,但是 ...

  2. 阿里云ubuntu环境笔记

    安装jdk8 1.下载JDK 从官网下载jdk8 jdk-8u5-linux-x64.tar.gz 2.解压 $ tar -zxvf jdk-8u5-linux-x64.tar.gz 解压出来是一个j ...

  3. 修改mysql默认字符集的方法

    +--------------------------+---------------------------------+ | Variable_name | Value | +---------- ...

  4. Raspberry Pi --操作LED

    最简单的一个树莓派GPIO操作入门,这里记录以下 先上连接图: 卧槽.图真特么的大 用到了GPIO的GND和#18针脚,这就不上图了,红色的线接的是18针脚,暗色的线接的是GND针脚,下面上Pytho ...

  5. [CS231n-CNN] Backpropagation(反向传播算法)

    课程主页:http://cs231n.stanford.edu/ 上节讲到loss function: 引出了求导数使得loss function减小. -Back Propagation :梯度下降 ...

  6. 【原创】MYSQL++源码剖析——前言与目录

    终于完成了! 从第一次想写到现在真的写好大概花了我3个月时间.原来一直读人家的系列文章,总感慨作者的用心良苦和无私奉献,自己在心里总是会觉得有那么些冲动也来写一个. 最开始的麻烦是犹豫该选哪个主题.其 ...

  7. HMM 自学教程(五)前向算法

    本系列文章摘自 52nlp(我爱自然语言处理: http://www.52nlp.cn/),原文链接在 HMM 学习最佳范例,这是针对 国外网站上一个 HMM 教程 的翻译,作者功底很深,翻译得很精彩 ...

  8. DomFlags - 给 DOM 添加书签,方便调试

    DomFlags 所以一款 Chrome 浏览器扩展程序提,供了一种新的方式与浏览器开发者工具互动.DomFlags 让你可以给 DOM 元素创建快捷键,就像用于导航 DOM 树的书签.它们可以帮助您 ...

  9. Node.js 入门手册:那些最流行的 Web 开发框架

    这篇文章与大家分享最流行的 Node.js Web 开发框架.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编 ...

  10. 阅读《深入理解JavaScript定时机制》

    鸟哥的这篇<深入理解JavaScript定时机制>从javascript线程角度分析了setTimeout和setInterval两个定时触发器的实现原理. 看完的体验就是主要要记住两点: ...