Saya mengembangkan Python dan menggunakan GDAL dari OSGEO untuk memanipulasi dan berinteraksi dengan raster dan shapefile.
Saya ingin mengambil shapefile yang memiliki fitur titik dan menyisipkannya ke dalam raster permukaan. Saat ini saya menggunakan metode 'RasterizeLayer' yang membakar nilai dari fitur titik ke dalam raster (yang diatur dengan semua nilai nodata) tetapi meninggalkan semua piksel yang tidak tersentuh sebagai nilai 'nodata'. Karena itu saya pergi dengan raster jenis kotak-kotak.
Apa yang saya miliki setelah menggunakan RasterizeLayer:
Apa yang saya inginkan untuk produk akhir:
Saya percaya fungsi yang saya cari dikenal sebagai 'Spline_sa ()' dari impor arcgisscripting.
Apakah GDAL memiliki fungsi yang serupa, atau adakah metode yang berbeda untuk mendapatkan hasil yang saya inginkan?
sumber
Lihatlah API griding GDAL . Saya tidak tahu apakah itu diekspos dalam binding Python, tetapi jika tidak, Anda memanggil panggilan utilitas gdal_grid melalui modul subproses .
API grid GDAL hanya menggunakan Inverse Distance Weighting, Moving Average dan Nearest Neighbor, tidak menerapkan splines. Pilihan lain adalah menggunakan Scipy .
sumber
Agak tua untuk utas ini tetapi saya telah menulis modul sederhana yang menggunakan algoritma KNN dari sklearn yang disebut skspatial.
https://github.com/rosskush/skspatial
Anda dapat mengimpor shapefile menggunakan geopanda dan memilih kolom dan itu akan menginterpolasi permukaan yang dapat diekspor ke raster. Ini sangat mendasar dan mungkin bukan cara terbaik untuk melakukannya, tetapi itu membuat semua python murni setidaknya.
sumber