ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Help
  • Sign Out
ArcGIS Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS Desktop

A complete professional GIS

ArcGIS Enterprise

GIS in your enterprise

ArcGIS 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
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

ArcMap

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • Extensions

FeatureSet

  • Summary
  • Discussion
  • Syntax
  • Properties
  • Method Overview
  • Methods
  • Code sample

Summary

FeatureSet objects are a lightweight representation of a feature class. They are a special data element that contains not only schema, but also the data. The FeatureSet object is also how feature data is sent and received from the server.

Discussion

Note:

If you're loading a feature class into a new FeatureSet and modifying the FeatureSet with a geoprocessing tool that modifies the input such as Calculate Field or a function such as UpdateCursor, the original feature class will also be modified.

Syntax

 FeatureSet  ({table})
ParameterExplanationData Type
table

Feature data to be loaded into the FeatureSet object.

String

Properties

PropertyExplanationData Type
JSON
(Read Only)

Returns an Esri JSON representation of the geometry as a string.

Tip:

The returned string can be converted to a dictionary using the json module's loads function.

String

Method Overview

MethodExplanation
load (table_path)

Import from a table.

save (table_path)

Export to a table.

Methods

load (table_path)
ParameterExplanationData Type
table_path

The table to be imported.

String
save (table_path)
ParameterExplanationData Type
table_path

The output table to be created.

String

Code sample

FeatureSet example 1

Load data into a FeatureSet and insert into a feature class.

import arcpy

arcpy.env.overwriteOutput = True

arcpy.ImportToolbox("http://flame7/arcgis/services;BufferByVal",
                    "servertools")

# List of coordinates
coordinates = [[-117.196717216, 34.046944853],
               [-117.186226483, 34.046498438],
               [-117.179530271, 34.038016569],
               [-117.187454122, 34.039132605],
               [-117.177744614, 34.056765964],
               [-117.156205131, 34.064466609],
               [-117.145491191, 34.068261129],
               [-117.170825195, 34.073618099],
               [-117.186784501, 34.068149525],
               [-117.158325598, 34.03489167]]

# Create an in_memory feature class to initially contain the coordinate pairs
feature_class = arcpy.CreateFeatureclass_management(
    "in_memory", "tempfc", "POINT")[0]

# Open an insert cursor
with arcpy.da.InsertCursor(feature_class, ["SHAPE@XY"]) as cursor:
    # Iterate through list of coordinates and add to cursor
    for (x, y) in coordinates:
        cursor.insertRow([(x, y)])

# Create a FeatureSet object and load in_memory feature class
feature_set = arcpy.FeatureSet()
feature_set.load(feature_class)

results = arcpy.BufferPoints_servertools(feature_set)

Related topics

  • Working with feature sets and record sets
  • RecordSet

ArcGIS Desktop

  • Home
  • Documentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Tell us what you think.
Copyright © 2021 Esri. | Privacy | Legal