[933] In ArcPy, how to get the geometry of a feature from a shapefile

发布时间 2023-11-02 10:41:48作者: McDelfino

In ArcPy, you can get the geometry of a feature from a shapefile using the SearchCursor or UpdateCursor and the SHAPE@ token to access the geometry of each feature. Here's how you can do it:

import arcpy

# Set the workspace (folder containing your shapefile)
arcpy.env.workspace = "C:/path/to/your/workspace"

# Specify the shapefile you want to work with
shapefile = "your_shapefile.shp"

# Create a cursor to iterate through the features
with arcpy.da.SearchCursor(shapefile, ["SHAPE@"]) as cursor:
    for row in cursor:
        # Access the geometry of the feature
        geometry = row[0]

        # You can now work with the geometry object
        # For example, you can print the geometry type
        print(f"Geometry Type: {geometry.type}")

        # Or you can access other properties and methods of the geometry object

# Don't forget to clean up and delete the cursor
del cursor

In the code above, we first set the workspace to the folder containing your shapefile. Then, we specify the shapefile you want to work with. We use a SearchCursor to iterate through the features of the shapefile and access the SHAPE@ field to get the geometry of each feature.

You can replace ["SHAPE@"] with a list of field names if you want to access other attributes of the features as well.

Remember to replace the file path and shapefile name with the actual path and name of your shapefile.