这篇是对前三篇的总结,因为网络数据集涉及的“点”太多了,我只能挑重点来设置,大家明白框架后可以自行寻求帮助文档添加功能。

我以C#类的形式给出,这个类包含很多种方法,因为本人的C#功底还不是很好,对设计模式还不能很好的把控,应该算是工厂模式的一个小小实验吧,如果有不对的地方请编程大佬指出。

这个类的名称是NetworkDatasetConstrutor,实现多个接口(加载的放一个接口,网络属性的一个接口,网络源一个接口,创建并构建一个接口等),其中设置方法如下:

  • NetworkDatasetConstrutor.LoadFeatureDataset(),给定一个字符串,返回一个IFeatureDataset对象;
  • NetworkDatasetConstrutor.CreateDENetworkDataset(),给定【】,返回一个空白IDENetworkDataset;
  • NetworkDatasetConstrutor.IsEmptyDENetworkDataset(),给定IDENetworkDataset,判断其中空白的属性,返回字符串信息;
  • NetworkDatasetConstrutor.CreateNetworkSources(),给定网络源类型,返回空白网络源对象;
  • NetworkDatasetConstrutor.SetEdgeNetworkSource(),给定网络源和它的属性,设置其连通性、方向等属性;
  • NetworkDatasetConstrutor.SetJunctionNetworkSource(),同上,是交点的属性;
  • NetworkDatasetConstrutor.SetTurnNetworkSource(),同上,是转弯的属性。
  • NetworkDatasetConstrutor.CreateNetworkCostAttribute(),给定【】,返回成本网络属性;
  • NetworkDatasetConstrutor.SetNetworkCostAttribute(),给定【】,设置成本类型网络属性;
  • NetworkDatasetConstrutor.CreateNetworkDirection(),返回网络导航空白对象;
  • NetworkDatasetConstrutor.SetNetworkDirection(),设置网络导航对象的属性;
  • NetworkDatasetConstrutor.LoadNetworkDataset(),给定一个字符串,返回一个INetworkDataset
  • NetworkDatasetConstrutor.CreateNetworkDataset(),给定一个IDENetworkDataset,创建一个INetworkDataset并返回
  • NetworkDatasetConstrutor.BuildNetworkDataset(),给定IDENetworkDataset或INetworkDataset,构建。

其中,网络属性部分比较复杂,仍需斟酌。

待细化。(同理,在后面NetworkAnalyst中,为了方便,我也会自定义一个类)

ArcGIS 网络分析[8.4] 资料4 聚合——创建及打开网络数据集的类实现的更多相关文章

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

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

  2. ArcGIS 网络分析[8.6] 资料6 创建网络分析图层及进行路径分析

    基于上篇所介绍的内容,就说说如何利用访问到的网络数据集,在Map中添加网络数据集图层.创建网络分析图层中的路径图层,并执行路径分析示例.

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

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

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

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

  5. ArcGIS 网络分析[8.5] 资料5 网络分析拓展模块及各种接口说明

    说完了网络数据集如何用AO来创建,接下来就说说如何用另一个类库--NetworkAnalyst来做网络分析. 区别于NetworkAnalysis,这个是几何网络分析用的类库. 本篇先做类库和有关接口 ...

  6. ArcGIS 网络分析[0] 介绍与博文目录【更新中】

    网络分析是个热点,理论上是属于计算机图形学和数据结构的,GIS以此为基础做出应用. 以下列举本人在学习中遇到的网络分析问题与经验总结. 1. 软件平台及数据准备 平台:Windows 10 操作系统, ...

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

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

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

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

  9. ArcGIS 网络分析[3] 发布NAServer到ArcGIS for Server(以Server 10.4为例)

    前阵子对ArcGIS API For JavaScript的网络分析有兴趣,但是不知道其数据是如何获取的. 查阅API知道,AJS的网络分析只有三个功能:最短路径(RouteTask).最近设施点(C ...

随机推荐

  1. Eclipse创建一个JAVA WEB项目

    继上一篇博客,Eclipse的Tomcat已经配置好了,现在我们开始创建web项目. 1.打开Eclipse,选择菜单栏的file>New>Dynamic Web Project 弹出窗口 ...

  2. nomad的简易集群

    启动服务器 第一步是为服务器创建配置文件.无论是从下载的文件github,或粘贴到一个名为server.hcl: vim server.hcl # Increase log verbosity log ...

  3. JavaSE学习入门

    Java基础: 1.安装JDK1.7(JDK 包括JRE,Java工具包,Java的类库) 2.编写Hello,world 程序 public class Hello{ public static v ...

  4. 手动编译 Nginx 并安装 VeryNginx

    VeryNginx 是个非常有意思且便捷的 Nginx 扩展程序.最近新开了台 VPS,便想体验一下它带来的快感. VeryNginx 有个不超过 5 行的安装方法,但作为强迫症我更喜欢使用自己编译的 ...

  5. 原型模式(Prototype)

    原型模式(Prototype) 原型模式虽然是创建型的模式,但是与工程模式没有关系,从名字即可看出,该模式的思想就是将一个对象作为原型,对其进行复制.克隆,产生一个和原对象类似的新对象.本小结会通过对 ...

  6. canvas入门之时钟的实现

    canvas 入门之作: 三步实现一个时钟: 直接上效果:   step 1  : 背景制作首先制作从1-12的数字: var canvas = document.getElementById('ca ...

  7. Java基础(三)-final关键字分析

    今天来谈谈final关键字的作用, 虽然有很多博文关于final进行了很深的研究,但还是要去记录下谈谈自己的见解加深下印象.下面直接进入主题: 一.final关键字的作用 1.被final修饰的类不能 ...

  8. mac下出现xcrun: error导致git、svn无法使用的解决办法

    现象:xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun ...

  9. VantPy自动化测试框架

    1.必须要谈的一点,就是我们学习自动测试不是用来炫耀的,而是用来提升自身能力的. 2.这个框架不是通用框架,只是在这里灌输这个框架的思想,让每个人写框架都易如反掌 3.如果没有python基础的同学, ...

  10. ElasticSearch 学习记录之 分布式文档存储往ES中存数据和取数据的原理

    分布式文档存储 ES分布式特性 屏蔽了分布式系统的复杂性 集群内的原理 垂直扩容和水平扩容 真正的扩容能力是来自于水平扩容–为集群添加更多的节点,并且将负载压力和稳定性分散到这些节点中 ES集群特点 ...