Performance of extract_points vs rasterio sample
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 30/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- python
- Domaine
- performance
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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?
- Langage dominant
- Python
- Étoiles
- 139
- Forks
- 14
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de xarray-contrib/xvec
-
CI
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
xarray-contrib/xvec#145 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 58/100
xarray-contrib/xvec#141 · 2 commentaires ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
xarray-contrib/xvec#129 · 1 commentaire ·
-
update fixtures in futureOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
xarray-contrib/xvec#113 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
xarray-contrib/xvec#100 ·
Toutes les issues de xarray-contrib/xvec
Issues similaires
-
The changelog workflow excludes otelbot but not dependabot, so every Dependabot pull request fails the changelog checkPeut-être pris @ocelotl l’a pris aujourd’hui. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
open-telemetry/opentelemetry-python#5825 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
cuga-project/cuga-agent#1020 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 70/100
microsoft/playwright#43640 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
stac-utils/stac-fastapi-elasticsearch-opensearch#965 ·
Les mainteneurs répondent en général sous 2 jours
-
from-review-extraction library privacy python severity:suggested
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
LearningCircuit/local-deep-research#7951 ·
Les mainteneurs répondent en général sous 2 jours