Mercurial > gemma
view pkg/wfs/rawfeaturecollection.go @ 3488:aa264021e2bf zpg-ldc
merged default into zpg-ldc branch.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 27 May 2019 16:38:07 +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 }