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} }