コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        //
        // 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();
        }
コード例 #4
0
        //
        // 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();
        }
コード例 #5
0
        //
        // 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();
        }