Skip to main content

Support for stationing used in civil plans

Project description

civstation

Overview

Provides a Station object, which represents a Station of the kind found in civil plans of roads and other linear features, where 5+10 for example represents a point 510 feet (or meters or any units) from an arbitrary starting point.

Station objects

Import the Station class:

from civstation import Station

Create a station object:

sta = Station("4+56.78")

Stations can also be made from a number, which will convert it to a Station.

>>>sta = Station(456.78)
>>>print (sta)
4+56.78

Stations can also be made from a Station, for ease of implentation.

Stations default to displaying two decimal places with trailing zeros. This can be changed by setting decimal_places to the desired number.

>>>sta = Station(456.78, decimal_places = 4)
>>>print(sta)
4+56.7800

Operations

Stations can be added, subtracted, and compared.

Adding a station and a number (float, int, etc.) returns a Station.

Subtracting a number from a station returns a Station.

Subtracting a a Station from a Station returns a float. This is because stations represent a position along a line. Subtracting two stations produces a distance not a position, best represented as a float, not a Station. However, this behavior can be overridden by setting return_float_on_sub = False, to work completely in Stations.

There doesn't appear to be a good reason to multiply or divide Stations, so it is not supported. If this is necessary, convert them to floats or another suitable type.

Definition of Station object

The following code shows the args taken by a Station object.

class Station:
    def __init__(self, sta, decimal_places = 2, return_float_on_sub = True) -> None:

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

civstation-0.2.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

civstation-0.2.0-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file civstation-0.2.0.tar.gz.

File metadata

  • Download URL: civstation-0.2.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for civstation-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0f2cee23114efdd40260f0e56be9485f32c8fe13847bb753bb80b9efd01bddec
MD5 80db873b1288683e5d2ada60e8cdd5ba
BLAKE2b-256 dffa18104a3fab3bd83f9fb51486fc9a6a654194ca3a7448bdf80c0a06a43731

See more details on using hashes here.

File details

Details for the file civstation-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: civstation-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for civstation-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dbb9b4980508451e02e9f0b8c77b6d6160e35db715f7a1bf6562ccd5a29bc4a5
MD5 8e8450ad5b71cc60c6a40196015477a6
BLAKE2b-256 6475878c5f8f025befaca2f77f6861c94544fd293495066859affdf35b0c86ee

See more details on using hashes here.

Supported by

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