https://github.com/earthobservations/quadrantic
Determination of quadrants based on angle, coordinates and others
https://github.com/earthobservations/quadrantic
angle coordinates geometry open-source plane-geometry point quadrant
Last synced: 7 months ago
JSON representation
Determination of quadrants based on angle, coordinates and others
- Host: GitHub
- URL: https://github.com/earthobservations/quadrantic
- Owner: earthobservations
- License: mit
- Created: 2022-09-24T10:42:50.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-01T05:15:10.000Z (over 2 years ago)
- Last Synced: 2024-04-26T14:06:01.527Z (over 1 year ago)
- Topics: angle, coordinates, geometry, open-source, plane-geometry, point, quadrant
- Language: Python
- Homepage:
- Size: 277 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.rst
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
quadrantic
##########
Determination of quadrants based on angle, coordinates and others
.. image:: https://github.com/earthobservations/quadrantic/workflows/Tests/badge.svg
:target: https://github.com/earthobservations/quadrantic/actions?workflow=Tests
.. image:: https://codecov.io/gh/earthobservations/quadrantic/branch/main/graph/badge.svg
:target: https://codecov.io/gh/earthobservations/quadrantic
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
.. image:: https://img.shields.io/pypi/pyversions/quadrantic.svg
:target: https://pypi.python.org/pypi/quadrantic/
.. image:: https://img.shields.io/pypi/v/quadrantic.svg
:target: https://pypi.org/project/quadrantic/
.. image:: https://img.shields.io/pypi/status/quadrantic.svg
:target: https://pypi.python.org/pypi/quadrantic/
.. image:: https://pepy.tech/badge/quadrantic/month
:target: https://pepy.tech/project/quadrantic
.. image:: https://img.shields.io/github/license/earthobservations/quadrantic
:target: https://github.com/earthobservations/quadrantic/blob/main/LICENSE
Overview
********
This library allows you to determine quadrant(s) based on
- angle (360° or 400 Gon)
- location (latlon)
Setup
*****
Via Pip:
.. code-block:: bash
pip install quadrantic
Via Github (latest):
.. code-block:: bash
pip install git+https://github.com/earthobservations/quadrantic
Implementations
***************
Get quadrant for angle
======================
Determine quadrant based on
Degree
.. code-block::
#####################
# # 90° #
# # #
# 180° # 0° #
#####################
# # #
# # #
# # 270° #
#####################
or
Gon
.. code-block::
#####################
# # 100° #
# # #
# 200° # 0° #
#####################
# # #
# # #
# # 300° #
#####################
.. code-block:: python
from quadrantic import QuadrantFromAngle, AngleUnit, Q
quad = QuadrantFromAngle() # no args need for this method
# Single quadrant
quad.get(45.0, AngleUnit.DEGREE)
# [Q.FIRST]
# Two quadrants
quad.get(90.0, AngleUnit.DEGREE)
# [Q.FIRST, Q.SECOND]
# More then full circle (360°)
quad.get(450.0, AngleUnit.DEGREE) # same as above + 360°
# [Q.FIRST, Q.SECOND]
# Negative degree
quad.get(-45.0, AngleUnit.DEGREE)
# [Q.FOURTH]
# Degree in Gon
quad.get(90.0, AngleUnit.GON)
# [Q.FIRST]
Get quadrant for coordinates
============================
.. code-block::
#####################
# (-1,1) # (1,1) #
# # #
# # (0,0) #
#####################
# # #
# # #
# # #
#####################
.. code-block:: python
from quadrantic import QuadrantFromCoords, AngleUnit, Q
from shapely.geometry import Point
# Single quadrant
quad = QuadrantFromCoords((0.0, 0.0))
quad.get((1.0, 1.0))
# [Q.FIRST]
# Two quadrants
quad = QuadrantFromCoords((0.0, 0.0))
quad.get((0.0, 1.0))
# [Q.FIRST, Q.SECOND]
# All quadrants
quad = QuadrantFromCoords((0.0, 0.0))
quad.get((0.0, 0.0))
# [Q.FIRST, Q.SECOND, Q.THIRD, Q.FOURTH]
# Single quadrant with shapely Point
quad = QuadrantFromCoords(Point(0.0, 0.0))
quad.get(Point(1.0, 1.0))
# [Q.FIRST]
Examples
********
Visualized examples can be found in the ``examples`` folder.
License
*******
Distributed under the MIT License. See ``LICENSE.rst`` for more info.
Changelog
*********
Development
===========
0.1.0 (25.09.2022)
==================
- Add first version of quadrantic