আপনি সরাসরি জিওডাটাফ্রেম নির্মাণকারীর কাছে জেসনটি পাস করতে পারেন:
import geopandas as gpd
import requests
data = requests.get("https://data.cityofnewyork.us/api/geospatial/arq3-7z49?method=export&format=GeoJSON")
gdf = gpd.GeoDataFrame(data.json())
gdf.head()
আউটপুট:
features type
0 {'type': 'Feature', 'geometry': {'type': 'Poin... FeatureCollection
1 {'type': 'Feature', 'geometry': {'type': 'Poin... FeatureCollection
2 {'type': 'Feature', 'geometry': {'type': 'Poin... FeatureCollection
3 {'type': 'Feature', 'geometry': {'type': 'Poin... FeatureCollection
4 {'type': 'Feature', 'geometry': {'type': 'Poin... FeatureCollection
সমর্থিত একক-ফাইল ফর্ম্যাট বা জিপযুক্ত শেফফিলগুলির জন্য, আপনি ব্যবহার করতে পারেন fiona.BytesCollection
এবং GeoDataFrame.from_features
:
import requests
import fiona
import geopandas as gpd
url = 'http://www.geopackage.org/data/gdal_sample.gpkg'
request = requests.get(url)
b = bytes(request.content)
with fiona.BytesCollection(b) as f:
crs = f.crs
gdf = gpd.GeoDataFrame.from_features(f, crs=crs)
print(gdf.head())
এবং
জিপযুক্ত শেফফিলগুলির জন্য (
ফিয়োনা 1.7.2 হিসাবে সমর্থিত )
url = 'https://www2.census.gov/geo/tiger/TIGER2010/STATE/2010/tl_2010_31_state10.zip'
request = requests.get(url)
b = bytes(request.content)
with fiona.BytesCollection(b) as f:
crs = f.crs
gdf = gpd.GeoDataFrame.from_features(f, crs=crs)
print(gdf.head())
ফায়না এই জাতীয় কিছু ব্যবহার করে কোন ফর্ম্যাটগুলি সমর্থন করে তা আপনি জানতে পারেন:
import fiona
for name, access in fiona.supported_drivers.items():
print('{}: {}'.format(name, access))
এবং ফিওনা ১. 1..১ বা তার আগের সংস্করণে মেমরি জিপড ডেটা পড়ার জন্য একটি হ্যাকি ওয়ার্কআরাউন্ড:
import requests
import uuid
import fiona
import geopandas as gpd
from osgeo import gdal
request = requests.get('https://github.com/OSGeo/gdal/blob/trunk/autotest/ogr/data/poly.zip?raw=true')
vsiz = '/vsimem/{}.zip'.format(uuid.uuid4().hex) #gdal/ogr requires a .zip extension
gdal.FileFromMemBuffer(vsiz,bytes(request.content))
with fiona.Collection(vsiz, vsi='zip', layer ='poly') as f:
gdf = gpd.GeoDataFrame.from_features(f, crs=f.crs)
print(gdf.head())