view cmd/wfs/main.go @ 2715:8d96b9254465

client: waterlevel diagram: fixed console error when hovering the chart where no data is available
author Markus Kottlaender <markus@intevation.de>
date Mon, 18 Mar 2019 18:14:24 +0100
parents 3956de9b6b32
children 2b6f73c30016
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 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")
	)
	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(dl, feature.DefaultCRS)
	}
}