我们的组织spatial-go正式成立,这是我们的第一个开源项目Geoos,Geoos提供有关空间数据和几何算法,使用Go语言包装实现。
欢迎大家使用并提出宝贵意见!

内容列表

安装

项目依赖 GEOS(GEOS 是 JTS 的C++版本实现) ,需要首先完成GEOS的安装。GEOS安装方法如下:

1、OS X系统安装(brew 方式)

$ brew install geos

2、Ubuntu

$ apt-get install libgeos-dev

3、源码安装

$ wget http://download.osgeo.org/geos/geos-3.9.0.tar.bz2
$ tar xvfj geos-3.9.0.tar.bz2
$ cd geos-3.9.0
$ ./configure
$ make
$ sudo make install

目录结构

  1. geo 包下是对GEOS C库的引用和调用,以此来实现空间运算。
  2. algorithm 是对外暴露的空间运算方法定义。
  3. strategy.go 定义了空间运算底层算法的选择实现。

使用说明

以计算面积Area为例。

package main

import (
	"fmt"
	"github.com/spatial-go/geoos"
)

func main() {
	// First, choose the default algorithm.
	strategy := geoos.NormalStrategy()
	// Secondly, manufacturing test data and convert it to geometry
	const wkt = `POLYGON((-1 -1, 1 -1, 1 1, -1 1, -1 -1))`
	geometry, _ := geoos.UnmarshalString(wkt)
	// 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
}

维护者

@spatial-go

如何贡献

感谢 OSGeo,我们也将秉承“开放、共创、共赢”的目标理念在空间计算领域贡献自己的一份力量。

非常欢迎你的加入!提一个 Issue

联系邮箱: geoos@changjing.ai

使用许可

LGPL-2.1