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

时间:2021-03-19 03:38:50

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

我以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中,为了方便,我也会自定义一个类)