示例#1
0
func s2PolygonToGeometry(poly s2.Polygon) *geojson.Polygon {
	// Don't want nil rings for coordinates.
	rings := [][]geojson.Coordinate{}
	for i := 0; i < poly.NumLoops(); i++ {
		loop := poly.Loop(i)
		var ring []geojson.Coordinate
		for j := 0; j <= loop.NumVertices(); j++ {
			ll := s2.LatLngFromPoint(*loop.Vertex(j))
			ring = append(ring, geojson.Coordinate{ll.Lng.Degrees(), ll.Lat.Degrees()})
		}
		rings = append(rings, ring)
	}
	return &geojson.Polygon{Typ: "Polygon", Coordinates: rings}
}