当前位置: 首页>>代码示例>>C#>>正文


C# ESRI.get_Datasets方法代码示例

本文整理汇总了C#中ESRI.get_Datasets方法的典型用法代码示例。如果您正苦于以下问题:C# ESRI.get_Datasets方法的具体用法?C# ESRI.get_Datasets怎么用?C# ESRI.get_Datasets使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ESRI的用法示例。


在下文中一共展示了ESRI.get_Datasets方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ListFeatureClassesInGeodatabase

        public string[] ListFeatureClassesInGeodatabase(ESRI.ArcGIS.Geodatabase.IWorkspace GeoDatabaseWorkspace)
        {
            ESRI.ArcGIS.Geodatabase.IEnumDataset            geodatabaseDatasets                = null;
              ESRI.ArcGIS.Geodatabase.IDataset                currentGeoDataBaseDataset          = null;
              ESRI.ArcGIS.DataSourcesGDB.FgdbFeatureClassName currentGeoDataBaseFeatureClassName = null;

              try
              {
            //  Make sure the passed Workspace is valid before moving on.
            if (GeoDatabaseWorkspace != null)
            {
              //  Make sure the Workspace is a valid ESRI Workspace.
              if (!(GeoDatabaseWorkspace is ESRI.ArcGIS.Geodatabase.IWorkspace))
              {
            //  Let the user know that the Workspace is not valid and.
            if (ErrorMessage != null)
            {
              ErrorMessage("The specified Workspace is not a Valid Geodatabase Workspace.  The MaintTools.FeatureClassUtilities.ListFeatureClassesInGeodatabase() Method Failed!");
            }
            //  Return a NULL Array to the calling method to indicate that this method failed.
            return null;
              }

            }
            else
            {
              //  Let the user know that the Workspace is not valid and.
              if (ErrorMessage != null)
              {
            ErrorMessage("The specified Workspace is not a Valid Geodatabase Workspace.  The MaintTools.FeatureClassUtilities.ListFeatureClassesInGeodatabase() Method Failed!");
              }

              //  Return a NULL Array to the calling method to indicate that this method failed.
              return null;

            }

            //  Now that the File Geodatabase is open, open a Dataset in it.
            geodatabaseDatasets = GeoDatabaseWorkspace.get_Datasets(ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTFeatureClass);
            geodatabaseDatasets.Reset();

            //  Determine the Number of Datasets that were Found.
            int counter = 0;
            currentGeoDataBaseDataset = geodatabaseDatasets.Next();
            while (currentGeoDataBaseDataset != null)
            {
              //  Increment the Counter.
              counter++;

              //  Move to the Next Dataset in the Geodatabase Datasets Enumerator.
              currentGeoDataBaseDataset = geodatabaseDatasets.Next();

            }

            //  Go through the List of Datasets in the Geodatabase and add their names to the Array of Feature Class Names.
            string[] featureClassNames = new string[counter];
            geodatabaseDatasets.Reset();
            currentGeoDataBaseDataset = geodatabaseDatasets.Next();
            int arrayIndex = 0;
            while (currentGeoDataBaseDataset != null)
            {
              //  Add the Name to the Array of Feature Class Names.
              featureClassNames[arrayIndex] = currentGeoDataBaseDataset.BrowseName;

              //  Increment the Array Index.
              arrayIndex++;

              //  Move to the Next Dataset in the Geodatabase Datasets Enumerator.
              currentGeoDataBaseDataset = geodatabaseDatasets.Next();

            }

            //  Return the Array of Feature Class names to the Calling Method.
            return featureClassNames;

              }
              catch (System.Exception caught)
              {
            //  Determine the Line Number from which the exception was thrown.
            System.Diagnostics.StackTrace stackTrace = new System.Diagnostics.StackTrace(caught, true);
            System.Diagnostics.StackFrame stackFrame = stackTrace.GetFrame(stackTrace.FrameCount - 1);
            int lineNumber = stackFrame.GetFileLineNumber();

            //  Let the User know that this process failed.
            if (ErrorMessage != null)
            {
              ErrorMessage("The MaintTools.FeatureClassUtilities.ListFeatureClassesInGeodatabase() Method failed with error message:  " + caught.Message + " (Line:  " + lineNumber.ToString() + ")!");
            }

            //  Return NULL to the calling routine to indicate that this process failed.
            return null;

              }
              finally
              {
            //  If the Geodatabase Dataset Object has been Instantiated, close it.
            if (currentGeoDataBaseDataset != null)
            {
              //  Close the Geodatabase Dataset Object.
              currentGeoDataBaseDataset = null;
//.........这里部分代码省略.........
开发者ID:MitchVan,项目名称:DataMaintenanceUtilities,代码行数:101,代码来源:FeatureClassUtilities.cs


注:本文中的ESRI.get_Datasets方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。