ArcGIS for Desktop

  • Documentation
  • Pricing
  • Support

  • My Profile
  • Help
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS for Desktop

A complete professional GIS

ArcGIS for Server

GIS in your enterprise

ArcGIS for Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Pricing
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

Help

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • More...

Load A Topology To A Parcel Fabric

  • Summary
  • Usage
  • Syntax
  • Code Sample
  • Environments
  • Licensing Information

Summary

Loads polygon and line features that participate in a topology into a target parcel fabric. The topology requires a predefined set of topology rules:

  • Line—Must be Covered by Boundary Of (polygon)
  • Line—Must Not Self-Overlap
  • Line—Must Not Self-Intersect
  • Line—Must be Single Part
  • Line—Must Not Intersect Or Touch Interior
  • Polygon—Boundary Must be Covered By (Line)

Usage

  • Errors generated by the polygon—Boundary Must be Covered By (Line) topology rule can be marked as exceptions. This is to allow the migration of connection lines, unclosed parcels, and dependent lines.

  • You can choose to load an entire line feature class and polygon feature class or only selected line and polygon features. When loading large datasets, performance will depend on your existing computer memory specifications. This tool is best used for loading small- to medium-sized areas or sections of parcel data at a time.

  • The topology needs to be validated, clean, and free of errors for the polygon and line features to be migrated into the parcel fabric. If an edit is made to correct a topology error, make sure to validate the topology again to make sure the error no longer exists before running the tool.

  • To validate an entire topology, use the Validate Topology tool located in the Topology toolset in the Data Management toolbox.

  • Instead of validating the entire topology, validate the current extent of the map display in ArcMap by clicking the Validate Topology In Current Extent tool Validate Topology In Current Extent on the Topology toolbar.

  • Either the polygon or the line feature class can be used as the Input (Topology) Feature Class parameter. If there is a selection present on the feature layer of the input feature class in ArcMap, only the selected features will be migrated. If the line feature class is used as the input feature class, any selected lines that do not form a loop (dangling lines), matching the corresponding polygon in the polygon feature class, will be migrated as parts of unclosed parcels. If you have a Category field on your line feature class, you can set the category value of the dangling line to 3 to represent connection lines or 1 to represent dependent lines.

  • COGO attributes are not required on the line feature class. If there are no COGO attributes on parcel lines, that is, parcel lines have been generated from polygons, the importer will generate COGO attributes from the line geometry. If there are COGO attributes, the tool will migrate the existing COGO attributes to parcel fabric lines.

  • You can populate system attributes in parcel fabric tables using attributes on your source parcel polygon and parcel line feature classes. For example, to migrate parcel identification numbers (PINs) to the Name field in the fabric parcels table, your source polygon feature class needs to have a PIN, NAME, LOT, or APN attribute.

    Learn more about populating system attributes in parcel fabric tables

  • If a line feature class is used as the input feature class to migrate unclosed parcels, you can populate system attributes in the parcels table using attributes on the source parcel line feature class. For example, to migrate a parcel identification number (PIN) for an unclosed parcel, there needs to be a PIN, NAME, LOT, or APN attribute on your source parcel line feature class.

    Learn more about populating system attributes in parcel fabric tables

  • User-defined attributes on the polygon and line feature classes can be migrated to the parcels and lines tables in the fabric provided that the same user-defined attribute is created on the fabric tables table before migrating the data.

  • Specify a point feature class for the Input Point Features (optional) parameter if you want to migrate user-defined attributes on a point feature class to the points table in the parcel fabric. The same user-defined attribute should be created on the fabric points table before migration for the attribute values to be successfully migrated.

    When data is migrated to the fabric, fabric points are automatically created at the endpoints of fabric lines. The system X and Y attribute values of the fabric points are automatically populated with the point shape coordinates. Point features are only specified in this parameter to migrate user-defined attributes to the points table in the parcel fabric. As with polygon and line features, if there is a selection on the points feature layer, only the selected points will be migrated.

  • The Minimum Line String Segment Count (optional) is the minimum number of line segments a line feature can have before it is considered as a line string or natural boundary.

  • If a tolerance is specified for the Control Match Tolerance (optional) parameter, any migrated fabric points that lie within the specified match tolerance of an existing control point in the fabric will be linked to the control point.

  • If the Import Parcels as Unjoined Group option is checked, parcels are migrated as an unjoined group. Unjoined parcels exist outside of the parcel fabric in their own local coordinate space. Unjoined parcels can be joined to the parcel fabric at any time. You would want to migrate parcels as unjoined if additional work is required on the parcels before they become joined to the parcel fabric layer.

