सीन गिल्ली के रैस्टोरियो का उपयोग करें । यह आसानी से साथ जोड़ा जा सकता फियोना (पढ़ने और लिखने शेपफ़ाइलें) और सुडौल ही लेखक की।
स्क्रिप्ट rasterio_polygonize.py
में शुरुआत है
import rasterio
from rasterio.features import shapes
mask = None
with rasterio.drivers():
with rasterio.open('a_raster') as src:
image = src.read(1) # first band
results = (
{'properties': {'raster_val': v}, 'geometry': s}
for i, (s, v)
in enumerate(
shapes(image, mask=mask, transform=src.affine)))
परिणाम GeoJSON सुविधाओं का एक जनरेटर है
geoms = list(results)
# first feature
print geoms[0]
{'geometry': {'type': 'Polygon', 'coordinates': [[(202086.577, 90534.3504440678), (202086.577, 90498.96207), (202121.96537406777, 90498.96207), (202121.96537406777, 90534.3504440678), (202086.577, 90534.3504440678)]]}, 'properties': {'raster_val': 170.52000427246094}}
कि आप सुडौल ज्यामितीय में बदल सकते हैं
from shapely.geometry import shape
print shape(geoms[0]['geometry'])
POLYGON ((202086.577 90534.35044406779, 202086.577 90498.96206999999, 202121.9653740678 90498.96206999999, 202121.9653740678 90534.35044406779, 202086.577 90534.35044406779))
जियोपैन्डस डेटाफ़्रेम बनाएँ और स्थानिक जुड़ाव, प्लॉटिंग, जियोजोन के रूप में बचत, ईएसआरआई शेपफाइल आदि की कार्यक्षमता का उपयोग करने के लिए आसान सक्षम करें।
geoms = list(results)
import geopandas as gp
gpd_polygonized_raster = gp.GeoDataFrame.from_features(geoms)