Feature To Polygon (Data Management)

Available with Advanced license.

Summary

Creates a feature class containing polygons generated from areas enclosed by input line or polygon features.

Illustration

Feature To Polygon tool illustration
Feature To Polygon tool examples are shown for comparison.

Usage

  • Where one or more input features form a closed area, a new polygon feature will be constructed and written to the output feature class. The output attributes will vary depending on the Preserve attributes parameter value (attributes in Python) and the Label Features parameter value (label_features in Python).

  • When multiple feature classes or layers are specified in the list of input features, the order of the entries in the list does not affect the output feature type, but the spatial reference of the top entry on the tool dialog box (the first entry in Python) in the list will be used during processing and set to the output.

  • Parametric (true) curves in the input features will remain true curves in the output polygons, even if they are split. This does not apply to shapefile data.

  • Note:

    It is recommended that you do not use the Preserve attributes parameter (attributes in Python), as it is no longer supported and does not work. It will remain, however, for backward compatibility of scripts and models. While the output attribute schema and field values for certain input combinations may be produced as described below, most of them are unintended.

    If the Preserve attributes parameter is checked (attributes = "ATTRIBUTES" in Python), the output attribute schema and field values will depend on whether the label features (points) are provided in the following ways:

    • If no Label Features parameter values are provided, the attribute schema (field names and properties, not field values) from each input entry will be maintained in the output in the order they appear in the input list. A new field, FID_xxx, in which xxx is the source feature class name of a particular input entry, will be added to the output for each input entry and set to the value of -1. All other fields will have zero or null values.
    • If a Label Features parameter value is provided, no input attribute schemas will be maintained in the output feature class; only the attributes of the label features will be included in the output feature class. If an output polygon contains a label feature, it will have field values from that label feature. If an output polygon contains more than one label feature, it will have field values from one of them; otherwise, it will have zero or null field values.
  • If the Preserve attributes parameter is unchecked (attributes = "NO_ATTRIBUTES" in Python), the input attribute schemas will be written to the output; however, the attribute values will be empty. If you do not want attributes in the output polygon feature class, supply a point feature class that has no attributes for the Label Features parameter.

  • When input polygon features are broken into smaller output polygon features, you can use the Identity tool to transfer attributes from the input polygon features to the resulting polygon features.

  • This tool will use a tiling process to handle very large datasets for better performance and scalability. For more details, see Geoprocessing with large datasets.

Parameters

LabelExplanationData Type
Input Features

The input features, which can be line, polygon, or both.

Feature Layer
Output Feature Class

The output polygon feature class.

Feature Class
XY Tolerance
(Optional)

The minimum distance separating all feature coordinates, and the distance a coordinate can move in X, Y, or both during spatial computation. The default XY tolerance is set to 0.001 meter or its equivalent in feature units.

Caution:

Changing this parameter's value may cause failure or unexpected results. It is recommended that this parameter not be modified. It has been removed from view in the tool dialog. By default, the input feature class's spatial reference x,y tolerance property is used.

Linear Unit
Preserve attributes
(Optional)

Legacy:

This parameter is no longer supported.

Boolean
Label Features
(Optional)

The optional input point features that contain the attributes to be transferred to the output polygon features.

Feature Layer

arcpy.management.FeatureToPolygon(in_features, out_feature_class, {cluster_tolerance}, {attributes}, {label_features})
NameExplanationData Type
in_features
[in_features,...]

The input features, which can be line, polygon, or both.

Feature Layer
out_feature_class

The output polygon feature class.

Feature Class
cluster_tolerance
(Optional)

The minimum distance separating all feature coordinates, and the distance a coordinate can move in X, Y, or both during spatial computation. The default XY tolerance is set to 0.001 meter or its equivalent in feature units.

Caution:

Changing this parameter's value may cause failure or unexpected results. It is recommended that this parameter not be modified. It has been removed from view in the tool dialog. By default, the input feature class's spatial reference x,y tolerance property is used.

Linear Unit
attributes
(Optional)

Legacy:

This parameter is no longer supported.

Boolean
label_features
(Optional)

The optional input point features that contain the attributes to be transferred to the output polygon features.

Feature Layer

Code sample

FeatureToPolygon example 1 (Python window)

The following Python window script demonstrates how to use the FeatureToPolygon function in immediate mode.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.FeatureToPolygon_management(["mainroads.shp","streets.shp"],
                                  "c:/output/output.gdb/streetblocks",
                                  "", "NO_ATTRIBUTES")
FeatureToPolygon example 2 (stand-alone script)

The following stand-alone script is a simple example of how to apply the FeatureToPolygon function in a scripting environment.

# Name: FeatureToPolygon_Example2.py
# Description: Use FeatureToPolygon function to construct habitat areas
#              from park boundaries and rivers.

# Import system modules 
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data/parks_analysis.gdb"

# Set local parameters
inFeatures = ["park_boundaries", "rivers"]
outFeatureClass = "c:/output/output.gdb/habitat_areas"
clusTol = "0.05 Meters"

# Use the FeatureToPolygon function to form new areas
arcpy.FeatureToPolygon_management(inFeatures, outFeatureClass, clusTol,
                                  "NO_ATTRIBUTES")

Licensing information

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

Related topics