Estoy desarrollando en Python y usando GDAL de OSGEO para manipular e interactuar con rásteres y archivos de forma.
Quiero tomar un archivo de forma que tenga entidades de puntos e interpolarlo en un ráster de superficie. En este momento estoy usando el método 'RasterizeLayer' que quema un valor de la entidad de puntos en el ráster (que se establece con todos los valores de nodata) pero deja todos los píxeles intactos como un valor 'nodata'. Por lo tanto, me queda un ráster tipo tablero de ajedrez.
Lo que tengo después de usar RasterizeLayer:
Lo que quiero para un producto final:
Creo que la función que estoy buscando se conoce como 'Spline_sa ()' de la importación arcgisscripting.
¿GDAL tiene una función similar o hay un método diferente para obtener el resultado deseado?
fuente
Eche un vistazo a la API de cuadrícula GDAL . No sé si eso está expuesto en los enlaces de Python, pero si no, llame a la utilidad gdal_grid a través del módulo de subproceso .
La API de cuadrícula GDAL solo usa ponderación de distancia inversa, media móvil y vecino más cercano, no implementa splines. Otra opción es usar Scipy .
fuente
Un poco viejo para este hilo, pero he escrito un módulo simple que usa el algoritmo KNN de sklearn llamado skspatial.
https://github.com/rosskush/skspatial
Puede importar un archivo de forma utilizando geopandas y seleccionar una columna e interpolará una superficie que se puede exportar a un ráster. Es muy básico y probablemente no sea la mejor manera de hacerlo, pero al menos mantiene todo Python puro.
fuente