diff --git a/geom/geojson/geojson.go b/geom/geojson/geojson.go index 9a57911..f02f14a 100644 --- a/geom/geojson/geojson.go +++ b/geom/geojson/geojson.go @@ -163,45 +163,6 @@ func constructPolygons(obj *object) ([]polygon, error) { } } -type GeoJson struct { - object object -} - -func NewGeoJson(r io.Reader) (*GeoJson, error) { - result := &GeoJson{} - - decoder := json.NewDecoder(r) - - err := decoder.Decode(&result.object) - if err != nil { - return nil, err - } - - return result, nil -} - -func (gj *GeoJson) Geoms() ([]*geos.Geom, error) { - - polygons, err := constructPolygons(&gj.object) - if err != nil { - return nil, err - } - - g := geos.NewGeos() - defer g.Finish() - result := []*geos.Geom{} - - for _, p := range polygons { - geom, err := geosPolygon(g, p) - if err != nil { - return nil, err - } - result = append(result, geom) - - } - return result, err -} - func geosRing(g *geos.Geos, ls lineString) (*geos.Geom, error) { coordSeq, err := g.CreateCoordSeq(uint32(len(ls)), 2) if err != nil { diff --git a/geom/limit/limit.go b/geom/limit/limit.go index 316d643..a6176ee 100644 --- a/geom/limit/limit.go +++ b/geom/limit/limit.go @@ -140,11 +140,7 @@ func NewFromGeoJsonWithBuffered(source string, buffer float64) (*Limiter, error) } defer f.Close() - gj, err := geojson.NewGeoJson(f) - if err != nil { - return nil, err - } - geoms, err := gj.Geoms() + geoms, err := geojson.ParseGeoJson(f) if err != nil { return nil, err }