{"repo":"twpayne/go-geom","free":true,"listed":false,"github":"https://github.com/twpayne/go-geom","clone":"git clone https://github.com/twpayne/go-geom.git","description":"Package geom implements efficient geometry types for geospatial applications.","language":"Go","stars":971,"topics":["go","wkb","encoding","geom","wkt","geometry-functions","geojson","kml","decoding","ewkb"],"license":"BSD-2-Clause","category":"databases-storage","readme_excerpt":"go-geom 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 PostGIS, EWKB, and GeoJSON. Detailed features Geometry types Point LineString Polygon MultiPoint MultiLineString MultiPolygon GeometryCollection Encoding and decoding GeoJSON IGC KML (encoding only) WKB EWKB WKT (encoding only) WKB Hex EWKB Hex 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 ","default_branch":null,"files":null,"tree":[],"storefront":"/r/twpayne","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/twpayne/go-geom/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}