Metadata-Version: 2.1
Name: coordinate-projector
Version: 0.0.4
Summary: Project points from one projection to another using pyproj
Home-page: https://ngi.no
License: MIT
Author: Helge Smebye
Maintainer: Jostein Leira
Maintainer-email: jostein@leira.net
Requires-Python: >=3.9,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering :: GIS
Requires-Dist: pyproj (>=3.3.0,<4.0.0)
Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
Requires-Dist: timezonefinder
Requires-Dist: types-python-dateutil (>=2.8.9,<3.0.0)
Project-URL: Repository, https://github.com/norwegian-geotechnical-institute/coordinate-projector
Description-Content-Type: text/markdown

# Coordinate Projector

[![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)

This is the Norwegian Geotechnical Institute (NGI) Python package for projecting coordinates. 
It is a small shim on top of the library [pyproj](https://github.com/pyproj4/pyproj) that again is an interface to 
 [PROJ](https://proj.org/).  

References:

Latest releases see [CHANGES.md](CHANGES.md)

# Installation (end user) 

```bash

pip install coordinate-projector

```

## Basic usage

### Project a point

```python
from coordinate_projector import Projector

projector = Projector()
 
from_srid = "4326"
to_srid = "3857"

# Paris Lat(48.8589506) Lon(2.2768485) EPSG:4326
from_east, from_north = 2.2768485, 48.8589506 

projected_east, projected_north = projector.transform(from_srid, to_srid, from_east, from_north)

# Paris Lat(6250962.06) Lon(253457.62) EPSG:3857 is in metres - 2D projection
assert abs(projected_east - 253457.62) <= 0.01
assert abs(projected_north - 6250962.06) <= 0.01 

print(f"{projected_east=}, {projected_north=}")
# projected_east=253457.6156334287, projected_north=6250962.062720417
```

# Getting Started developing

1. Software dependencies

   - Python 3.9 or higher
   - Poetry
   - black code formatter

2. Clone this repository

3. Install

   `poetry install`



# Build and Test

Run in the project root folder: 

    poetry shell pytest 

Build the package wheel: 

    poetry build

# Publish

# TODOs

- Handle lines
- Handle polygons

# Contribute

Please start by adding an issue before submitting any pull requests.


