Select to view content in your preferred language

Direct access to parcel fabric from geodatabase in SDK using ParcelFabricDefinition

220
2
05-16-2024 05:29 AM
Status: Already Offered
PascalVezina
Occasional Contributor II

Good day,

To have access to the parcel fabric, you need tables in geodatabase or a parcel fabric layer already loaded in the Map, but what if you only have the feature service, why can't you get access to the parcel fabric directly?

Like this...

Uri service = new("https://ourserver/arcgis/rest/services/ParcelFeatureDataset/PF_UTM11/FeatureServer");

  ServiceConnectionProperties serviceConnectionProperties = new(service);

  if (serviceConnectionProperties != null)

  {

      Geodatabase geodatabase = new(serviceConnectionProperties);

      if (geodatabase != null)

      {

ParcelFabricDefinition parcelFabricDefinition = geodatabase.GetDefinitions<ParcelFabricDefinition>().FirstOrDefault();

          string version = parcelFabricDefinition.GetSchemaVersion();

      }

  }

2 Comments
TimHodson

Hi Pascal,

Below is some code to do that.

-Tim

static void Main(string[] args)
{
  Host.Initialize();
  Uri service = new("https://myserver.esri.com/server/rest/services/myFeatureServiceName/FeatureServer");
  ServiceConnectionProperties serviceConnectionProperties = new(service);
  Uri portal_uri = new("https://myserver.esri.com/portal/");
  ArcGIS.Core.SystemCore.ArcGISSignOn.Instance.SignInWithCredentials(
portal_uri, "admin", "adminpassword", out _, out _);

  if (serviceConnectionProperties != null)
  {
  //connect
    using var featService = new Geodatabase(serviceConnectionProperties);
    ParcelFabric myFabric = featService.OpenDataset<ParcelFabric>("L0MyParcelFabric");
    var version = myFabric.GetDefinition().GetSchemaVersion();
  }
}

 

AmirBar-Maor
Status changed to: Already Offered

See response below