Skip to main content

Compute nearest neighbor distances along the coast with a view angle.

Project description

https://github.com/bast/coastal-express/workflows/Test/badge.svg https://img.shields.io/badge/license-%20MPL--v2.0-blue.svg https://badge.fury.io/py/cx.svg

Coastal express

Compute nearest neighbor distances along the coast with a view angle.

Installation

$ pip install cx

Example

cx --boundary="$PWD/boundary.txt" \
   --islands="$PWD/islands.txt" \
   --view-angle=90.0 \
   --min-distance=3.0 \
   --max-distance=40.0 \
   --output-dir="$PWD/output"

Available options

$ cx --help

Usage: cx [OPTIONS]

Options:
  --boundary TEXT      File containing the boundary.
  --islands TEXT       File(s) containing island data - you can use wildcards.
  --view-angle TEXT    View angle in degrees.
  --min-distance TEXT  Min distance.
  --max-distance TEXT  Max distance.
  --output-dir TEXT    Output folder.
  --help               Show this message and exit.

Definition of the view angle

The code will form view vectors perpendicular to the coastline. The code will make sure that along the boundary, the vectors point towards “inside” and along islands they point towards “outside”. The view vector is computed to be perpendicular to the vector connecting the two neighboring points of the current point.

The view angle of N degrees defines a view sector N/2 degrees to both sides of the view vector. In other words a view angle of N degrees is N degrees wide in total and is oriented symmetrically around the view vector which is perpendicular to the coast line.

Input and output formats

The code will read boundary and island files. It assumes that the first line in the boundary file contains the total number of polygon points, followed by one line per point. First and last polygon point are expected to be the same point. Two first numbers in each line are assumed to be x and y coordinates in arbitrary but consistent units. Each line can contain more numbers and the code will not worry about these.

The code can read one or many island files. Each island file can contain one or many polygons. Each polygon starts with one line specifying the total number of points. First and last polygon point are expected to be the same point. Each point line is interpreted the same way as the boundary.

The output format preserves all lines and numbers and the only thing it will do is to append each point line by the computed distance. In other words each point line will become longer by one number.

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

cx-0.2.1.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

cx-0.2.1-py2.py3-none-any.whl (11.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file cx-0.2.1.tar.gz.

File metadata

  • Download URL: cx-0.2.1.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.25.1

File hashes

Hashes for cx-0.2.1.tar.gz
Algorithm Hash digest
SHA256 0f94763f078a0be345d9ff5798952278dbee911d9cbcce2471c708e1ddfedae8
MD5 1610a85924236cf07cbfcbbf2674a946
BLAKE2b-256 982b9b04ca5b665bebd942f980e6400ba1e0f0aa785c19937456f3c4a3b7fce9

See more details on using hashes here.

File details

Details for the file cx-0.2.1-py2.py3-none-any.whl.

File metadata

  • Download URL: cx-0.2.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.25.1

File hashes

Hashes for cx-0.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 16ed4b53886d8f321c3c9a1e84c4802caf8edb26e1965913dc885b47bb32cc37
MD5 7a0464a52332343460cb474da2c5d58f
BLAKE2b-256 b6a878359e0001166dcee1d4a48a4f0427f5d1aef10fcf10c06099affe87d582

See more details on using hashes here.

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