All Projects → spatial-go → geoos

spatial-go / geoos

Licence: LGPL-2.1 License
A library provides spatial data and geometric algorithms

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to geoos

tidyUSDA
An interface to USDA Quick Stats data with mapping capabilities.
Stars: ✭ 36 (-92.86%)
Mutual labels:  geospatial, gis
GeoJSON.jl
Utilities for working with GeoJSON data in Julia
Stars: ✭ 46 (-90.87%)
Mutual labels:  geospatial, gis
turf-go
A Go language port of Turf.js
Stars: ✭ 41 (-91.87%)
Mutual labels:  geospatial, gis
pyturf
A modular geospatial engine written in python
Stars: ✭ 15 (-97.02%)
Mutual labels:  geospatial, gis
pygeoif
Basic implementation of the __geo_interface__
Stars: ✭ 44 (-91.27%)
Mutual labels:  geospatial, gis
kart
Distributed version-control for geospatial and tabular data
Stars: ✭ 253 (-49.8%)
Mutual labels:  geospatial, gis
opentopodata
Open alternative to the Google Elevation API!
Stars: ✭ 163 (-67.66%)
Mutual labels:  geospatial, gis
eodag
Earth Observation Data Access Gateway
Stars: ✭ 183 (-63.69%)
Mutual labels:  geospatial, gis
lonlat bng
A multithreaded Rust library with FFI for converting WGS84 longitude and latitude coordinates into BNG (OSGB36) Eastings and Northings and vice versa (using OSTN15)
Stars: ✭ 20 (-96.03%)
Mutual labels:  geospatial, gis
earthengine-py-examples
A collection of 300+ examples for using Earth Engine and the geemap Python package
Stars: ✭ 76 (-84.92%)
Mutual labels:  geospatial, gis
python-for-gis-progression-path
Progression path for a GIS analyst who wants to become proficient in using Python for GIS: from apprentice to guru
Stars: ✭ 98 (-80.56%)
Mutual labels:  geospatial, gis
carto-spatial-extension
A set of UDFs and Procedures to extend BigQuery, Snowflake, Redshift and Postgres with Spatial Analytics capabilities
Stars: ✭ 131 (-74.01%)
Mutual labels:  geospatial, gis
geoscript-py
A Python GeoScript Implementation
Stars: ✭ 52 (-89.68%)
Mutual labels:  geospatial, gis
echomap
Preview map files in the terminal
Stars: ✭ 12 (-97.62%)
Mutual labels:  geospatial, gis
whiteboxgui
An interactive GUI for WhiteboxTools in a Jupyter-based environment
Stars: ✭ 94 (-81.35%)
Mutual labels:  geospatial, gis
go-kml
Package kml provides convenience methods for creating and writing KML documents.
Stars: ✭ 67 (-86.71%)
Mutual labels:  geospatial, gis
georaster-layer-for-leaflet
Display GeoTIFFs and soon other types of raster on your Leaflet Map
Stars: ✭ 168 (-66.67%)
Mutual labels:  geospatial, gis
leafmap
A Python package for interactive mapping and geospatial analysis with minimal coding in a Jupyter environment
Stars: ✭ 1,299 (+157.74%)
Mutual labels:  geospatial, gis
mapmint
Fast and easy webmapping.
Stars: ✭ 51 (-89.88%)
Mutual labels:  geospatial, gis
rafagas
Daily geospatial links curated by Raf Roset
Stars: ✭ 17 (-96.63%)
Mutual labels:  geospatial, gis

Geoos

Our organization spatial-go is officially established! The first open source project Geoos(Using Golang) provides spatial data and geometric algorithms. All comments and suggestions are welcome!

Guides

http://www.spatial-go.com

Contents

Structure

  1. Algorithm is the definition of spatial operation, which is outside exposing.
  2. strategy.go defines the implementation of the spatial computing based algorithm.

Documentation

How to use Geoos: Example: Calculating area via Geoos

package main

import (
  "encoding/json"
  "fmt"
  "github.com/spatial-go/geoos"
  "github.com/spatial-go/geoos/encoding/wkt"
  "github.com/spatial-go/geoos/geojson"
  "github.com/spatial-go/geoos/planar"
)

func main() {
  // First, choose the default algorithm.
  strategy := planar.NormalStrategy()
  // Secondly, manufacturing test data and convert it to geometry
  const polygon = `POLYGON((-1 -1, 1 -1, 1 1, -1 1, -1 -1))`
  geometry, _ := wkt.UnmarshalString(polygon)
  // Last, call the Area () method and get result.
  area, e := strategy.Area(geometry)
  if e != nil {
    fmt.Printf(e.Error())
  }
  fmt.Printf("%f", area)
  // get result 4.0

  rawJSON := []byte(`
  { "type": "FeatureCollection",
  "features": [
    { "type": "Feature",
    "geometry": {"type": "Point", "coordinates": [102.0, 0.5]},
    "properties": {"prop0": "value0"}
    }
  ]
  }`)

  fc := geojson.NewFeatureCollection()
  _ = json.Unmarshal(rawJSON, &fc)
  println("%p", fc)

  // Geometry will be unmarshalled into the correct geo.Geometry type.
  point := fc.Features[0].Geometry.(geoos.Point)
  println("%p", &point)

}

Maintainer

@spatial-go

Contributing

We will also uphold the concept of "openness, co-creation, and win-win" to contribute in the field of space computing.

Welcome to join us !please report an issue

Email Address: [email protected]

License

Geoos is licensed under the: LGPL-2.1

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].