Syntax

LoadTopologyToParcelFabric_fabric (target_parcel_fabric, in_topology_class, {in_point_class}, {linestring_minimum_segments}, {control_match_tolerance}, unjoined_group, {direction_units}, {direction_type}, compute_area, {area_units}, {radial_point_tolerance}, {accuracy_units})
ParameterExplanationData Type
target_parcel_fabric

The target parcel fabric where the data will be migrated.

Parcel Fabric Layer
in_topology_class

Input feature class or layer that is part of a topology. The feature class can either be a line or polygon.

Feature Layer
in_point_class
(Optional)

Input point feature class or layer. The point feature class does not need to be part of a topology. Only user-defined attributes on the input point feature class will be migrated to corresponding points in the parcel fabric.

Feature Layer
linestring_minimum_segments
(Optional)

The minimum number of segments a polyline feature can have before it is considered and migrated as a line string or natural boundary in the parcel fabric. The default is a minimum of 10 segments.

Long
control_match_tolerance
(Optional)

The tolerance in which new, migrated fabric points are linked with existing control points found in the fabric. The tolerance length units are the same as the length units of the coordinate system of the fabric. If a control match tolerance is not specified, the default of 0.1 meters is used.

Linear unit
unjoined_group

Determines how features will be migrated.

  • UNJOINED_GROUP —Features will be migrated as unjoined, stand-alone parcels to the parcel fabric.
  • JOINED_GROUP —Features will be migrated as joined parcels to the parcel fabric
Boolean
direction_units
(Optional)

The direction units to be used when generating COGO bearing attributes for line features during the migration process.

  • DEGREES_MINUTES_SECONDS —One degree equals 1/360 of a circle. Fractions of a degree are represented in minutes and seconds, where one minute equals 1/60 of a degree and one second equals 1/60 of a minute. Degrees Minutes and Seconds are stored as strings and interpreted accordingly. This is the default.
  • DECIMAL_DEGREES —Similar to Degrees Minutes and Seconds, but fractions of degrees are represented as decimal values. Any number between 0 and 360 is valid.
  • RADIANS —An angular unit of measure, where there are 2 pi or approximately 6.28318 in a complete circle. One radian is equivalent to about 57.296 degrees. Any number between 0 and 62318 is valid.
  • GONS —The same angular unit of measure as gradians where the right angle is divided into 100 parts. One gon is equal to 1/400 of a circle.
  • GRADIANS —An angular unit of measure where the right angle is divided into 100 parts. One gradian is equal to 1/400 of a circle.
String
direction_type
(Optional)

The direction type to be used when generating COGO bearing attributes for line features during the migration process.

  • SOUTH_AZIMUTH —Directions are measured clockwise from south.
  • NORTH_AZIMUTH —Directions are measured clockwise from north.
  • POLAR —Directions are measured counterclockwise from the positive x-axis.
  • QUADRANT_BEARING —Directions are measured from a reference bearing of North or South, then East or West. NE bearings are measured clockwise from North. SE bearings are measured counterclockwise from South. SW bearings are measured clockwise from South. NW bearings are measured counterclockwise from North. This is the default.
String
compute_area

