Je développe en Python et j'utilise GDAL d'OSGEO pour manipuler et interagir avec les rasters et les fichiers de formes.
Je veux prendre un fichier de formes qui a des entités ponctuelles et l'interpoler dans un raster de surface. En ce moment, j'utilise la méthode 'RasterizeLayer' qui brûle une valeur de l'entité ponctuelle dans le raster (qui est définie avec toutes les valeurs nodata) mais laisse tous les pixels intacts comme valeur 'nodata'. Je me retrouve donc avec un raster de type damier.
Ce que j'ai après avoir utilisé RasterizeLayer:
Ce que je veux pour un produit final:
Je crois que la fonction que je recherche est connue sous le nom de «Spline_sa ()» à partir de l'importation arcgisscripting.
GDAL a-t-il une fonction similaire ou existe-t-il une méthode différente pour obtenir la sortie souhaitée?
Jetez un œil à l' API de maillage GDAL . Je ne sais pas si cela est exposé dans les liaisons Python, mais sinon, vous appelez l'appel à l' utilitaire gdal_grid via le module de sous processus .
L'API de grille GDAL utilise uniquement la pondération de distance inverse, la moyenne mobile et le plus proche voisin, elle n'implémente pas de splines. Une autre option consiste à utiliser Scipy .
la source
Un peu vieux pour ce fil mais j'ai écrit un module simple qui utilise l'algorithme KNN de sklearn appelé skspatial.
https://github.com/rosskush/skspatial
Vous pouvez importer un fichier de formes à l'aide de géopandas et sélectionner une colonne et elle interpolera une surface qui peut être exportée vers un raster. C'est très basique et probablement pas la meilleure façon de le faire, mais il garde au moins tout en python pur.
la source