public JunctionFeatureSource(JunctionFeatureSource prototype) : base(prototype) { this._elevationFieldName = prototype.ElevationFieldName; this._connectivity = new List<Property>(); foreach (Property property in prototype.ConnectivityCollection) { Property propertyClone = (Property)property.Clone(); this._connectivity.Add(property); } }
public JunctionFeatureSource(JunctionFeatureSource prototype) : base(prototype) { this._elevationFieldName = prototype.ElevationFieldName; this._connectivity = new List <Property>(); foreach (Property property in prototype.ConnectivityCollection) { Property propertyClone = (Property)property.Clone(); this._connectivity.Add(property); } }
// // CONSTRUCTOR // public Network(IXPathNavigable path) : base(path) { // Get Navigator XPathNavigator navigator = path.CreateNavigator(); // <Extent> XPathNavigator navigatorExtent = navigator.SelectSingleNode("Extent"); if (navigatorExtent != null) { this._extent = new Extent(navigatorExtent); } else { this._extent = new Extent(); } // <SpatialReference> XPathNavigator navigatorSpatialReference = navigator.SelectSingleNode("SpatialReference"); if (navigatorSpatialReference != null) { this._spatialReference = new SpatialReference(navigatorSpatialReference); } else { this._spatialReference = new SpatialReference(); } // <LogicalNetworkName> XPathNavigator navigatorLogicalNetworkName = navigator.SelectSingleNode("LogicalNetworkName"); if (navigatorLogicalNetworkName != null) { this._logicalNetworkName = navigatorLogicalNetworkName.Value; } // <NetworkType> XPathNavigator navigatorNetworkType = navigator.SelectSingleNode("NetworkType"); if (navigatorNetworkType != null) { this._networkType = (esriNetworkDatasetType)Enum.Parse(typeof(esriNetworkDatasetType), navigatorNetworkType.Value, true); } // <Buildable> XPathNavigator navigatorBuildable = navigator.SelectSingleNode("Buildable"); if (navigatorBuildable != null) { this._buildable = navigatorBuildable.ValueAsBoolean; } // <SupportsTurns> XPathNavigator navigatorSupportsTurns = navigator.SelectSingleNode("SupportsTurns"); if (navigatorSupportsTurns != null) { this._supportsTurns = navigatorSupportsTurns.ValueAsBoolean; } // <NetworkDirections> XPathNavigator navigatorNetworkDirections = navigator.SelectSingleNode("NetworkDirections"); if (navigatorNetworkDirections != null) { this._networkDirections = new NetworkDirections(navigatorNetworkDirections); } else { this._networkDirections = new NetworkDirections(); } // <Properties><PropertyArray><PropertySetProperty> this._properties = new List <Property>(); XPathNodeIterator interatorProperty = navigator.Select("Properties/PropertyArray/PropertySetProperty"); while (interatorProperty.MoveNext()) { // Get <Property> XPathNavigator navigatorProperty = interatorProperty.Current; // Add Property Property property = new Property(navigatorProperty); this._properties.Add(property); } // <UserData><PropertyArray><PropertySetProperty> this._userData = new List <Property>(); XPathNodeIterator interatorProperty2 = navigator.Select("UserData/PropertyArray/PropertySetProperty"); while (interatorProperty2.MoveNext()) { // Get <Property> XPathNavigator navigatorProperty = interatorProperty2.Current; // Add Property Property property = new Property(navigatorProperty); this._userData.Add(property); } // <EdgeFeatureSources><EdgeFeatureSource> // <JunctionFeatureSources><JunctionFeatureSource> // <SystemJunctionSources><SystemJunctionSource> // <TurnFeatureSources><TurnFeatureSource> this._networkSources = new List <NetworkSource>(); XPathNodeIterator interatorNetworkSource = navigator.Select( "EdgeFeatureSources/EdgeFeatureSource" + " | " + "JunctionFeatureSources/JunctionFeatureSource" + " | " + "SystemJunctionSources/SystemJunctionSource" + " | " + "TurnFeatureSources/TurnFeatureSource"); while (interatorNetworkSource.MoveNext()) { // XPathNavigator navigatorNetworkSource = interatorNetworkSource.Current; NetworkSource networkSource = null; switch (navigatorNetworkSource.Name) { case "EdgeFeatureSource": networkSource = new EdgeFeatureSource(navigatorNetworkSource); break; case "JunctionFeatureSource": networkSource = new JunctionFeatureSource(navigatorNetworkSource); break; case "SystemJunctionSource": networkSource = new SystemJunctionSource(navigatorNetworkSource); break; case "TurnFeatureSource": networkSource = new TurnFeatureSource(navigatorNetworkSource); break; } // Add EdgeFeatureSource if (networkSource != null) { this._networkSources.Add(networkSource); } } // <EvaluatedNetworkAttributes><EvaluatedNetworkAttribute> // <NetworkAttributes><NetworkAttribute> this._networkAttributes = new List <NetworkAttribute>(); XPathNodeIterator interatorNetworkAttribute = navigator.Select( "EvaluatedNetworkAttributes/EvaluatedNetworkAttribute" + " | " + "NetworkAttributes/NetworkAttribute"); while (interatorNetworkAttribute.MoveNext()) { // XPathNavigator navigatorNetworkAttribute = interatorNetworkAttribute.Current; NetworkAttribute networkAttribute = null; switch (navigatorNetworkAttribute.Name) { case "EvaluatedNetworkAttribute": networkAttribute = new EvaluatedNetworkAttribute(navigatorNetworkAttribute); break; case "NetworkAttribute": networkAttribute = new NetworkAttribute(navigatorNetworkAttribute); break; } // Add EdgeFeatureSource if (networkAttribute != null) { this._networkAttributes.Add(networkAttribute); } } // <NetworkAssignments><NetworkAssignment> this._networkAssignments = new List <NetworkAssignment>(); XPathNodeIterator interatorNetworkAssignment = navigator.Select("NetworkAssignments/NetworkAssignment"); while (interatorNetworkAssignment.MoveNext()) { // Get <NetworkAssignment> XPathNavigator navigatorNetworkAssignment = interatorNetworkAssignment.Current; // Add NetworkAssignment NetworkAssignment networkAssignment = new NetworkAssignment(navigatorNetworkAssignment); this._networkAssignments.Add(networkAssignment); } // <ConfigurationKeyword> XPathNavigator navigatorConfigurationKeyword = navigator.SelectSingleNode("ConfigurationKeyword"); if (navigatorConfigurationKeyword != null) { this._configurationKeyword = navigatorConfigurationKeyword.Value; } }
// // CONSTRUCTOR // public Network(IXPathNavigable path) : base(path) { // Get Navigator XPathNavigator navigator = path.CreateNavigator(); // <Extent> XPathNavigator navigatorExtent = navigator.SelectSingleNode("Extent"); if (navigatorExtent != null) { this._extent = new Extent(navigatorExtent); } else { this._extent = new Extent(); } // <SpatialReference> XPathNavigator navigatorSpatialReference = navigator.SelectSingleNode("SpatialReference"); if (navigatorSpatialReference != null) { this._spatialReference = new SpatialReference(navigatorSpatialReference); } else { this._spatialReference = new SpatialReference(); } // <LogicalNetworkName> XPathNavigator navigatorLogicalNetworkName = navigator.SelectSingleNode("LogicalNetworkName"); if (navigatorLogicalNetworkName != null) { this._logicalNetworkName = navigatorLogicalNetworkName.Value; } // <NetworkType> XPathNavigator navigatorNetworkType = navigator.SelectSingleNode("NetworkType"); if (navigatorNetworkType != null) { this._networkType = (esriNetworkDatasetType)Enum.Parse(typeof(esriNetworkDatasetType), navigatorNetworkType.Value, true); } // <Buildable> XPathNavigator navigatorBuildable = navigator.SelectSingleNode("Buildable"); if (navigatorBuildable != null) { this._buildable = navigatorBuildable.ValueAsBoolean; } // <SupportsTurns> XPathNavigator navigatorSupportsTurns = navigator.SelectSingleNode("SupportsTurns"); if (navigatorSupportsTurns != null) { this._supportsTurns = navigatorSupportsTurns.ValueAsBoolean; } // <NetworkDirections> XPathNavigator navigatorNetworkDirections = navigator.SelectSingleNode("NetworkDirections"); if (navigatorNetworkDirections != null) { this._networkDirections = new NetworkDirections(navigatorNetworkDirections); } else { this._networkDirections = new NetworkDirections(); } // <Properties><PropertyArray><PropertySetProperty> this._properties = new List<Property>(); XPathNodeIterator interatorProperty = navigator.Select("Properties/PropertyArray/PropertySetProperty"); while (interatorProperty.MoveNext()) { // Get <Property> XPathNavigator navigatorProperty = interatorProperty.Current; // Add Property Property property = new Property(navigatorProperty); this._properties.Add(property); } // <UserData><PropertyArray><PropertySetProperty> this._userData = new List<Property>(); XPathNodeIterator interatorProperty2 = navigator.Select("UserData/PropertyArray/PropertySetProperty"); while (interatorProperty2.MoveNext()) { // Get <Property> XPathNavigator navigatorProperty = interatorProperty2.Current; // Add Property Property property = new Property(navigatorProperty); this._userData.Add(property); } // <EdgeFeatureSources><EdgeFeatureSource> // <JunctionFeatureSources><JunctionFeatureSource> // <SystemJunctionSources><SystemJunctionSource> // <TurnFeatureSources><TurnFeatureSource> this._networkSources = new List<NetworkSource>(); XPathNodeIterator interatorNetworkSource = navigator.Select( "EdgeFeatureSources/EdgeFeatureSource" + " | " + "JunctionFeatureSources/JunctionFeatureSource" + " | " + "SystemJunctionSources/SystemJunctionSource" + " | " + "TurnFeatureSources/TurnFeatureSource"); while (interatorNetworkSource.MoveNext()) { // XPathNavigator navigatorNetworkSource = interatorNetworkSource.Current; NetworkSource networkSource = null; switch (navigatorNetworkSource.Name) { case "EdgeFeatureSource": networkSource = new EdgeFeatureSource(navigatorNetworkSource); break; case "JunctionFeatureSource": networkSource = new JunctionFeatureSource(navigatorNetworkSource); break; case "SystemJunctionSource": networkSource = new SystemJunctionSource(navigatorNetworkSource); break; case "TurnFeatureSource": networkSource = new TurnFeatureSource(navigatorNetworkSource); break; } // Add EdgeFeatureSource if (networkSource != null) { this._networkSources.Add(networkSource); } } // <EvaluatedNetworkAttributes><EvaluatedNetworkAttribute> // <NetworkAttributes><NetworkAttribute> this._networkAttributes = new List<NetworkAttribute>(); XPathNodeIterator interatorNetworkAttribute = navigator.Select( "EvaluatedNetworkAttributes/EvaluatedNetworkAttribute" + " | " + "NetworkAttributes/NetworkAttribute"); while (interatorNetworkAttribute.MoveNext()) { // XPathNavigator navigatorNetworkAttribute = interatorNetworkAttribute.Current; NetworkAttribute networkAttribute = null; switch (navigatorNetworkAttribute.Name) { case "EvaluatedNetworkAttribute": networkAttribute = new EvaluatedNetworkAttribute(navigatorNetworkAttribute); break; case "NetworkAttribute": networkAttribute = new NetworkAttribute(navigatorNetworkAttribute); break; } // Add EdgeFeatureSource if (networkAttribute != null) { this._networkAttributes.Add(networkAttribute); } } // <NetworkAssignments><NetworkAssignment> this._networkAssignments = new List<NetworkAssignment>(); XPathNodeIterator interatorNetworkAssignment = navigator.Select("NetworkAssignments/NetworkAssignment"); while (interatorNetworkAssignment.MoveNext()) { // Get <NetworkAssignment> XPathNavigator navigatorNetworkAssignment = interatorNetworkAssignment.Current; // Add NetworkAssignment NetworkAssignment networkAssignment = new NetworkAssignment(navigatorNetworkAssignment); this._networkAssignments.Add(networkAssignment); } // <ConfigurationKeyword> XPathNavigator navigatorConfigurationKeyword = navigator.SelectSingleNode("ConfigurationKeyword"); if (navigatorConfigurationKeyword != null) { this._configurationKeyword = navigatorConfigurationKeyword.Value; } }