这篇是对前三篇的总结,因为网络数据集涉及的“点”太多了,我只能挑重点来设置,大家明白框架后可以自行寻求帮助文档添加功能。
我以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中,为了方便,我也会自定义一个类)