About migrating parcel data using geodatabase topology
This topic applies to ArcGIS for Desktop Standard and ArcGIS for Desktop Advanced only.
A topologically clean, validated topology of parcel feature class data can be migrated to a parcel fabric. A geodatabase topology is created in a feature dataset containing a feature class of parcel lines; a feature class of parcel polygons; and, optionally, a feature class of points (parcel corners). If your existing parcel data consists only of polygons, you can convert the polygons to lines using the Polygon To Line geoprocessing tool. The topology is validated against a required set of rules, and once the topology is clean, it can then be migrated to a parcel fabric using the Load A Topology To A Parcel Fabric geoprocessing tool.
Topology is the model used to describe how features share geometry in the geodatabase. Geodatabase topology is the mechanism for establishing and maintaining spatial relationships between features.
Learn more about topology in ArcGIS
Topology rules
When a topology is validated, features participating in the topology are validated against a set of defined rules, and violations of the rules are treated as errors.
When using the Load A Topology To A Parcel Fabric geoprocessing tool to migrate line and polygon features to a parcel fabric, the following set of topology rules is required:
- [Line feature class] Must Be Covered By Boundary Of [Polygon feature class].
- [Line feature class] Must Not Self-Overlap.
- [Line feature class] Must Not Self-Intersect.
- [Line feature class] Must Be Single Part.
- [Line feature class] Must Not Intersect Or Touch Interior.
- [Polygon feature class] Boundary Must Be Covered By [Line feature class].
The [Line feature class] Must Be Covered By Boundary Of [Polygon feature class] rule can be marked as an exception if the line is being migrated as a connection line to the parcel fabric. Connection lines are lines that connect parcel points to control points or lines that connect blocks of parcels. If a line is being migrated as a connection line, there should be a Category field on the source lines attribute table and the category value should be set to 3 (for connection line).
A topology can be validated in ArcCatalog or ArcMap. In ArcCatalog, the entire dataset is validated. In ArcMap, you can choose to validate a subset of the data by using either the Validate Topology In Current Extent or Validate Topology In Specified Area tool located on the Topology toolbar.
Once a topology is validated, any violations of the topology rules or errors are symbolized and displayed in the topology layer in ArcMap. Topology errors are symbolized by points, lines, and polygons.
Topology errors can also be viewed on the Error Inspector dialog box accessed from the Topology toolbar. Error Inspector lists the topology errors in the current visible extent. You can also choose to list all topology errors. Errors are listed by the rule that was violated.
Learn more about the Error Inspector dialog box
Learn more about minimizing topology errors when migrating parcel data to a parcel fabric
Once the validated topology is clean with no errors, the feature class data is ready for migration. The Load A Topology To A Parcel Fabric tool is located in ArcCatalog (or the Catalog window in ArcMap) under Toolboxes > System Toolboxes > Parcel Fabric Tools.tbx > Data Migration.
Loading a topology to the parcel fabric
The Load A Topology To A Parcel Fabric geoprocessing tool can use either parcel line or parcel polygon features as input; however, both polygon and line feature classes are required for loading to complete successfully.
If there is a selection present on the input polygon or line feature class, only the selected features will be loaded into the fabric.
Any additional user-defined attributes existing on the polygon and line feature classes will also be migrated to fabric parcels and lines provided that the same attributes exist on the parcel fabric tables.
Learn how to add additional attributes to parcel fabric tables
There is a limit to the number of lines a parcel can have to be successfully migrated into a parcel fabric. Parcels containing more than five thousand lines or segments cannot be migrated by the topology loader tool. Typically, parcels that have natural boundaries have a large number of boundary segments.
Line points
Line points are not detected during the data migration process. You can use the Merge Parcel Courses tool to merge collinear line segments (within a specified tolerance) into a single line. Once lines are merged, any adjacent parcel points sitting on the line become line points.
Migrating point features
You would migrate existing point features to the parcel fabric when you need your user-defined attribute values on those points to be reflected in corresponding points in the parcel fabric. As with polygon and line features, if there is a selection on the point feature class layer, only the selected points will be migrated.
Migrating plans
Plans are migrated to the parcel fabric by populating a PlanName field on your source polygons table. Each parcel polygon can have either a NULL PlanName attribute or a plan name string. When the polygons are migrated, an entry for each unique plan name is added to the Plans table in the parcel fabric. If there is a NULL PlanName attribute, the parcel migrated to the default <Map> plan.
Overlapping parcels
Overlapping polygons can be migrated as long as the corresponding lines of the overlapping polygons do not overlap or intersect any other lines. If lines overlap or intersect, the [Line feature class] Must Not Intersect Or Touch Interior topology rule is violated. For example, the overlapping polygons below will migrate successfully:
These overlapping polygons will violate topology rules and will not migrate the parcel fabric:
Overlapping polygons that have intersecting boundary lines need to be extracted out and migrated as a separate topology. In other words, each strata of overlapping polygons needs to be migrated separately.
See these steps for migrating parcel datasets to the parcel fabric.
See the Loading Data into a Parcel Fabric white paper for more information, recommended workflows, and case studies on migrating data to a parcel fabric.
Populating system attributes
During migration, you can populate system attributes on the fabric parcels and fabric lines tables if the same attributes are created and populated in your line and polygon feature classes. For example, you will need a Type attribute on both your polygon and line feature classes to migrate across parcel and line types. In another example, you will need a Category attribute on your lines feature class if you want to migrate lines as connection lines.
Attributes on the lines feature class
The following attributes can be created on your lines feature class, and their values will be reflected in corresponding system attributes in the fabric lines table:
Field name |
Field type |
Description |
---|---|---|
Category |
Long integer |
The line category (for example, boundary line or connection line) |
Calculated |
Long integer |
True if dimensions are generated from line shape geometry |
Type |
Long integer |
Used for custom subtypes on the lines (for example, road frontage, back lot line) |
AccuracyCat (or ACCURACY) |
Long integer |
The accuracy level of the line |
The Type field is used when you have your own custom subtypes on your source parcel lines. You will need to create the same subtype on the system Type field of the parcel fabric lines table for your subtypes to migrate successfully.
If any of the following fields are missing on your source parcel lines, corresponding fields in the parcel fabric lines table will have the following values:
- No Category field: Category = Boundary line (all lines in your parcel fabric will be set to the Boundary line category).
- No Calculated field: Calculated = NULL.
- No Type field: Type = NULL.
- No AccuracyCat field: Accuracy category = NULL, accuracy category is inherited from the parcel.
If there is no accuracy defined for the parcel, then an internal, default accuracy category of 4 is used.
Attributes on the polygon feature class
The following attribute fields can be created on your polygon feature class, and their values will be reflected in corresponding system attributes in the fabric parcels table:
Field name |
Field type |
Description |
---|---|---|
PIN (or ParcelName, Name, LOT, or APN) | String | Parcel identification number |
Area (or StatedArea) |
Double |
The parcel area as stated on the plan or record of survey |
PlanName (or Plan) |
String |
The name of the plan or record of survey |
AccuracyCat (or Accuracy) |
Long integer |
The accuracy category of the parcel |
Type |
Long integer |
Used for custom subtypes on the polygons (for example, commercial/residential parcel) |
Historic |
Long integer |
True if the parcel is historic |
LegalStart (or LegalStartDate) |
Date |
The date of the legal transaction that created the parcel (in other words, the date on the record of survey) |
LegalEnd (or LegalEndDate) |
Date |
The date of the legal transaction that retired the parcel, that is, the date of the record of survey of the replacing parcel |
If any of the following fields are missing on your source parcel polygons, corresponding fields on the parcel fabric parcels table will have the following values:
- No PIN, ParcelName, LOT, or APN field: parcel is given the name of the polygon feature class suffixed by _1, where 1 is incremented for each parcel, that is _1, _2, _3, and so on.
- No Area field: StatedArea is populated with the area of the polygon shape geometry, provided that Compute Area for New Parcels is chosen on the Load a Topology to a Parcel Fabric dialog box.
- No PlanName field: Parcels are migrated to the default <map> plan.
- No AccuracyCat field: accuracy category of parcels is inherited from their associated plans. If no accuracy is defined for a plan, the internal, default accuracy category of 4 is used.
If parcels are migrated to the default <map> plan, they will inherit the internal, default accuracy category of 4.
- No Type field: Type = NULL.
- No LegalStart field: LegalStartDate = NULL.
- No LegalEnd field: LegalEndDate = NULL.
You can also assign plans to parcels after data migration by editing the PlanID field in the Parcels table.
Migrating large datasets
The Load A Topology To A Parcel Fabric geoprocessing tool is performance intensive, and the number of parcels you can load will depend on your computer configuration and memory availability. When working with a large parcel dataset, you can either split up the dataset into manageable sections of data or load selections of polygons or lines.
The Iteratively Load To The Parcel Fabric geoprocessing model can be used to iteratively load a topology to a parcel fabric based on an overlapping polygon grid.
The LoadTopologyToParcelFabric stand-alone Python script allows you to use Python scripting to iterate through and load selections of parcels to a parcel fabric. Parcels are selected using an overlying polygon feature class of blocks.
See these steps for migrating large parcel datasets to the parcel fabric.