Determines how features will be migrated.

  • COMPUTE_AREA —Parcel area is computed from the polygon shape or COGO attributes. The Stated Area fabric system attribute on the fabric parcels table is populated with the computed value.
  • NO_COMPUTE —Parcel area is not computed from the polygon shape or COGO attributes. The Stated Area fabric system attribute on the fabric parcels table is not populated.
Boolean
area_units
(Optional)

If the Compute Area for New Parcels option is checked, select the area units to be used when computing parcel area during the migration process.

  • SQUARE_METERS_HECTARE_OR_KILOMETERS —Depending on the size of the value, Square Meters, Hectares, or Kilometers is used as the unit of area. For example, if the area value is greater than 10,000, the area unit that will be used is Hectares. This is the default.
  • ACRES_ROODS_OR_PERCHES —Depending on the size of the value, Acres, Roods, or Perches is used as the unit of area. For example, if the area value is greater than 160, the area unit that will be used is Acres.
  • SQUARE_METERS —An International System of Units (SI) derived unit of area. Defined as the area of a square whose sides measure exactly one meter.
  • HECTARES —An SI unit of area equal to 10,000 Square Meters. Symbolized as ha.
  • ACRES —A United States Customary or Imperial unit of area equal to 4046.87 m² or 44,560 Square Feet.
  • SQUARE_RODS —A United States Customary or Imperial unit of area equal to 5.0292 meters or 16.5 Feet. A Rod is the same length as a Perch and 160 Rods equals one Acre.
  • ROODS —A United States Customary or Imperial unit of area. One Acre equals four Roods and one Rood equals 40 Perches.
  • PERCHES —A United States Customary or Imperial unit of area equal to a Square Rod. 160 Perches equals one Acre.
  • SQUARE_FEET —A United States customary or Imperial unit of area. Defined as the area of a square whose sides measure exactly one Foot. One Foot equals 0.3048 Meters.
  • SQUARE_US_FEET —A unit of area used when collecting survey data in the United States. One U.S. Foot equals 0.3048006 Meters.
  • QUARTER_SECTIONS —An area of unit used under the Public Land Survey System in the United States. A Section is an area equal to one Square Mile or 640 Acres. A Quarter Section is one-fourth of a Square Mile and is equal to 160 Acres.
  • SECTIONS —An area of unit used under the Public Land Survey System in the United States. A Section is an area equal to one Square Mile or 640 Acres.
String
radial_point_tolerance
(Optional)

The tolerance in which new, computed curve center points are matched with existing curve center points found in the fabric. Furthermore, if several computed curve center points lie within this tolerance, they are averaged and merged into a single center point. If a radial tolerance is not specified, the default of 0.5 meters is used.

Linear unit
accuracy_units
(Optional)

The accuracy category of the lines and polygons being migrated. Accuracy categories are defined by date of survey in the parcel fabric. Accuracy category 1 is the highest data accuracy (recently surveyed) and accuracy category 6 is the lowest data accuracy (year 1800 or lower). Accuracy categories are used in the fabric adjustment.

  • 1_HIGHEST —Most recently surveyed and recorded data. Data accuracy is the highest.
  • 2_AFTER_1980 —Data is surveyed and recorded after 1980.
  • 3_1908_TO_1980 —Data is surveyed and recorded between 1908 and 1980.
  • 4_1881_TO_1907 —Data is surveyed and recorded between 1881 and 1907.
  • 5_BEFORE_1881 —Data is surveyed and recorded before 1881. Data accuracy is low.
  • 6_1800 —Data is surveyed and recorded before 1800. Data accuracy is low. This is the default.
  • 7_LOWEST —Data is unreliable and data accuracy is unknown. Data is excluded from influencing the outcome of a fabric adjustment.
String

Code Sample

LoadATopologyToAParcelFabric example 1 (Python window)

The following Python window script demonstrates how to use the LoadATopologyToAParcelFabric tool in immediate mode.

