Mercurial > gemma
view pkg/wfs/rawfeaturecollection.go @ 3795:b330e014c655 yworks-svg2pdf
merge from default
author | Bernhard Reiter <bernhard@intevation.de> |
---|---|
date | Thu, 04 Jul 2019 08:33:12 +0200 |
parents | 6caf5cd6249e |
children |
line wrap: on
line source
// This is Free Software under GNU Affero General Public License v >= 3.0 // without warranty, see README.md and license for details. // // SPDX-License-Identifier: AGPL-3.0-or-later // License-Filename: LICENSES/AGPL-3.0.txt // // Copyright (C) 2018 by via donau // – Österreichische Wasserstraßen-Gesellschaft mbH // Software engineering by Intevation GmbH // // Author(s): // * Sascha L. Teichmann <sascha.teichmann@intevation.de> package wfs import ( "encoding/json" "io" ) // RawFeatureCollection is a template for a feature collection // returned by a WFS server. type RawFeatureCollection struct { CRS *struct { Properties struct { Name string `json:"name"` } `json:"properties"` } `json:"crs"` Features []*struct { Geometry struct { Coordinates *json.RawMessage `json:"coordinates"` Type string `json:"type"` } `json:"geometry"` Properties *json.RawMessage `json:"properties"` } `json:"features"` } // ParseRawFeatureCollection turns a io.Reader into raw feature collection. func ParseRawFeatureCollection(r io.Reader) (*RawFeatureCollection, error) { rfc := new(RawFeatureCollection) if err := json.NewDecoder(r).Decode(rfc); err != nil { return nil, err } return rfc, nil }