awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Toblerity avatar

Toblerity/Shapely

0
View on GitHub↗
4,457 stars·620 forks·Python·BSD-3-Clause·25 viewsshapely.readthedocs.io/en/stable↗

Shapely

Shapely is a geometric analysis library for the manipulation and analysis of planar geometric objects. It functions as a computational geometry toolkit, a spatial predicate engine for evaluating topological relationships, and a vectorized geometry processor.

The library distinguishes itself through a vectorized geometry processor capable of executing operations across coordinate arrays with multi-threaded parallel processing. It utilizes prepared geometry optimization to accelerate repeated containment and intersection tests and implements R-tree spatial indexing for efficient nearest-neighbor and intersecting geometry retrieval.

The toolkit covers a broad range of capabilities, including set-theoretic operations, affine transformations, and the generation of complex structures such as Voronoi diagrams and Delaunay triangulations. It provides tools for calculating intrinsic metrics like area and length, as well as utilities for topological validation and geometry repair.

Shapely ensures geospatial data interoperability by parsing and serializing geometric data between GeoJSON, Well-Known Text, and Well-Known Binary formats.

Features

  • Computational Geometry - Provides a comprehensive toolkit for computational geometry, including convex hulls, Voronoi diagrams, and Delaunay triangulations.
  • Vectorized Geometry Processing - Provides a vectorized geometry processor that executes operations across coordinate arrays with multi-threaded parallel processing.
  • Spatial Predicate Evaluators - Provides a spatial predicate engine to test topological relationships like containment, intersection, overlap, and touch.
  • Planar Geometry Engines - Interfaces with the GEOS C++ library to provide a high-performance engine for planar geometric operations.
  • Spatial Indexing and Search - Utilizes R-trees and bounding boxes to efficiently perform nearest-neighbor and intersection queries.
  • WKT and WKB Serialization - Serializes geometric objects into Well-Known Text or Well-Known Binary formats with optional spatial reference IDs.
  • GeoJSON Processing - Transforms geometric objects to and from the GeoJSON format to ensure interoperability with geospatial tools.
  • Serialization Parsers - Implements parsing and serialization between GeoJSON, Well-Known Text (WKT), and Well-Known Binary (WKB) formats.
  • Geospatial Data Converters - Ensures interoperability by converting geometric objects between GeoJSON, WKT, and WKB formats.
  • R-Tree Indexes - Implements a sort-tile-recursive R-tree to enable efficient nearest-neighbor and intersection queries.
  • Affine Transformation Toolkits - Provides a toolkit for rotating, scaling, and skewing geometries using transformation matrices.
  • Geometric Calculations - Calculates intrinsic metrics including area, length, bounding boxes, and centroids for geometric objects.
  • Spatial Data Processing - Provides tools for manipulating, analyzing, and transforming complex spatial geometries using vectorized coordinate arrays.
  • Spatial Proximity Computations - Implements algorithms for calculating distances and identifying nearest neighbors between geometric objects using spatial index structures.
  • Geometric Buffering - Creates an approximate area of all points within a specified distance of a geometry, supporting dilation and erosion.
  • Geometric Object Creation - Enables the creation of points, lines, polygons, and collections of shapes from coordinate arrays.
  • Geometry Repair - Fixes topological errors in geometries to make them valid.
  • Computational Geometry - Provides a toolkit for set-theoretic operations, Delaunay triangulations, and Voronoi diagram generation.
  • Geometric Manipulators - Combines multiple geometric shapes into single unified objects using union algorithms.
  • Vectorized Operations - Executes geometric functions on n-dimensional arrays using element-wise processing and broadcasting.
  • Planar Geometric Analysis - Provides a library for the manipulation and analysis of planar geometric objects using the GEOS C++ engine.
  • Planar Geometry Analysis - Calculates area, length, and centroids, and analyzes topological properties of points, lines, and polygons.
  • Set-Theoretic Geometric Operations - Computes new geometries based on intersection, union, difference, and symmetric difference between objects.
  • Topological Validation - Checks if a geometry is topologically valid and provides explanations or corrections for invalid objects.
  • Vectorized Geometry Processing - Executes geometric operations across coordinate arrays with support for multi-threaded parallel processing.
  • Data Serialization Formats - Provides serialization of geometric objects into standardized binary formats for efficient storage.
  • Topological Boundary Extractions - Returns the topological boundary of a given geometric object.
  • Geometric Data Export - Converts geometric objects into string representations, GeoJSON, or binary formats for storage and exchange.
  • Geometric Data Import - Constructs geometric objects from standardized formats such as Well-Known Text and Well-Known Binary.
  • Intersecting Geometry Retrieval - Retrieves indices of geometries that intersect or satisfy specific spatial predicates relative to a query geometry.
  • Minimum Enclosing Circles - Calculates the minimum bounding circle that completely encloses an input geometry.
  • Prepared Geometry Optimization - Provides prepared geometry optimization to accelerate repeated containment and intersection tests.
  • Polygon Normalization - Converts geometries into a strict canonical normal form to resolve self-intersections and overlaps.
  • Coordinate Transformations - Implements mathematical application of matrices to transform 2D points and reshape geometries.
  • Geospatial Vector Simplification - Reduces the vertex count of 2D lines and polygons in geospatial datasets while preserving overall shape.
  • Bounding Box Calculations - Calculates the minimum bounding box or minimum rotated rectangle that encloses a geometry.
  • Triangulation Generators - Calculates a Delaunay triangulation from a collection of points or geometry vertices.
  • GIL Management - Releases the Global Interpreter Lock during native C++ GEOS calls to enable multi-threaded geometric processing.
  • Centroid Calculations - Calculates the geometric center-of-mass for a given geometry.
  • Coordinate Array Conversions - Transforms geometric objects into contiguous arrays of coordinates and offset arrays for numerical processing.
  • Coordinate Projections - Applies custom functions to coordinates to perform map projections or arbitrary spatial transformations.
  • Coordinate Snapping - Moves vertices in one geometry to the nearest vertices in another within a specified distance tolerance.
  • Geometric Equality Comparisons - Determines if two geometries are spatially equal, structurally equivalent within a tolerance, or identical.
  • Geometry Component Extractions - Extracts specific elements from complex shapes, such as individual points from lines or rings from polygons.
  • Geometry Splitting - Divides a geometry into smaller parts using another geometry of a lesser dimension.
  • Parallel Processing - Releases the Global Interpreter Lock during GEOS execution to enable multi-threaded processing of geometric operations.
  • Line Segment Extractions - Returns a line segment between two specified distances along a LineString.
  • Geometric Transformation Routines - Implements routines for applying affine transformations, simplifying vertices, and generating buffers.
  • Linear Overlap Analysis - Identifies and extracts the overlapping segments shared between two linear geometries.
  • Linear Proximity Analysis - Determines the distance from a line's origin to the nearest point on that line for a given geometry.
  • Minimum Clearance Measurements - Measures the minimum distance between a geometry and its nearest neighbor or boundary.
  • Linear Distance Interpolators - Calculates a specific point along a line based on a provided distance from the origin.
  • Nearest Neighbor Searches - Provides efficient nearest-neighbor searches to find the closest geometry in a spatial index.
  • Concave Hull Computation - Computes a concave geometry that encloses an input geometry based on a specified ratio.
  • Convex Hull Computation - Computes the minimum convex geometry that completely encloses an input geometry.
  • Polygon Construction - Constructs polygons from a sequence of touching lines or merges contiguous linear elements.
  • Polygon Simplification - Reduces the complexity of polygonal coverages by simplifying vertices while preserving topological integrity of shared edges.
  • Prepared Geometry Optimization - Accelerates repeated containment and intersection tests by pre-processing geometries into an optimized internal state.
  • Ragged Array Transformations - Transforms geometries between coordinate arrays and offset arrays to facilitate efficient storage and processing.
  • Rectangular Clipping - Extracts the portion of a geometry that falls within a specified rectangular bounding box.
  • Voronoi Diagram Generators - Generates Voronoi diagrams based on the vertices of input geometries to partition space by proximity.
  • Python Geospatial Libraries - Manipulates and analyzes geometric objects.

