wmts100

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 25, 2025 License: MIT Imports: 7 Imported by: 1

Documentation

Index

Constants

View Source
const (
	Service = `WMTS`
	Version = `1.0.0`
)
View Source
const (
	SERVICE = `SERVICE`
	REQUEST = `REQUEST`
	VERSION = `VERSION`
)

WMTS 1.0.0 Tokens

Variables

This section is empty.

Functions

func TileOutOfRange added in v0.2.4

func TileOutOfRange() wsc110.Exception

TileOutOfRange exception

Types

type Contents

type Contents struct {
	Layer         []Layer         `xml:"Layer" yaml:"layer"`
	TileMatrixSet []TileMatrixSet `xml:"TileMatrixSet" yaml:"tileMatrixSet"`
}

Contents struct for the WMTS 1.0.0

func (Contents) GetTilematrixsets

func (c Contents) GetTilematrixsets() map[string]bool

GetTilematrixsets helper function for collecting the provided TileMatrixSets, so th base can be cleanup for unused TileMatrixSets

func (*Contents) ParseXML

func (c *Contents) ParseXML(doc []byte) error

ParseXML func

func (*Contents) ParseYAML

func (c *Contents) ParseYAML(doc []byte) error

ParseYAML func

type GetCapabilitiesRequest

type GetCapabilitiesRequest struct {
	XMLName xml.Name           `xml:"GetCapabilities" yaml:"getCapabilities"`
	Service string             `xml:"service,attr" yaml:"service"`
	Version string             `xml:"version,attr" yaml:"version"`
	Attr    utils.XMLAttribute `xml:",attr" yaml:"attr"`
}

GetCapabilitiesRequest struct with the needed parameters/attributes needed for making a GetCapabilities request

func (*GetCapabilitiesRequest) ParseQueryParameters added in v0.2.2

func (gc *GetCapabilitiesRequest) ParseQueryParameters(query url.Values) wsc110.Exceptions

ParseQueryParameters builds a GetCapabilities object based on the available query parameters

func (*GetCapabilitiesRequest) ParseXML

func (gc *GetCapabilitiesRequest) ParseXML(body []byte) wsc110.Exceptions

ParseXML builds a GetCapabilities object based on a XML document

func (GetCapabilitiesRequest) ToQueryParameters added in v0.2.2

func (gc GetCapabilitiesRequest) ToQueryParameters() url.Values

ToQueryParameters builds a new query string that will be proxied

func (GetCapabilitiesRequest) ToXML added in v0.2.2

func (gc GetCapabilitiesRequest) ToXML() []byte

ToXML builds a 'new' XML document 'based' on the 'original' XML document

type GetCapabilitiesResponse

type GetCapabilitiesResponse struct {
	XMLName               xml.Name `xml:"Capabilities" yaml:"capabilities"`
	Namespaces            `yaml:"namespaces"`
	ServiceIdentification ServiceIdentification   `xml:"ows:ServiceIdentification" yaml:"serviceIdentification"`
	ServiceProvider       *wsc110.ServiceProvider `xml:"ows:ServiceProvider,omitempty" yaml:"serviceProvider"`
	OperationsMetadata    *OperationsMetadata     `xml:"ows:OperationsMetadata,omitempty" yaml:"operationsMetadata"`
	Contents              Contents                `xml:"Contents" yaml:"contents"`
	ServiceMetadataURL    *ServiceMetadataURL     `xml:"ServiceMetadataURL,omitempty" yaml:"serviceMetadataUrl"`
}

GetCapabilitiesResponse base struct

func (GetCapabilitiesResponse) Service

func (gc GetCapabilitiesResponse) Service() string

Service function needed for the interface

func (GetCapabilitiesResponse) ToXML added in v0.2.2

func (gc GetCapabilitiesResponse) ToXML() []byte

ToXML builds a GetCapabilities response object

func (GetCapabilitiesResponse) Type

