Mercurial > gemma
view cmd/wfs/main.go @ 5566:f1fb8c4f6587 v5.5.1
Release 5.5.1
author | Sascha Wilde <wilde@sha-bang.de> |
---|---|
date | Mon, 07 Mar 2022 18:39:35 +0100 |
parents | 349e409fbbb1 |
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> // Command wfs is an diagnostic tool for manually downloading WFS data. package main import ( "flag" "log" "gemma.intevation.de/gemma/pkg/wfs" ) func check(err error) { if err != nil { log.Fatalf("error: %v\n", err) } } func main() { var ( dumpCaps = flag.Bool("dump-caps", false, "Dump capabilities document") featureType = flag.String("features", "", "feature to get") sortBy = flag.String("sortby", "", "Sort features by this property") user = flag.String("user", "", "user name") password = flag.String("password", "", "user password") ) flag.Parse() for _, arg := range flag.Args() { caps, err := wfs.GetCapabilities(arg) check(err) if *dumpCaps { dump(caps) } if *featureType == "" { continue } feature := caps.FindFeatureType(*featureType) if feature == nil { log.Fatalf("Unknown feature type '%s'\n", *featureType) } dl, err := wfs.GetFeatures(caps, *featureType, *sortBy) check(err) parseFeatures(*user, *password, dl, feature.DefaultCRS) } }