Exemplo n.º 1
0
 /// <summary>
 /// Opens a dialog so the user can select a dataset containing the new data to be transformed.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void inputDatasetButton_Click(object sender, EventArgs e)
 {
     try
     {
         IGxObjectFilter           datasetFilter = new GxFilterFeatureDatasetsClass();
         IGxDialog                 dlg           = new GxDialogClass();
         IGxObjectFilterCollection filters       = (IGxObjectFilterCollection)dlg;
         filters.AddFilter(datasetFilter, true);
         dlg.Title         = "Select the feature dataset containing the data to be transformed";
         dlg.ButtonCaption = "Select";
         IEnumGxObject objects = null;
         if (dlg.DoModalOpen(0, out objects))
         {
             IGxObject obj = objects.Next();
             _inputDatasetName        = (IFeatureDatasetName2)obj.InternalObjectName;
             inputDatasetTextBox.Text = obj.Parent.Name + "/" + obj.Name;
             List <IDatasetName> fcNames =
                 EsriUtilities.GetFeatureClassNames(esriGeometryType.esriGeometryPoint,
                                                    _inputDatasetName);
             fcNames.Sort(_nameComparer);
             controlPointsComboBox.DataSource    = fcNames;
             controlPointsComboBox.DisplayMember = "Name";
             EnableSave();
         }
     }
     catch (Exception ex)
     {
         ShowError(ex.Message);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// 获取要素数据集中所有拓扑的名称
        /// </summary>
        /// <param name="featureDataset"></param>
        /// <returns></returns>
        public static List <string> GetAllTopoNames(this IFeatureDataset featureDataset)
        {
            List <string>        result             = new List <string>();
            IFeatureDatasetName2 featureDatasetName = (IFeatureDatasetName2)featureDataset.FullName;
            IEnumDatasetName     enumDsName         = featureDatasetName.TopologyNames;
            IDatasetName         dsName;

            while ((dsName = enumDsName.Next()) != null)
            {
                result.Add(dsName.Name);
            }
            return(result);
        }