scalability of geometry encoding
Les mainteneurs répondent en général sous 1 jour
Une pull request liée a déjà été fusionnée.
- #535 par @dcherian — fusionnée
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- python
- Domaine
- data, performance
Piste de recherche
Start by reproducing the benchmark around xvec.encode_cf with the provided GeoPandas and xarray setup, comparing encoding and decoding times as dataset size grows. Investigate the geometry encoding path and the suggested WKB/GeoParquet alternative; done means documenting or demonstrating a measurable scalability improvement for the full dataset.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I've been playing with encoding larger datasets using the cf-xarray geometry approach. Here's some code
import geopandas as gp
import xvec
import xarray as xr
url = (
"s3://overturemaps-us-west-2/release/2024-08-20.0/theme=buildings/type=building/"
"part-00000-2ad9544f-1d68-4a5a-805c-7a5d020d084d-c000.zstd.parquet"
)
# ~ 30s
df = gp.read_parquet(url, columns=['id', 'geometry', 'level'])
# 11447790 rows
# all very fast
ds = xr.Dataset(df).set_coords("geometry").swap_dims({"dim_0": "geometry"}).drop_vars("dim_0")
ds = ds.xvec.set_geom_indexes('geometry', crs=df.crs)
# encode only 100_000 rows
%time ds_enc = ds.isel(geometry=slice(0, 100_000)).xvec.encode_cf()
# -> Wall time: 4.25 s
I confirmed that the scaling is roughly linear. At this rate, it will take > 500 seconds to encode the whole dataset. Decoding is about 20x faster.
I'm wondering if there are some low-hanging fruit that can be found to optimize this.
Alternatively, we could explore storing geometries as WKB, as geoparquet does.
- Langage dominant
- Python
- Étoiles
- 183
- Forks
- 52
- Merge moyen
- 2 h 41 min
- PR mergées (30 j)
- 3
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/cf-xarray
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
xarray-contrib/cf-xarray#623 ·
Les mainteneurs répondent en général sous 1 jour
-
Consider adding opt-in support for circular axes when calling `bounds_to_vertices` (related to #594)Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 38/100
xarray-contrib/cf-xarray#596 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
assert no variable with spaces in name is used for compression by gatheringPeut-être pris @nawaaaaaAaar l’a pris il y a 3 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 25/100
xarray-contrib/cf-xarray#570 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 15/100
xarray-contrib/cf-xarray#568 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
xarray-contrib/cf-xarray#566 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de xarray-contrib/cf-xarray
Issues similaires
-
request-theme
Difficulté 1/5 Moins d'une heure Accessibilité débutants 66/100
LizardByte/ThemerrDB#9575 ·
Les mainteneurs répondent en général sous 1 jour
-
Author Page: noshin-nawalOuverteauthor-page correction
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
acl-org/acl-anthology#10599 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
zilliztech/memsearch#818 ·
Les mainteneurs répondent en général sous 1 jour
-
[FAQ] Commit ID for ProjectsPeut-être pris @github-actions l’a pris aujourd’hui. Ouvertefaq-proposal
Difficulté 1/5 Moins d'une heure Accessibilité débutants 84/100
DataTalksClub/faq#503 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
README.zh-CN/ja/es still hard-code 501 test counts after README.md went count-freePeut-être pris @Aaqibhafeezkhan l’a pris aujourd’hui. Ouvertebeginner documentation good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
BistaDinesh03/critique#164 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour