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_contour], [p[1] for p in left_contour], "k--")
plt.plot([p[0] for p in right_contour], [p[1] for p in right_contour], "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.6.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.6-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for variable_polyline_buffer-0.1.6.tar.gz
Algorithm Hash digest
SHA256 bf40878f3d6b3b0315ab1e2b7a3d0552abf0c9e04b292cb901d9613fa62469aa
MD5 376c3aa924d3abccf8ddc3ef4c7a329f
BLAKE2b-256 0ea22c060f25215c5ce716f6895df559d2e768baee43e731fe01025f00f1081d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for variable_polyline_buffer-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 4703ae18d228137eedfc116257194a2a6871ea34985ba1a28c6253e15b69830b
MD5 99975a232bda4ca00d91cacf79945cb5
BLAKE2b-256 975a82389396e1a6342afc185e6aef909140ae321dffc0f3f167cd2bb5c0434e

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