Displaying 1 to 20 from 26 results

turf - A modular geospatial engine written in JavaScript

  •    Javascript

Turf is a JavaScript library for spatial analysis. It includes traditional spatial operations, helper functions for creating GeoJSON data, and data classification and statistics tools. Turf can be added to your website as a client-side plugin, or you can run Turf server-side with Node.js (see below).Download the minified file, and include it in a script tag. This will expose a global variable named turf.

rbush - RBush — a high-performance JavaScript R-tree-based 2D spatial index for points and rectangles

  •    Javascript

RBush is a high-performance JavaScript library for 2D spatial indexing of points and rectangles. It's based on an optimized R-tree data structure with bulk insertion support. Spatial index is a special data structure for points and rectangles that allows you to perform queries like "all items within this bounding box" very efficiently (e.g. hundreds of times faster than looping over all items). It's most commonly used in maps and data visualizations.

earcut - The fastest and smallest JavaScript polygon triangulation library for your WebGL apps

  •    Javascript

The fastest and smallest JavaScript polygon triangulation library. 2.5KB gzipped.The library implements a modified ear slicing algorithm, optimized by z-order curve hashing and extended to handle holes, twisted polygons, degeneracies and self-intersections in a way that doesn't guarantee correctness of triangulation, but attempts to always produce acceptable results for practical data.




supercluster - A crazy fast geospatial point clustering library for browsers and Node.

  •    Javascript

A very fast JavaScript library for geospatial point clustering for browsers and Node.Loads an array of GeoJSON Feature objects. Each feature's geometry must be a GeoJSON Point. Once loaded, index is immutable.

delaunator - A really fast JavaScript library for Delaunay triangulation of 2D points

  •    Javascript

A really fast JavaScript library for Delaunay triangulation of 2D points.Constructs a delaunay triangulation object given an array of points ([x, y] by default). getX and getY are optional functions of the form (point) => value for custom point formats. Duplicate points are skipped.

flatbush - A very fast static spatial index for 2D points and rectangles in JavaScript

  •    Javascript

A really fast static spatial index for 2D points and rectangles in JavaScript. An efficient implementation of the packed Hilbert R-tree algorithm. Enables fast spatial queries on a very large number of objects (e.g. millions), which is very useful in maps, data visualizations and computational geometry algorithms.

hmm - Heightmap meshing utility.

  •    C

hmm is a heightmap meshing utility. If you've done any 3D game development, 3D printing, or other such things, you've likely wanted to convert a grayscale heightmap image into a 3D mesh. The naive way is pretty simple but generates huge meshes with millions of triangles. After hacking my way through various solutions over the years, I finally decided I needed to write a good tool for this purpose.


turf-swift - A Swift language port of Turf.js.

  •    Swift

A spatial analysis library written in Swift for native iOS, macOS, tvOS, watchOS, and Linux applications, ported from Turf.js.Turf for Swift is experimental and its public API is subject to change. Please use with care and open issues for any problems you see or missing features that should be added.

wagyu - A general library for geometry operations of union, intersections, difference, and xor

  •    C++

The output geometry from each of these operations is guaranteed to be valid and simple as per the OGC.Documentation of any library is critical to its existance and it really takes a community of effort. All of the documentation for the library is included with the library. The Wagyu project loves pull requests so please feel free to contribute at any point in time to the docs/ directory in any way you see fit! If you see a problem in documentation, at least please make an issue in the github repository.

topo - A Geometry library for Elixir that calculates spatial relationships between two geometries

  •    Elixir

The Topo module provides functions for determining the relationship between two geometries. Each function returns a boolean and accepts any combination of Point, LineString, Polygon, MultiPoint, MultiLineString, or MultiPolygon. Each of these functions can be passed any two Geometries in either a Map with a :type and :coordinates keys or as a struct generated via the Geo library (https://github.com/bryanjos/geo). Coordinates are represented as atoms {x, y} and multiple coordinates as Lists.

Geopython - Spatial/Geo Python explorations

  •    Jupyter

This is a repository of various geo/spatial analysis techniques using Python libraries, chiefly Numpy, Pandas, Shapely, Fiona, Descartes, Matplotlib, and Matplotlib-Basemap. These tutorials, visualisations, and libraries are an occasional side effect of being embroiled in a PhD at the Bartlett Centre for Advanced Spatial Analysis, at UCL, and teaching on the undergraduate Data Science and Visualisation course.

polylabel-rs - A Rust implementation of the Polylabel algorithm

  •    Rust

The orange dot is the polygon centroid. The teal dot is the ideal label position. Red boxes show the search space. You can generate this visualisation yourself by cloning this repo, switching to the visualise branch, and opening the visualise.ipynb Jupyter notebook, then stepping through the cells. You can also easily visualise a Polygon of your own using the notebook.

simplification - Fast LineString simplification using RDP or Visvalingam-Whyatt and a Rust binary

  •    Python

pip install simplification Please use a recent (>= 8.1.2) version of pip. Passing empty and/or 1-element lists will return them unaltered.

martinez - Martinez-Rueda polygon clipping algorithm, does boolean operation on polygons (multipolygons, polygons with holes etc): intersection, union, difference, xor

  •    Javascript

The algorithm is specifically fast and capable of working with polygons of all types: multipolygons (without cascading), polygons with holes, self-intersecting polygons and degenerate polygons with overlapping edges. The algorithm of Matrinez et al. was extended to work with multipolygons without cascading.

geokdbush - The fastest spatial index for geographic locations in JavaScript

  •    Javascript

A geographic extension for kdbush, the fastest static spatial index for points in JavaScript. It implements fast nearest neighbors queries for locations on Earth, taking Earth curvature and date line wrapping into account. Inspired by sphere-knn, but uses a different algorithm.

kdbush - A fast static index for 2D points

  •    Javascript

Creates an index from the given points. Finds all items within the given bounding box and returns an array of indices that refer to the items in the original points input array.

hgeometry - HGeometry

  •    Haskell

HGeometry also includes a datastructure/data type for planar graphs. In particular, it has a EdgeOracle data structure, that can be built in (O(n)) time that can test if the graph contains an edge in constant time. All geometry types are parameterized by a numerical type r. It is well known that Floating-point arithmetic and Geometric algorithms don't go well together; i.e. because of floating point errors one may get completely wrong results. Hence, I strongly advise against using Double or Float for these types. In several algorithms it is sufficient if the type r is Fractional. Hence, you can use an exact number type such as Rational.

polytri - Fast and simple polygon triangulation library.

  •    C++

PolyTri is a polygon triangulator for simple polygons based on Seidel's algorithm [1]. PolyTri is released under the Unlicense.