public override List <Dataset> GetChildren() { // Create Dataset List List <Dataset> datasets = new List <Dataset>(); // Get Model EsriModel model = (EsriModel)base.Container; // Create Navigation Navigate navigate = model.Navigate; navigate.Start = this; Elements elements = navigate.Children(); // Export Children foreach (Element element in elements.Values) { if (element is Dataset) { Dataset dataset = (Dataset)element; if (dataset.GetType() == typeof(RasterBand)) { datasets.Add(dataset); } } } // Return List return(datasets); }
public override List <Dataset> GetChildren() { // Create Dataset List List <Dataset> datasets = new List <Dataset>(); // Get Model EsriModel model = (EsriModel)base.Container; // Create Navigation Navigate navigate = model.Navigate; navigate.Start = this; Elements elements = navigate.Children(); // Export Children foreach (Element element in elements.Values) { if (element is Dataset) { Dataset dataset = (Dataset)element; if (dataset.GetType() == typeof(FeatureClass) || dataset.GetType() == typeof(RelationshipClass) || dataset.GetType() == typeof(GeometricNetwork) || dataset.GetType() == typeof(Network) || dataset.GetType() == typeof(Topology) || dataset.GetType() == typeof(Terrain)) { } datasets.Add(dataset); } } // Return List return(datasets); }
// // PROTECTED // protected override void WriteInnerXml(XmlWriter writer) { // Write Base Xml base.WriteInnerXml(writer); // <Extent></Extent> if (this._extent != null) { this._extent.WriteXml(writer); } // <SpatialReference></SpatialReference> if (this._spatialReference != null) { this._spatialReference.WriteXml(writer); } // <ClusterTolerance></ClusterTolerance> writer.WriteStartElement(Xml.CLUSTERTOLERANCE); writer.WriteValue(this._clusterTolerance); writer.WriteEndElement(); // <ZClusterTolerance></ZClusterTolerance> writer.WriteStartElement(Xml.ZCLUSTERTOLERANCE); writer.WriteValue(this._zClusterTolerance); writer.WriteEndElement(); // <MaxGeneratedErrorCount></MaxGeneratedErrorCount> writer.WriteStartElement(Xml.MAXGENERATEDERRORCOUNT); writer.WriteValue(this._maxGeneratedErrorCount); writer.WriteEndElement(); // <FeatureClassNames> writer.WriteStartElement(Xml.FEATURECLASSNAMES); writer.WriteAttributeString(Xml._XSI, Xml._TYPE, null, Xml._NAMES); Dataset dataset = this.GetParent(); if (dataset != null) { if (dataset.GetType() == typeof(FeatureDataset)) { FeatureDataset featureDataset = (FeatureDataset)dataset; List <Dataset> datasets = featureDataset.GetChildren(); foreach (Dataset dataset2 in datasets) { if (dataset2.GetType() == typeof(FeatureClass)) { FeatureClass featureClass = (FeatureClass)dataset2; List <ControllerMembership> controllers = featureClass.ControllerMemberships; foreach (ControllerMembership controller in controllers) { if (controller is TopologyControllerMembership) { TopologyControllerMembership topologyControllerMembership = (TopologyControllerMembership)controller; if (topologyControllerMembership.TopologyName == this.Name) { // <Name></Name> writer.WriteStartElement(Xml.NAME); writer.WriteValue(featureClass.Name); writer.WriteEndElement(); } } } } } } } // </FeatureClassNames> writer.WriteEndElement(); // <TopologyRules> writer.WriteStartElement(Xml.TOPOLOGYRULES); writer.WriteAttributeString(Xml._XSI, Xml._TYPE, null, Xml._ARRAYOFTOPOLOGYRULE); // <TopologyRule></TopologyRule> foreach (TopologyRule topologyRule in this._topologyRules) { topologyRule.WriteXml(writer); } // </TopologyRules> writer.WriteEndElement(); }
// // PROTECTED METHDOS // protected override void WriteInnerXml(XmlWriter writer) { // Write Base Xml base.WriteInnerXml(writer); // Get Model SchemaModel model = (SchemaModel)base.Container; // <Extent></Extent> if (this._extent != null) { this._extent.WriteXml(writer); } // <SpatialReference></SpatialReference> if (this._spatialReference != null) { this._spatialReference.WriteXml(writer); } // <NetworkType></NetworkType> writer.WriteStartElement(Xml.NETWORKTYPE); writer.WriteValue(this._networkType.ToString()); writer.WriteEndElement(); // <OrphanJunctionFeatureClassName></OrphanJunctionFeatureClassName> writer.WriteStartElement(Xml.ORPHANJUNCTIONFEATURECLASSNAME); writer.WriteValue(this._orphanJunctionFeatureClassName); writer.WriteEndElement(); // <FeatureClassNames> writer.WriteStartElement(Xml.FEATURECLASSNAMES); writer.WriteAttributeString(Xml._XSI, Xml._TYPE, null, Xml._NAMES); Dataset dataset = base.GetParent(); if (dataset.GetType() == typeof(FeatureDataset)) { FeatureDataset featureDataset = (FeatureDataset)dataset; List <Dataset> datasets = featureDataset.GetChildren(); foreach (Dataset dataset2 in datasets) { if (dataset2.GetType() == typeof(FeatureClass)) { FeatureClass featureClass = (FeatureClass)dataset2; List <ControllerMembership> controllers = featureClass.ControllerMemberships; foreach (ControllerMembership controller in controllers) { if (controller is GeometricNetworkControllerMembership) { GeometricNetworkControllerMembership geometricNetworkControllerMembership = (GeometricNetworkControllerMembership)controller; if (geometricNetworkControllerMembership.GeometricNetworkName == base.Name) { // <Name></Name> writer.WriteStartElement(Xml.NAME); writer.WriteValue(featureClass.Name); writer.WriteEndElement(); } } } } } } // </FeatureClassNames> writer.WriteEndElement(); // <ConnectivityRules> writer.WriteStartElement(Xml.CONNECTIVITYRULES); writer.WriteAttributeString(Xml._XSI, Xml._TYPE, null, Xml._ARRAYOFCONNECTIVITYRULE); // <ConnectivityRule></ConnectivityRule> foreach (ConnectivityRule connectivityRule in this._connectivityRules) { connectivityRule.WriteXml(writer); } // </ConnectivityRules> writer.WriteEndElement(); // <NetworkWeights> writer.WriteStartElement(Xml.NETWORKWEIGHTS); writer.WriteAttributeString(Xml._XSI, Xml._TYPE, null, Xml._ARRAYOFNETWEIGHT); // <NetWeight></NetWeight> foreach (NetWeight netWeight in this._netWeights) { netWeight.WriteXml(writer); } // </NetworkWeights> writer.WriteEndElement(); // <WeightAssociations> writer.WriteStartElement(Xml.WEIGHTASSOCIATIONS); writer.WriteAttributeString(Xml._XSI, Xml._TYPE, null, Xml._ARRAYOFNETWEIGHTASSOCIATION); // <NetWeightAssociation></NetWeightAssociation> foreach (NetWeightAssociation netWeightAssociation in this._netWeightAssociations) { netWeightAssociation.WriteXml(writer); } // </WeightAssociations> writer.WriteEndElement(); }
// // PROTECTED // protected override void WriteInnerXml(XmlWriter writer) { // Write Base Xml base.WriteInnerXml(writer); //<ConfigurationKeyword>TERRAIN_DEFAULTS</ConfigurationKeyword> writer.WriteStartElement("ConfigurationKeyword"); writer.WriteValue(this._configurationKeyword); writer.WriteEndElement(); //<Extent xsi:type="esri:EnvelopeN"></Extent> if (this._extent != null) { this._extent.WriteXml(writer); } //<SpatialReference xsi:type="esri:ProjectedCoordinateSystem"></SpatialReference> if (this._spatialReference != null) { this._spatialReference.WriteXml(writer); } //<FeatureDatasetName>topography</FeatureDatasetName> Dataset dataset = this.GetParent(); if (dataset != null && dataset.GetType() == typeof(FeatureDataset)) { FeatureDataset featureDataset = (FeatureDataset)dataset; writer.WriteStartElement("FeatureDatasetName"); writer.WriteValue(featureDataset.Name); writer.WriteEndElement(); } //<PyramidType>0</PyramidType> writer.WriteStartElement("PyramidType"); writer.WriteValue(this._pyramidType.ToString("d")); writer.WriteEndElement(); //<WindowSizeMethod>0</WindowSizeMethod> writer.WriteStartElement("WindowSizeMethod"); writer.WriteValue(this._windowSizeMethod.ToString("d")); writer.WriteEndElement(); //<WindowSizeZThreshold>0</WindowSizeZThreshold> writer.WriteStartElement("WindowSizeZThreshold"); writer.WriteValue(this._windowSizeZThreshold); writer.WriteEndElement(); //<WindowSizeZThresholdStrategy>0</WindowSizeZThresholdStrategy> writer.WriteStartElement("WindowSizeZThresholdStrategy"); writer.WriteValue(this._windowSizeZThresholdStrategy.ToString("d")); writer.WriteEndElement(); //<TileSize>447</TileSize> writer.WriteStartElement("TileSize"); writer.WriteValue(this._tileSize); writer.WriteEndElement(); //<MaxShapeSize>3500</MaxShapeSize> writer.WriteStartElement("MaxShapeSize"); writer.WriteValue(this._maxShapeSize); writer.WriteEndElement(); //<MaxOverviewSize>50000</MaxOverviewSize> writer.WriteStartElement("MaxOverviewSize"); writer.WriteValue(this._maxOverviewSize); writer.WriteEndElement(); //<ExtentDomain xsi:type="esri:EnvelopeN"></ExtentDomain> if (this._extentDomain != null) { this._extentDomain.WriteXml(writer); } //<ExtentAOI xsi:nil="true" /> if (this._extentAOI != null) { this._extentAOI.WriteXml(writer); } //<TerrainDataSources xsi:type="esri:ArrayOfTerrainDataSource"> // <TerrainDataSource xsi:type="esri:TerrainDataSource"> // </TerrainDataSource> //</TerrainDataSources> writer.WriteStartElement(Xml.TERRAINDATASOURCES); writer.WriteAttributeString(Xml._XSI, Xml._TYPE, null, Xml._ARRAYOFTERRAINDATASOURCE); foreach (TerrainDataSource terrainDataSource in this._terrainDataSources) { terrainDataSource.WriteXml(writer); } writer.WriteEndElement(); // Terrain Pyramids switch (this._pyramidType) { case esriTerrainPyramidType.esriTerrainPyramidWindowSize: //<TerrainPyramidLevelWindowSizes xsi:type="esri:ArrayOfTerrainPyramidLevelWindowSize"> //</TerrainPyramidLevelWindowSizes> writer.WriteStartElement(Xml.TERRAINPYRAMIDLEVELWINDOWSIZES); writer.WriteAttributeString(Xml._XSI, Xml._TYPE, null, Xml._ARRAYOFTERRAINPYRAMIDLEVELWINDOWSIZE); foreach (TerrainPyramid terrainPyramid in this._terrainPyramids) { terrainPyramid.WriteXml(writer, this._pyramidType); } writer.WriteEndElement(); break; case esriTerrainPyramidType.esriTerrainPyramidZTolerance: //<TerrainPyramidLevelZTols xsi:type="esri:ArrayOfTerrainPyramidLevelZTol"> //</TerrainPyramidLevelZTols> writer.WriteStartElement(Xml.TERRAINPYRAMIDLEVELZTOLS); writer.WriteAttributeString(Xml._XSI, Xml._TYPE, null, Xml._ARRAYOFTERRAINPYRAMIDLEVELZTOL); foreach (TerrainPyramid terrainPyramid in this._terrainPyramids) { terrainPyramid.WriteXml(writer, this._pyramidType); } writer.WriteEndElement(); break; } //<TerrainID>1</TerrainID> writer.WriteStartElement("TerrainID"); writer.WriteValue(this._terrainID); writer.WriteEndElement(); //<Version>13</Version> writer.WriteStartElement("Version"); writer.WriteValue(this._version); writer.WriteEndElement(); }