func (gc GetCapabilitiesResponse) Type() string

Type function needed for the interface

func (GetCapabilitiesResponse) Validate

Validate function of the wfs200 spec

func (GetCapabilitiesResponse) Version

func (gc GetCapabilitiesResponse) Version() string

Version function needed for the interface

type Layer

type Layer struct {
	Title             string                  `xml:"ows:Title" yaml:"title"`
	Abstract          string                  `xml:"ows:Abstract" yaml:"abstract"`
	WGS84BoundingBox  wsc110.WGS84BoundingBox `xml:"ows:WGS84BoundingBox" yaml:"wgs84BoundingBox"`
	Identifier        string                  `xml:"ows:Identifier" yaml:"identifier"`
	Metadata          *Metadata               `xml:"ows:Metadata,omitempty" yaml:"metadata"`
	Style             []Style                 `xml:"Style" yaml:"style"`
	Format            []string                `xml:"Format" yaml:"format"`
	InfoFormat        []string                `xml:"InfoFormat" yaml:"infoFormat"`
	TileMatrixSetLink []TileMatrixSetLink     `xml:"TileMatrixSetLink" yaml:"tileMatrixSetLink"`
	ResourceURL       []ResourceURL           `xml:"ResourceURL" yaml:"resourceUrl"`
}

Layer in struct for repeatability

type LegendURL

type LegendURL struct {
	Format string `xml:"format,attr,omitempty" yaml:"format,omitempty"`
	Href   string `xml:"xlink:href,attr,omitempty" yaml:"href,omitempty"`
}

LegendURL in struct for optionality

type Metadata

type Metadata struct {
	Href string `xml:"xlink:href,attr,omitempty" yaml:"href"`
}

Metadata in struct for repeatability

type Method added in v0.2.8

type Method struct {
	Type       string `xml:"xlink:type,attr" yaml:"type"`
	Href       string `xml:"xlink:href,attr" yaml:"href"`
	Constraint []struct {
		Name          string `xml:"name,attr" yaml:"name"`
		AllowedValues struct {
			Value []string `xml:"ows:Value" yaml:"value"`
		} `xml:"ows:AllowedValues" yaml:"allowedValues"`
	} `xml:"ows:Constraint" yaml:"constraint"`
}

Method in separated struct so to use it as a Pointer

type Namespaces

type Namespaces struct {
	Xmlns          string `xml:"xmlns,attr" yaml:"xmlns"`       //http://www.opengis.net/wmts/1.0
	XmlnsOws       string `xml:"xmlns:ows,attr" yaml:"common"`  //http://www.opengis.net/ows/1.1
	XmlnsXlink     string `xml:"xmlns:xlink,attr" yaml:"xlink"` //http://www.w3.org/1999/xlink
	XmlnsXSI       string `xml:"xmlns:xsi,attr" yaml:"xsi"`     //http://www.w3.org/2001/XMLSchema-instance
	XmlnsGml       string `xml:"xmlns:gml,attr" yaml:"gml"`     //http://www.opengis.net/gml
	Version        string `xml:"version,attr" yaml:"version"`
	SchemaLocation string `xml:"xsi:schemaLocation,attr" yaml:"schemaLocation"`
}

Namespaces struct containing the namespaces needed for the XML document

type Operation added in v0.2.8

type Operation struct {
	Name string `xml:"name,attr" yaml:"name"`
	DCP  struct {
		HTTP struct {
			Get  *Method `xml:"ows:Get,omitempty" yaml:"get,omitempty"`
			Post *Method `xml:"ows:Post,omitempty" yaml:"post,omitempty"`
		} `xml:"ows:HTTP" yaml:"http"`
	} `xml:"ows:DCP" yaml:"dcp"`
	Parameter []struct {
		Name          string `xml:"name,attr" yaml:"name"`
		AllowedValues struct {
			Value []string `xml:"ows:Value" yaml:"value"`
		} `xml:"ows:AllowedValues" yaml:"allowedValues"`
	} `xml:"ows:Parameter" yaml:"parameter"`
	Constraints []struct {
		Name         string `xml:"name,attr" yaml:"name"`
		NoValues     string `xml:"ows:NoValues" yaml:"noValues"`
		DefaultValue string `xml:"ows:DefaultValue" yaml:"defaultValue"`
	} `xml:"ows:Constraint" yaml:"constraint"`
}

