Integration of rHEALPixDGGS and Pandas/GeoPandas
Project description
rHP-Pandas
Package rhppandas intends to recreate for rHEALPix what h3pandas, developed by Daniel Jahn (https://github.com/DahnJ/H3-Pandas), does for h3-py, the Python binding for Uber's H3 DGGS. It provides a bridge between package rhealpixdggs and the dataframes used by pandas and geopandas.
[!IMPORTANT] This is very much a work in progress, and in the early stages. Some of the API available in
h3pandasremains unimplemented, none of it has been used in production. The package comes with some tests but we make no claims of completeness regarding those.
In other words: the package in its current form is mostly meant for developers, and not in a state that would be suitable for end users.
Conda Environment
Use yaml file environment.yml to create a conda environment for basic use if you'd like to give the package a spin.
Adding yaml file environment-dev.yml to your conda environment will add the packages you need to run the automated tests.
[!NOTE] A large part of why some of the API remains unimplemented has to do with the relevant functions in the backend not being implemented yet either. Development of the wrapper API within
rhealpixdggsis happening in tandem withrhppandas, with the intention of adding adapter functions one by one as the backend is fleshed out.
This also explains why environment.yml points to a branch of the rhealpixdggs-py repository instead of a release of the rhealpixdggs package.
Usage Examples
Using a basic dataframe with lat/lng coordinates:
> from rhppandas import rhppandas
> import pandas as pd
>
> basic_dataframe = pd.DataFrame({"lat": [50, 51], "lng": [14, 15]})
> basic_dataframe
lat lng
0 50 14
1 51 15
- Add
rhealpixdggscell indices as the first column in the dataframe:
> geo2rhp = basic_dataframe.rhp.geo_to_rhp(9)
> geo2rhp
lat lng
rhp_09
N216055611 50 14
N208542111 51 15
- Turn DGGS cell indices into points and add them in the
geometrycolumn:
> rhp2geo = geo2rhp.rhp.rhp_to_geo()
> rhp2geo
lat lng geometry
rhp_09
N216055611 50 14 POINT (14.00085 50.00206)
N208542111 51 15 POINT (14.99814 51.00185)
- Add cell boundaries as the
geometrycolumn:
> rhp2geoboundary = geo2rhp.rhp.rhp_to_geo_boundary()
> rhp2geoboundary
lat lng geometry
rhp_09
N216055611 50 14 POLYGON ((13.99625 50.00459, 14.0017 50.00459,...
N208542111 51 15 POLYGON ((14.99349 51.00438, 14.99907 51.00438...
- Add a colum with cell resolutions to the dataframe:
> withresolution = geo2rhp.rhp.rhp_get_resolution()
> withresolution
lat lng rhp_resolution
rhp_09
N216055611 50 14 9
N208542111 51 15 9
- Add a column with the parent cell at resolution 0:
> withbasecell = geo2rhp.rhp.rhp_get_base_cell()
> withbasecell
lat lng rhp_base_cell
rhp_09
N216055611 50 14 N
N208542111 51 15 N
- Add a column with the parent cell indices at resolution 5:
> withparent = geo2rhp.rhp.rhp_to_parent(5)
> withparent
lat lng rhp_05
rhp_09
N216055611 50 14 N21605
N208542111 51 15 N20854
- Add a column with the cell area:
> withcellarea = geo2rhp.rhp.cell_area()
> withcellarea
lat lng rhp_cell_area
rhp_09
N216055611 50 14 0.258798
N208542111 51 15 0.258798
Running Tests
rhppandas uses pytest as its test framework. Type pytest in a shell with an active conda environment for rhppandas.
Typing pytest --cov will run the tests and print some info on test coverage of the code base.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rhppandas-0.1.2.tar.gz.
File metadata
- Download URL: rhppandas-0.1.2.tar.gz
- Upload date:
- Size: 24.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ad293fa0d14406a8ea0cdc75d81c909af15e7e52db926bb552c88daee58936d
|
|
| MD5 |
c4614f962ab96dbbed652ae2d2b6621b
|
|
| BLAKE2b-256 |
a8d8761bdf6fefd44994ca59fc3088af7424954cd0c5e11756a711eadbf1e65f
|
File details
Details for the file rhppandas-0.1.2-py3-none-any.whl.
File metadata
- Download URL: rhppandas-0.1.2-py3-none-any.whl
- Upload date:
- Size: 23.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b8c62159944ca440f33f20a27e204232c8aef07fdfa115cdd2de8331f970122
|
|
| MD5 |
3d4ace6d624eb85cf5976d12e7611419
|
|
| BLAKE2b-256 |
53e8e8e91787926702fca322657fa66aeb019ca1212d2e887c72d9647e6da92f
|