ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Data.Parcels Namespace / ParcelFabric Class
Members Example

In This Topic
    ParcelFabric Class
    In This Topic
    Represents a parcel fabric.
    Object Model
    ParcelFabric ClassDatastore ClassParcelFabricDefinition ClassTopology ClassTable Class
    Syntax
    Public NotInheritable Class ParcelFabric 
       Inherits ArcGIS.Core.Data.Dataset
       Implements System.IDisposable 
    public sealed class ParcelFabric : ArcGIS.Core.Data.Dataset, System.IDisposable  
    Remarks
    This class is used to
    • Get parcel fabric related classes
    • This class is used to Create and delete parcel types
    • Get parcel topology
    • Get other parcel fabric classes Objects
    Objects of this class are obtained by calling ArcGIS.Core.Data.Geodatabase.OpenDataset<T>
    Example
    Get parcel fabric dataset controller from parcel layer
    {
      string errorMessage = await QueuedTask.Run(() =>
      {
        try
        {
          var myParcelFabricLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<ParcelLayer>().FirstOrDefault();
          //if there is no fabric in the map then bail
          if (myParcelFabricLayer == null)
            return "There is no fabric in the map.";
          var myParcelFabricDataset = myParcelFabricLayer.GetParcelFabric();
        }
        catch (Exception ex)
        {
          return ex.Message;
        }
        return "";
      });
      if (!string.IsNullOrEmpty(errorMessage))
        MessageBox.Show(errorMessage, "Get Parcel Fabric Dataset from layer.");
    }
    Get parcel topology of parcel fabric dataset
    {
      string errorMessage = await QueuedTask.Run(() =>
      {
        try
        {
          var myParcelFabricLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<ParcelLayer>().FirstOrDefault();
          //if there is no fabric in the map then bail
          if (myParcelFabricLayer == null)
            return "There is no fabric in the map.";
          var myParcelFabricDataset = myParcelFabricLayer.GetParcelFabric();
          var myTopology = myParcelFabricDataset.GetParcelTopology();
        }
        catch (Exception ex)
        {
          return ex.Message;
        }
        return "";
      });
      if (!string.IsNullOrEmpty(errorMessage))
        MessageBox.Show(errorMessage, "Get Parcel Fabric Topology.");
    }
    Get parcel fabric from table
    {
      var parcelFabricDataset = await QueuedTask.Run(() =>
      {
        ParcelFabric myParcelFabricDataset = null;
        if (table.IsControllerDatasetSupported())
        {
          // Tables can belong to multiple controller datasets, but at most one of them will be a parcel fabric
    
          IReadOnlyList<Dataset> controllerDatasets = table.GetControllerDatasets();
          foreach (Dataset controllerDataset in controllerDatasets)
          {
            if (controllerDataset is ParcelFabric)
            {
              myParcelFabricDataset = controllerDataset as ParcelFabric;
            }
            else
            {
              controllerDataset.Dispose();
            }
          }
        }
        return myParcelFabricDataset;
      });
    }
    Inheritance Hierarchy

    System.Object
       ArcGIS.Core.CoreObjectsBase
          ArcGIS.Core.Data.Dataset
             ArcGIS.Core.Data.Parcels.ParcelFabric

    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also