Operation struct for the WFS 2.0.0

type OperationsMetadata added in v0.2.8

type OperationsMetadata struct {
	XMLName   xml.Name    `xml:"ows:OperationsMetadata" yaml:"operationsMetadata"`
	Operation []Operation `xml:"ows:Operation" yaml:"operation"`
}

type ResourceURL added in v0.2.8

type ResourceURL struct {
	Format       string `xml:"format,attr" yaml:"format"`
	ResourceType string `xml:"resourceType,attr" yaml:"resourceType"`
	Template     string `xml:"template,attr" yaml:"template"`
}

type ServiceIdentification

type ServiceIdentification struct {
	Title              string           `xml:"ows:Title" yaml:"title"`
	Abstract           string           `xml:"ows:Abstract" yaml:"abstract"`
	Keywords           *wsc110.Keywords `xml:"ows:Keywords,omitempty" yaml:"keywords"`
	ServiceType        string           `xml:"ows:ServiceType" yaml:"serviceType"`
	ServiceTypeVersion string           `xml:"ows:ServiceTypeVersion" yaml:"serviceTypeVersion"`
	Fees               string           `xml:"ows:Fees" yaml:"fees"`
	AccessConstraints  string           `xml:"ows:AccessConstraints" yaml:"accessConstraints"`
}

ServiceIdentification struct should only be fill by the "template" configuration wmts100.yaml

type ServiceMetadataURL

type ServiceMetadataURL struct {
	Href string `xml:"xlink:href,attr" yaml:"href"`
}

ServiceMetadataURL in struct for repeatability

type Style

type Style struct {
	Title      *string          `xml:"ows:Title,omitempty" yaml:"title"`
	Abstract   *string          `xml:"ows:Abstract,omitempty" yaml:"abstract"`
	Keywords   *wsc110.Keywords `xml:"Keywords,omitempty" yaml:"keywords"`
	Identifier string           `xml:"ows:Identifier" yaml:"identifier"`
	LegendURL  []*LegendURL     `xml:"LegendURL,omitempty" yaml:"legendUrl"`
	IsDefault  *bool            `xml:"isDefault,attr,omitempty" yaml:"isDefault"`
}

Style in struct for repeatability

type TileMatrix

type TileMatrix struct {
	Identifier       string `xml:"ows:Identifier" yaml:"identifier"`
	ScaleDenominator string `xml:"ScaleDenominator" yaml:"scaleDenominator"`
	TopLeftCorner    string `xml:"TopLeftCorner" yaml:"topLeftCorner"`
	TileWidth        string `xml:"TileWidth" yaml:"tileWidth"`
	TileHeight       string `xml:"TileHeight" yaml:"tileHeight"`
	MatrixWidth      string `xml:"MatrixWidth" yaml:"matrixWidth"`
	MatrixHeight     string `xml:"MatrixHeight" yaml:"matrixHeight"`
}

TileMatrix in struct for repeatability

type TileMatrixSet

type TileMatrixSet struct {
	Identifier   string       `xml:"ows:Identifier" yaml:"identifier"`
	SupportedCRS string       `xml:"ows:SupportedCRS" yaml:"supportedCrs"`
	TileMatrix   []TileMatrix `xml:"TileMatrix" yaml:"tileMatrix"`
}

TileMatrixSet in struct for repeatability

type TileMatrixSetLink struct {
	TileMatrixSet string `xml:"TileMatrixSet" yaml:"tileMatrixSet"`
}

TileMatrixSetLink in struct for repeatability

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL