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.3.tar.gz (2.6 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.3-py3-none-any.whl (2.9 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for variable_polyline_buffer-0.1.3.tar.gz
Algorithm Hash digest
SHA256 9e106972258432d396cc619f2922bc1dfdbde00a625a591083c70c2d381d614a
MD5 324bac1becad74ff00d99ebabce05784
BLAKE2b-256 e2fc0f546f57aa23cc59e748bdd36c9302b3fb0226258eb15adb2a49e347958e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for variable_polyline_buffer-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 25643bc6f34bdffefaceef8a36baaca1a9134e84c034d0a4cbaa87e943f85c3b
MD5 b36687fc5f6f3e56a6639b7263ae4265
BLAKE2b-256 de306725e0b84b035423d84eec610ee270fe53980050c10d04cc587180d452ea

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