Star history

Star history chart for toblerity/shapelyStar history chart for toblerity/shapely

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does toblerity/shapely do?

Shapely is a geometric analysis library for the manipulation and analysis of planar geometric objects. It functions as a computational geometry toolkit, a spatial predicate engine for evaluating topological relationships, and a vectorized geometry processor.

What are the main features of toblerity/shapely?

The main features of toblerity/shapely are: Computational Geometry, Vectorized Geometry Processing, Spatial Predicate Evaluators, Planar Geometry Engines, Spatial Indexing and Search, WKT and WKB Serialization, GeoJSON Processing, Serialization Parsers.

Which projects share features with toblerity/shapely?

Projects with overlapping indexed features include: shapely/shapely — Shapely is a library for the manipulation and analysis of planar geometric objects, serving as a Python wrapper for… mbloch/mapshaper — Mapshaper is a tool for processing, simplifying, and converting geographic vector data, available as a command-line… manuelbieh/geolib — Geolib is a geospatial calculation library and point analysis tool. It provides a collection of utilities for… mapbox/tippecanoe — Tippecanoe is a command-line tool used to generate optimized vector tiles for web maps. It converts large-scale… rust-ml/linfa — Linfa is a classical machine learning framework and statistical learning suite implemented in Rust. It provides a… cp-algorithms/cp-algorithms — This project is a comprehensive reference for algorithms and data structures used to solve complex computational…

