互连网深入分析

上节聊起怎样行使IDatasetContainer2接口访谈到网络数据集,上例能够打包为四个方法。

这节就动用IDatasetContainer2接口(Geodatabase类库)的CreateDataset(卡塔尔方法创立互连网数据集。

涉及到的接口(全在Geodatabase类库中)

IDatasetContainer2、IDataset、INetworkDataset、IDEDataset、IDENetworkDataset4(重点)

波及到的枚举类型(全在Geodatabase类库中)

esriDatasetType(本例使用枚举值为esriDTNetworkDataset)

关联到的类(全在Geodatabase类库中)

DENetworkDataset(实现了IDEDataset、IDENetworkDataset接口)

1. DENetworkDataset类和IDENetworkDataset接口介绍

DENetworkDataset是一个轻量级的靶子,保存有关网络数据集的新闻(在内部存款和储蓄器中)。

它能够与校正网络数据集的INetworkBuild接口的UpdateSchema(卡塔尔(قطر‎方法合作使用。

IDENetworkDataset4接口,是IDENetworkDataset的升官版,进度还会有2、3多个接口。IDENetworkDataset接口用于访问互联网数据聚集的一点网络属性,举个例子道路品级消息。IDENetworkDataset接口与InetworkBuild接口的UpdateSchema方法结合使用,如增加多个互连网数据源或互联网属性到互联网数据聚集。那几个操作的长河与在Catalog中创设互联网数据集的设置进度大意朝气蓬勃致。访谈互联网数据集中的多寡成分将动用IDatasetComponent接口及DataElement方法。

IDENetworkDataset接口的属性表如下:

澳门威尼斯赌场 1

澳门威尼斯赌场,那个接口大约可以说是创制网络数据集的为主。有了IDENetworkDataset接口,本事在内部存款和储蓄器中共青团和少先队互联网数据集的种种复杂的多少,它的类DENetworkDataset的实例才是网络数据集的多少本身,而INetworkDataset只是存在于数据库中的数据集。

他们四个接口的涉及是:

IDENetworkDataset作为数据成分,被IDatasetContainer2的CreateDataset(卡塔尔方法效果,发生的结果就是INetworkDataset,如下代码:

 1         /// <summary>
 2         /// 根据要素数据集与数据元素网络数据集,创建网络数据集。
 3         /// </summary>
 4         /// <param name="_pFeatureDataset">包含网络数据集的要素数据集</param>
 5         /// <param name="_pDENetDataset">数据元素网络数据集</param>
 6         /// <returns></returns>
 7         public INetworkDataset CreateBuildingDataset(IFeatureDataset _pFeatureDataset, IDENetworkDataset2 _pDENetDataset)
 8         {
 9             IFeatureDatasetExtensionContainer featureDatasetExtensionContainer = (IFeatureDatasetExtensionContainer)_pFeatureDataset;
10             IFeatureDatasetExtension featureDatasetExtension = featureDatasetExtensionContainer.FindExtension(esriDatasetType.esriDTNetworkDataset);
11             IDatasetContainer2 datasetContainer2 = (IDatasetContainer2)featureDatasetExtension;
12             IDEDataset deNetDataset = _pDENetDataset as IDEDataset;
13             //创建网络数据集
14             INetworkDataset networkDataset = (INetworkDataset)datasetContainer2.CreateDataset(deNetDataset);
15             return networkDataset;
16         }

于是,全部的任务就付出了如何成立三个数额成分互联网数据集(DENetworkDataset,接口是IDENetworkDataset)。

关于数据成分网络数据集和网络数据集的区分,官方的解释亦非很扎眼,小编个人的了解便是,固然要访谈网络数据聚焦种种要素,将在访谈其数额成分互连网数据集,网络数据集只然而是后人+塑造出来的部分拓扑准则而已。也也许是自家翻译水平非常不够…

下篇小说继续钻探INetworkDataset和IDENetworkDataset的种种品质如何设置。

总来说之,营造网络数据集是几个坑,基于INetworkDataset做NetworkAnalyst又是多少个坑。四个坑填完,约等于所谓的AO贰遍开荒之网络分析了。