Public Class TableDefinition Inherits Definition Implements System.IDisposable
public class TableDefinition : Definition, System.IDisposable
Public Class TableDefinition Inherits Definition Implements System.IDisposable
public class TableDefinition : Definition, System.IDisposable
{
await 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");
}
});
}
{
await QueuedTask.Run(() =>
{
using (Geodatabase geodatabase = new Geodatabase(new DatabaseConnectionFile(new Uri("path\\to\\sde\\file\\sdefile.sde"))))
{
IReadOnlyList<FeatureClassDefinition> enterpriseDefinitions = geodatabase.GetDefinitions<FeatureClassDefinition>();
IEnumerable<Definition> featureClassesHavingGlobalID = enterpriseDefinitions.Where(definition => definition.HasGlobalID());
IReadOnlyList<FeatureDatasetDefinition> featureDatasetDefinitions = geodatabase.GetDefinitions<FeatureDatasetDefinition>();
bool electionRelatedFeatureDatasets = featureDatasetDefinitions.Any(definition => definition.GetName().Contains("Election"));
IReadOnlyList<AttributedRelationshipClassDefinition> attributedRelationshipClassDefinitions = geodatabase.GetDefinitions<AttributedRelationshipClassDefinition>();
IReadOnlyList<RelationshipClassDefinition> relationshipClassDefinitions = geodatabase.GetDefinitions<RelationshipClassDefinition>();
}
});
}
{
//Url examples for (federated) feature services
//(by "ref" online):
var url =
@"https://sampleserver6.arcgisonline.com/arcgis/rest/services/SF311/FeatureServer";
//(federated by ref on portal)
//https://portal.example.com/server/rest/services/FeatureServiceName/FeatureServer");
//(federated by value - Hosted - on portal)
//https://portal.example.com/server/rest/services/Hosted/FeatureServiceName/FeatureServer");
await QueuedTask.Run(() =>
{
var uri = new Uri(url, UriKind.Absolute);
using (var fs_db = new ArcGIS.Core.Data.Geodatabase(new ServiceConnectionProperties(uri)))
{
//Assuming that id 0 is a FeatureClass for the given service
FeatureClassDefinition featureClassDefinition =
fs_db.GetDefinition<FeatureClassDefinition>("0");
string shapeField = featureClassDefinition.GetShapeField();
IReadOnlyList<Field> fields = featureClassDefinition.GetFields();
//Assuming that id 1 is a Table for the given service
TableDefinition tableDefinition =
fs_db.GetDefinition<TableDefinition>("1");
string objectIDField = tableDefinition.GetObjectIDField();
}
});
}
System.Object
ArcGIS.Core.CoreObjectsBase
ArcGIS.Core.Data.Definition
ArcGIS.Core.Data.TableDefinition
ArcGIS.Core.Data.FeatureClassDefinition
ArcGIS.Core.Data.Realtime.RealtimeTableDefinition
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)