import arcpy
arcpy.env.workspace = "C:/Parcel_Editor_Tutorial/Encinitas_City/Cadastral.gdb"
arcpy.LoadTopologyToParcelFabric_fabric("NewFabric", "Enc_polgon", "", "100", "0.5",
                                        "JOINED_GROUP", "DEGREES_MINUTES_SECONDS",
                                        "NORTH AZIMUTH", "COMPUTE_AREA", "HECTARES",
                                        "1", "3 - 1908 to 1980")
LoadATopologyToAParcelFabric example 2 (stand-alone script)

The following stand-alone script demonstrates how to iterate through and load selected groups of parcels using the LoadTopologyToParcelFabric tool.

# Name: LoadTopologyToParcelFabric_Example2.py
# Description: Iterates through selections of parcels and imports each parcel selection
#              into a parcel fabric. Parcels are selected using overlying blocks in the
#              IterateBlocks feature class. Each polygon in IterateBlock is selected
#              by block number in the "BlockNumber" attribute field.


# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "c:/data/OaklandCounty.gdb/ParcelData"

# Set variables
# BlockNumber is an attribute on the ItearateBlocks feature class
x = 1
whereclause = '%s = %s' % ("BlockNumber", x)

# Make feature layers from feature classes
arcpy.MakeFeatureLayer_management("c:/data/OaklandCounty.gdb/ParcelData/IterateBlock", "IterateBlock_lyr")
arcpy.MakeFeatureLayer_management("c:/data/OaklandCounty.gdb/ParcelData/TaxParcelPolygons",
                                  "TaxParcelPoly_lyr")

# Search feature class IterateBlock and obtain all features (block polygons)
rows = arcpy.SearchCursor("IterateBlock")

# Iterate and select each block. For each selected block, select underlying parcels
# and import selected parcels
for row in rows:
    arcpy.SelectLayerByAttribute_management("IterateBlock_lyr", "NEW_SELECTION", whereclause)
    arcpy.SelectLayerByLocation_management("TaxParcelPoly_lyr", "COMPLETELY_WITHIN", "IterateBlock_lyr",
                                           "", "NEW_SELECTION")
    arcpy.LoadTopologyToParcelFabric_fabric("CountyFabric", "TaxParcelPoly_lyr", "", "100", "", "JOINED_GROUP",
                                            "DEGREES_MINUTES_SECONDS", "NORTH_AZIMUTH", "COMPUTE_AREA",
                                            "HECTARES", "0.5", "4_1881_TO_1907")
    x += 1
    whereclause = '%s = %s' % ("BlockNumber", x)

# Since we only imported parcels that were completely within the IterateBlock polygons, we
# now need to import the perimeter parcels that are crossed by the boundary of the IterateBlock polygons

# Clear existing selection on IterateBlock_lyr
arcpy.SelectLayerByAttribute_management("IterateBlock_lyr", "CLEAR_SELECTION")
arcpy.SelectLayerByLocation_management("TaxParcelPoly_lyr", "CROSSED_BY_THE_OUTLINE_OF", "IterateBlock_lyr",
                                       "", "NEW_SELECTION")
arcpy.LoadTopologyToParcelFabric_fabric("CountyFabric","TaxParcelPoly_lyr", "", "100", "", "JOINED_GROUP",
                                        "DEGREES_MINUTES_SECONDS", "NORTH_AZIMUTH", "COMPUTE_AREA",
                                        "HECTARES", "0.5", "4_1881_TO_1907")

Environments

  • Scratch Workspace
  • Current Workspace

Licensing Information

  • ArcGIS for Desktop Basic: No
  • ArcGIS for Desktop Standard: Yes
  • ArcGIS for Desktop Advanced: Yes

Related Topics

  • Load data to a parcel fabric
  • An overview of the Parcel Fabric toolbox
Feedback on this topic?

ArcGIS for Desktop

  • Home
  • Documentation
  • Pricing
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Insiders Blog
  • User Conference
  • Developer Summit
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Privacy | Legal