Performance of extract_points vs rasterio sample
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- performance
Línea de trabajo
Reproduce the comparison using the linked notebook and the Prague DTM, then inspect xvec/accessor.py around lines 1261-1263 where extract_points delegates to sel(method='nearest'). Compare that behavior with rasterio's sample path, and consider the available xarray and rioxarray routes. Done means identifying and documenting a supported approach that materially improves lazy-raster point extraction.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
One of the questions in the recent Earthmover's webinar on xvec was about the performance of extract_points compared to rasterio's sample method. I have never tested this before so wanted to give it a go and for a large lazy-loaded raster (digital terrain model), our extract_points is waaaay slower. See https://notebooksharing.space/view/4459f651d27b2f214f8590c30aba0782f7515d4c16b00dcd3283492f19f8e694#displayOptions=
The DTM is from https://geoportalpraha.cz/en/data-and-services/97d2c9c11aa9478cb21b469b8a4f820e in case you'd like to test the same but any raster should do the trick I assume.
Under the hood, extract_points is simply passing the coordinates to .sel with method='nearest', which should be doing exactly the same as rasterio's sample. https://github.com/xarray-contrib/xvec/blob/66b541bd509b4bcaade0bbeed3dd90b852b602a3/xvec/accessor.py#L1261-L1263
This is not optimal.
We could possibly use sample via rioxarray if the raster is loaded via xarray as it is available through dtm_da.rio._manager.acquire().sample(list(zip(x, y))) but that is relying on a private API of rasterio. I'll open an issue there if there's an appetite to expose sample on the rio accessor.
Outside of relying on rasterio, is there a way of speeding it up using some xarray magic?
- Lenguaje dominante
- Python
- Estrellas
- 139
- Forks
- 14
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de xarray-contrib/xvec
-
CI
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
xarray-contrib/xvec#145 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
xarray-contrib/xvec#141 · 2 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
xarray-contrib/xvec#129 · 1 comentario ·
-
update fixtures in futureAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
xarray-contrib/xvec#113 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
xarray-contrib/xvec#100 ·
Todos los issues de xarray-contrib/xvec
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
solana-foundation/pay-kit#341 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
nasa/python_cmr#123 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
EleutherAI/lm-evaluation-harness#4243 ·
Los mantenedores suelen responder en 1 día
-
area: dashboard bug perceived difficulty: 3
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Nitjsefnie-Harness-Commons/daedalus#1179 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
cusp-ai-oss/tojax#17 ·