public class FeatureClassDefinition : TableDefinition, System.IDisposable
Public Class FeatureClassDefinition Inherits TableDefinition Implements System.IDisposable
public class FeatureClassDefinition : TableDefinition, System.IDisposable
Public Class FeatureClassDefinition Inherits TableDefinition Implements System.IDisposable
public async Task ObtainingDefinitionFromGeodatabase() { await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() => { using (Geodatabase geodatabase = new Geodatabase(new DatabaseConnectionFile(new Uri("path\\to\\sde\\file\\sdefile.sde")))) { // Remember that for Enterprise databases you have to qualify your dataset names with the DatabaseName and UserName. TableDefinition enterpriseTableDefinition = geodatabase.GetDefinition<TableDefinition>("LocalGovernment.GDB.CitizenContactInfo"); // It does not matter if the dataset is within a FeatureDataset or not. FeatureClassDefinition featureClassDefinition = geodatabase.GetDefinition<FeatureClassDefinition>("LocalGovernment.GDB.FireStation"); // GetDefinition For a RelationshipClass. RelationshipClassDefinition relationshipClassDefinition = geodatabase.GetDefinition<RelationshipClassDefinition>("LocalGovernment.GDB.AddressPointHasSiteAddresses"); // GetDefinition For a FeatureDataset. FeatureDatasetDefinition featureDatasetDefinition = geodatabase.GetDefinition<FeatureDatasetDefinition>("LocalGovernment.GDB.Address"); } }); }
public async Task ObtainingDefinitionsFromGeodatabase() { await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() => { using (Geodatabase geodatabase = new Geodatabase( new DatabaseConnectionFile(new Uri("path\\to\\sde\\file\\sdefile.sde")))) { var enterpriseDefinitions = geodatabase.GetDefinitions<FeatureClassDefinition>(); IEnumerable<Definition> featureClassesHavingGlobalID = enterpriseDefinitions.Where(definition => definition.HasGlobalID()); var featureDatasetDefinitions = geodatabase.GetDefinitions<FeatureDatasetDefinition>(); bool electionRelatedFeatureDatasets = featureDatasetDefinitions.Any( definition => definition.GetName().Contains("Election")); var attributedRelationshipClassDefinitions = geodatabase.GetDefinitions<AttributedRelationshipClassDefinition>(); var relationshipClassDefinitions = geodatabase.GetDefinitions<RelationshipClassDefinition>(); } }); }
public async Task ObtainingRelatedDefinitionsFromGeodatabase() { await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() => { using (Geodatabase geodatabase = new Geodatabase(new DatabaseConnectionFile(new Uri("path\\to\\sde\\file\\sdefile.sde")))) { // Remember the qualification of DatabaseName. for the RelationshipClass. RelationshipClassDefinition enterpriseDefinition = geodatabase.GetDefinition<RelationshipClassDefinition>("LocalGovernment.GDB.AddressPointHasSiteAddresses"); IReadOnlyList<Definition> enterpriseDefinitions = geodatabase.GetRelatedDefinitions(enterpriseDefinition, DefinitionRelationshipType.DatasetsRelatedThrough); FeatureClassDefinition enterpriseAddressPointDefinition = enterpriseDefinitions.First( defn => defn.GetName().Equals("LocalGovernment.GDB.AddressPoint")) as FeatureClassDefinition; FeatureDatasetDefinition featureDatasetDefinition = geodatabase.GetDefinition<FeatureDatasetDefinition>("LocalGovernment.GDB.Address"); IReadOnlyList<Definition> datasetsInAddressDataset = geodatabase.GetRelatedDefinitions(featureDatasetDefinition, DefinitionRelationshipType.DatasetInFeatureDataset); FeatureClassDefinition addressPointInAddressDataset = datasetsInAddressDataset.First( defn => defn.GetName().Equals("LocalGovernment.GDB.AddressPoint")) as FeatureClassDefinition; RelationshipClassDefinition addressPointHasSiteAddressInAddressDataset = datasetsInAddressDataset.First( defn => defn.GetName().Equals("LocalGovernment.GDB.AddressPointHasSiteAddresses")) as RelationshipClassDefinition; } }); }
public RowCursor SortWorldCities(FeatureClass worldCitiesTable) { using (FeatureClassDefinition featureClassDefinition = worldCitiesTable.GetDefinition()) { Field countryField = featureClassDefinition.GetFields() .First(x => x.Name.Equals("COUNTRY_NAME")); Field cityNameField = featureClassDefinition.GetFields() .First(x => x.Name.Equals("CITY_NAME")); // Create SortDescription for Country field SortDescription countrySortDescription = new SortDescription(countryField); countrySortDescription.CaseSensitivity = CaseSensitivity.Insensitive; countrySortDescription.SortOrder = SortOrder.Ascending; // Create SortDescription for City field SortDescription citySortDescription = new SortDescription(cityNameField); citySortDescription.CaseSensitivity = CaseSensitivity.Insensitive; citySortDescription.SortOrder = SortOrder.Ascending; // Create our TableSortDescription TableSortDescription tableSortDescription = new TableSortDescription( new List<SortDescription>() { countrySortDescription, citySortDescription }); return worldCitiesTable.Sort(tableSortDescription); } }
System.Object
ArcGIS.Core.CoreObjectsBase
ArcGIS.Core.Data.Definition
ArcGIS.Core.Data.TableDefinition
ArcGIS.Core.Data.FeatureClassDefinition
ArcGIS.Core.Data.Mapping.AnnotationFeatureClassDefinition
ArcGIS.Core.Data.Mapping.DimensionFeatureClassDefinition
ArcGIS.Core.Data.Realtime.RealtimeFeatureClassDefinition
Target Platforms: Windows 11, Windows 10, Windows 8.1