Go Geom

Package geom implements efficient geometry types for geospatial applications.
Alternatives To Go Geom
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Turf8,3054119114 days ago75November 09, 2022304mitJavaScript
A modular geospatial engine written in JavaScript
135 months ago41March 19, 20237mitSwift
The Swift Geometry Engine.
Geo1,22646747 hours ago21June 24, 2022101otherRust
Geospatial primitives and algorithms for Rust
Orb6929932 months ago27May 16, 202211mitGo
Types and utilities for working with 2d geometry in Golang
Go Geom67110536 months ago28June 02, 20219bsd-2-clauseGo
Package geom implements efficient geometry types for geospatial applications.
Wicket51417152 years ago9September 13, 202129otherJavaScript
A modest library for moving between Well-Known Text (WKT) and various framework geometries
Python Rasterstats485333311 days ago33October 29, 202131bsd-3-clausePython
Summary statistics of geospatial raster datasets based on vector geometries.
Cga.js42259 months ago74November 19, 2021mitJavaScript
CGA 3D 计算几何算法库 | 3D Compute Geometry Algorithm Library webgl three.js babylon.js等任何库都可以使用
2 years ago20February 09, 20205epl-1.0Clojure
Clojure library for working with geohashes, polygons, and other world geometry
Geozero2301013 days ago27January 27, 202320apache-2.0Rust
Zero-Copy reading and writing of geospatial data.
Alternatives To Go Geom
Select To Compare

Alternative Project Comparisons


PkgGoDev Go Report Card

Package geom implements efficient geometry types for geospatial applications.

Key features

  • OpenGeo Consortium-style geometries.
  • Support for 2D and 3D geometries, measures (time and/or distance), and unlimited extra dimensions.
  • Encoding and decoding of common geometry formats (GeoJSON, KML, WKB, and others) including sql.Scanner and driver.Value interface implementations for easy database integration.
  • 2D and 3D topology functions.
  • Efficient, cache-friendly internal representation.
  • Optional protection against malicious or malformed inputs.


Detailed features

Geometry types

Encoding and decoding

Geometry functions

  • XY 2D geometry functions
  • XYZ 3D geometry functions

Protection against malicious or malformed inputs

The WKB and EWKB formats encode geometry sizes, and memory is allocated for those geometries. If the input is malicious or malformed, the memory allocation can be very large, leading to a memory starvation denial-of-service attack against the server. For example, a client might send a MultiPoint with header indicating that it contains 2^32-1 points. This will result in the server reading that geometry to allocate 2 × sizeof(float64) × (2^32-1) = 64GB of memory to store those points. By default, malicious or malformed input protection is disabled, but can be enabled by setting positive values for wkbcommon.MaxGeometryElements.

Related libraries



Popular Geospatial Projects
Popular Geometry Projects
Popular Mapping Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.