from arcgis.features import FeatureLayer | |
from arcgis.geometry import Geometry | |
import geopandas as gpd | |
def get_gdf_from_feature_layer(url): | |
# Access the ArcGIS feature layer | |
feature_layer = FeatureLayer(url) | |
# Use the query() method to get all features where 'Borough' is 'MN' | |
sdf = feature_layer.query(where="Borough='MN'", out_sr=4326, as_df=True) | |
# Convert the 'SHAPE' column from ArcGIS's JSON-based format into a Shapely geometry | |
sdf['geometry'] = sdf['SHAPE'].apply(lambda x: Geometry(x).as_shapely) | |
# Convert the SpatialDataFrame to a GeoDataFrame | |
gdf = gpd.GeoDataFrame(sdf, geometry='geometry') | |
return gdf |