Skip to main content

A function for calculating a buffer around a polyline, defining the contours of a line with variable thickness.

Project description

Variable polyline buffer

Description

variable_polyline_buffer is a Python library for calculating a buffer around a polyline, defining the contours of a line with variable thickness. This function supports various applications in geographical information systems, computer graphics, and spatial analysis where dynamic line thickness is required.

Installation

To install this package, use pip:

pip install variable_polyline_buffer

Usage

Here is a simple example of how to use Variable-Polyline-Buffer:

from variable_polyline_buffer import generate_polyline_buffer
import matplotlib.pyplot as plt

# Example data: coordinates of polyline points and distance for each segment
points = [(0, 0), (2, 0.5), (3, -0.5), (4, 1)]
distances = [1, 0.5, 0.2]  # Thickness of the individual segments

# Generate contours
left_contour, right_contour = generate_polyline_buffer(points, distances)

# Plot the contours
plt.plot([p[0] for p in points], [p[1] for p in points], "C0")
plt.plot([p[0] for p in left], [p[1] for p in left], "k--")
plt.plot([p[0] for p in right], [p[1] for p in right], "k--")
plt.axis("equal")

Output image

Replace points and dists with your polyline data and corresponding thicknesses.

Via supplying tuples as dists, one can also generate different thicknesses on the curve's two sides:

points = [(0, 0), (2, 0.5), (3, -0.5), (4, 1)]
distances = [(0.1, 1), (0.1, 0.5), 0.2]

Output image

By supplying False as distance, one can taper between segments with different widths:

points = [(0, 0), (1, 0), (2, 0), (3, 0)]
distances = [(0.5, 0), (False, 0), (0.2, 0)]

Output image

Requirements

Variable-Polyline-Buffer requires the following Python libraries:

  • NumPy

License

This project is licensed under the MIT License.

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

variable_polyline_buffer-0.1.4.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

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

variable_polyline_buffer-0.1.4-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file variable_polyline_buffer-0.1.4.tar.gz.

File metadata

File hashes

Hashes for variable_polyline_buffer-0.1.4.tar.gz
Algorithm Hash digest
SHA256 d031db9cce0df81aac7d936d6453b2eb39098e3a2367aeefa0988fac0cfa510d
MD5 b5a611b90f71a7717d90a620514f3ea5
BLAKE2b-256 74a7d559dfe6c45aa2b71b9f19221b57b67e851adb102c90a4227b29ce7241ec

See more details on using hashes here.

File details

Details for the file variable_polyline_buffer-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for variable_polyline_buffer-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c6b75b141c7f679eec8abdab1f96a67bca95307e59b943162948e7c27923a232
MD5 a534ef48b130e796f52302ab2f096b08
BLAKE2b-256 cb804752999a8ad5ebffba3eff0acadfec00d3ad4de1404c8610816d1594512b

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