Skip to content

Python library and CLI tool to check density and densify linestring and polygon geometries

License

Notifications You must be signed in to change notification settings

Jochem-L/geodense

 
 

Repository files navigation

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).

About

Python library and CLI tool to check density and densify linestring and polygon geometries

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.2%
  • Shell 1.8%