Python ile Coğrafi Verilerle Çalışma
Joris Van den Bossche
Open source software developer and teacher, GeoPandas maintainer

Görsel kaynağı: QGIS belgeleri



import rasterio
import rasterio
src = rasterio.open("DEM_world.tif")
Üstveri:
src.count
1
src.width, src.height
(4320, 2160)
array = src.read()
Standart numpy dizisi:
array
array([[[-4290, -4290, -4290, ..., -4290, -4290, -4290],
[-4278, -4278, -4278, ..., -4278, -4278, -4278],
[-4269, -4269, -4269, ..., -4269, -4269, -4269],
...,
[ 2804, 2804, 2804, ..., 2804, 2804, 2804],
[ 2804, 2804, 2804, ..., 2804, 2804, 2804],
[ 2804, 2804, 2804, ..., 2804, 2804, 2804]]], dtype=int16)
rasterio.plot.show() yöntemiyle:
import rasterio.plot
rasterio.plot.show(src, cmap='terrain')


rasterstats: Vektör geometrilerine dayalı coğrafi raster veri özet istatistikleri (https://github.com/perrygeo/python-rasterstats)
Nokta vektörler için:
rasterstats.point_query(geometries, "path/to/raster",
interpolation='nearest'|'bilinear')
Poligon vektörler için:
rasterstats.zonal_stats(geometries, "path/to/raster",
stats=['min', 'mean', 'max'])
result = rasterstats.zonal_stats(countries.geometry, "DEM_gworld.tif", stats=['mean'])countries['mean_elevation'] = pd.DataFrame(result)countries.sort_values('mean_elevation', ascending=False).head()
name continent geometry mean_elevation
157 Tajikistan Asia POLYGON ((74.98 37.41, ... 3103.231105
85 Kyrgyzstan Asia POLYGON ((80.25 42.34, ... 2867.717142
24 Bhutan Asia POLYGON ((91.69 27.77, ... 2573.559846
119 Nepal Asia POLYGON ((81.11 30.18, ... 2408.907816
6 Antarctica Antarctica (POLYGON ((-59.57 -80.04... 2374.075028
.. ... ... ... ...
Python ile Coğrafi Verilerle Çalışma