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