Skip to main content

Python library and CLI tool to check density and densify (GeoJSON) geometries using the geodesic (ellipsoidal great-circle) calculation for accurate CRS transformations

Project description

geodense

Code Coverage Python 3.11+ License: MIT PyPI Version

Python library and CLI tool to check density and densify geometries using the geodesic (ellipsoidal great-circle) calculation for accurate CRS transformations.

Implementation based on Eenduidige transformatie van grenzen tussen ETRS89 en RD

Requires Python v3.11 or higher.

Depends on:

Usage CLI

Use either geodense or the short gden alias:

$ geodense --help

Usage: geodense [-h] [-v] {densify,check-density} ...

Check density of, and densify geometries using the geodesic (ellipsoidal great-circle) calculation for accurate CRS transformations

Commands:
  {densify,check-density}

Options:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit

Created by https://www.nsgi.nl/

Usage Docs

See DOCS.md for usage docs; for now only containing flow-charts of the densify and check-densify subcommands.

Contributing

Issues (bugs/feature requests) can be reported in the issue tracker of this repository. Pull requests are more than welcome, but we encourage to start a discussion on the issue tracker first.

Development

Install/uninstall geodense for development, including dev dependencies (run from root of repository):

pip install -e ".[dev]"
pip uninstall geodense

Tests

Run tests:

python3 -m pytest tests/

Check test coverage:

python3 -m coverage run -p --source=src/geodense -m pytest -v tests && python3 -m coverage report --data-file $(ls -t  .coverage.* | head -1)

Create release

Creating a release requires the build and twine packages, which are part of this package's dev dependencies. To create a release follow these steps:

To release a new version create a new git tag and push the new tag with

git tag -a x.x.x -m "tagging x.x.x release"
git push --tags

Create a new build with:

rm -rf dist/* # clean dist folder before build
python -m build

Check wheel contains expected files:

unzip dist/geodense-0.0.1a3-py3-none-any.whl -d geodense-whl
tree geodense-whl
rm -rf geodense-whl

Check whether package description will render properly on PyPI:

twine check dist/*

Upload release to pypi:

twine upload -r testpypi dist/*

Note: requires ~/.pypirc file with API token (when 2FA is enabled on PyPi).

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

geodense-1.0.0.tar.gz (944.0 kB view hashes)

Uploaded Source

Built Distribution

geodense-1.0.0-py3-none-any.whl (16.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page