Projects sharing features with Shapely

These projects share indexed features with Shapely. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • shapely/shapelyshapely avatar

    shapely/shapely

    4,455View on GitHub↗

    Shapely is a library for the manipulation and analysis of planar geometric objects, serving as a Python wrapper for the GEOS C++ engine. It provides a framework for calculating geometric properties, evaluating spatial relationships, and performing topological predicates within a Cartesian plane. The project distinguishes itself through a vectorized geometry processor capable of executing spatial operations across large arrays of shapes to increase throughput. It also includes a spatial indexing system based on R-trees to accelerate the retrieval of intersecting geometries and nearest neighbor

    Python
    View on GitHub↗4,455
  • mbloch/mapshapermbloch avatar

    mbloch/mapshaper

    4,133View on GitHub↗

    Mapshaper is a tool for processing, simplifying, and converting geographic vector data, available as a command-line interface, a web browser tool, and a Node.js library. It functions as a coordinate projector, vector data converter, and web map asset optimizer designed to transform spatial datasets between different coordinate reference systems and file formats. The project is distinguished by its topology-preserving geometry simplification, which reduces vertex counts while maintaining shared boundaries to prevent gaps and overlaps. It further optimizes assets for the web through coordinate

    JavaScript
    View on GitHub↗4,133
  • manuelbieh/geolibmanuelbieh avatar

    manuelbieh/geolib

    4,273View on GitHub↗

    Geolib is a geospatial calculation library and point analysis tool. It provides a collection of utilities for computing distances, bearings, and areas between coordinates, as well as converting geographic measurements and coordinate formats. The library features a Well-Known Text geometry parser to convert WKT strings into coordinate structures for polygon analysis. It includes specialized tools for geofencing and point containment, enabling the determination of whether a coordinate falls within a defined polygon or a specified radius. The toolset covers broad capability areas including loca

    JavaScript
    View on GitHub↗4,273
  • mapbox/tippecanoemapbox avatar

    mapbox/tippecanoe

    3,026View on GitHub↗

    Tippecanoe is a command-line tool used to generate optimized vector tiles for web maps. It converts large-scale geospatial datasets, including GeoJSON, CSV, and Geobuf files, into binary vector tiles or MBTiles SQLite databases. The project is designed to maintain map performance and visual quality across different zoom levels. It achieves this through geospatial data downsampling, which includes simplifying geometries and thinning point density to prevent tile overcrowding and keep tile sizes within specific limits. The tool provides extensive data transformation capabilities, such as attri

    C++c-plus-plusgeojsonvector-tiles
    View on GitHub↗3,026
Compare all 30 related projects→