All Projects β†’ twpayne β†’ Go Geom

twpayne / Go Geom

Licence: bsd-2-clause
Package geom implements efficient geometry types for geospatial applications.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Go Geom

Orb
Types and utilities for working with 2d geometry in Golang
Stars: ✭ 378 (-17.11%)
Mutual labels:  2d, gis, geospatial, geojson, geo
L7
🌎 Large-scale WebGL-powered Geospatial Data Visualization analysis framework which relies on Mapbox GL or AMap to render basemaps.
Stars: ✭ 2,517 (+451.97%)
Mutual labels:  3d, gis, geospatial, geojson
pyturf
A modular geospatial engine written in python
Stars: ✭ 15 (-96.71%)
Mutual labels:  geojson, geo, geospatial, gis
turf-go
A Go language port of Turf.js
Stars: ✭ 41 (-91.01%)
Mutual labels:  geojson, geo, geospatial, gis
GeoJSON.jl
Utilities for working with GeoJSON data in Julia
Stars: ✭ 46 (-89.91%)
Mutual labels:  geojson, geo, geospatial, gis
Cesium
An open-source JavaScript library for world-class 3D globes and maps 🌎
Stars: ✭ 8,095 (+1675.22%)
Mutual labels:  3d, gis, geospatial
Openglobus
JavaScript 3d maps and geospatial data visualization engine library.
Stars: ✭ 199 (-56.36%)
Mutual labels:  3d, gis, geospatial
Go.geojson
Encoding and decoding GeoJSON <-> Go
Stars: ✭ 172 (-62.28%)
Mutual labels:  encoding, decoding, geojson
georaster-layer-for-leaflet
Display GeoTIFFs and soon other types of raster on your Leaflet Map
Stars: ✭ 168 (-63.16%)
Mutual labels:  geo, geospatial, gis
Shapefile.jl
Parsing .shp files in Julia
Stars: ✭ 40 (-91.23%)
Mutual labels:  gis, geospatial, geo
de9im
DE-9IM spatial predicate library implemented in Javascript.
Stars: ✭ 22 (-95.18%)
Mutual labels:  geojson, geospatial, gis
Mapsui
Mapsui is a .NET Map component for WPF, Xamarin.Forms, Xamarin.Android, Xamarin.iOS and UWP
Stars: ✭ 447 (-1.97%)
Mutual labels:  gis, geospatial, geo
Solaris
CosmiQ Works Geospatial Machine Learning Analysis Toolkit
Stars: ✭ 290 (-36.4%)
Mutual labels:  gis, geospatial, geo
Awesome Gis
😎Awesome GIS is a collection of geospatial related sources, including cartographic tools, geoanalysis tools, developer tools, data, conference & communities, news, massive open online course, some amazing map sites, and more.
Stars: ✭ 2,582 (+466.23%)
Mutual labels:  gis, geospatial, geo
Geotools
Official GeoTools repository
Stars: ✭ 1,109 (+143.2%)
Mutual labels:  gis, geospatial, geojson
GMT.jl
Generic Mapping Tools Library Wrapper for Julia
Stars: ✭ 148 (-67.54%)
Mutual labels:  geo, geospatial, gis
Geoswift
The Swift Geometry Engine.
Stars: ✭ 1,267 (+177.85%)
Mutual labels:  geospatial, geojson, geo
Proj4.jl
Julia wrapper for the PROJ cartographic projections library
Stars: ✭ 23 (-94.96%)
Mutual labels:  gis, geospatial, geo
Blendergis
Blender addons to make the bridge between Blender and geographic data
Stars: ✭ 4,642 (+917.98%)
Mutual labels:  3d, gis, geospatial
go-kml
Package kml provides convenience methods for creating and writing KML documents.
Stars: ✭ 67 (-85.31%)
Mutual labels:  encoding, geospatial, gis

go-geom

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.

Examples

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

License

BSD-2-Clause

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].