dawa

package module
v0.0.0-...-e7d6c94 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2019 License: MIT Imports: 15 Imported by: 0

README

dawa

Golang implementation of DAWA AWS Suite 4 (Danish Address Info)

The dawa package can be used to de-serialize structures received from "Danmarks Adressers Web API (DAWA)" (Addresses of Denmark Web API).

  • This package allows to de-serialize JSON responses from the web api into typed structs.
  • The package also allows importing JSON or CSV downloads from the official web page.
  • The package helps you build queries against the official web api.

See the /examples folder for more information.

Package home: https://github.com/klauspost/dawa

Information about the format and download/API options, see http://dawa.aws.dk/

Installation

go get github.com/klauspost/dawa/...

This will also install the only dependecy "go-codec": https://github.com/ugorji/go which is used to decode JSON streams more efficiently than the standard golang libraries.

To use the library in your own code, simply add import "github.com/klauspost/dawa" to your imports.

Documentation

Godoc Build Status

Usage

Note that these examples ignore error values. You should of course never do that. For complete examples with error checking, see the /examples folder.

The library supplies all known data structures, which means that it can decode responses from the Web API:

	// Get a single address from Web API
	resp, _ := http.Get("http://dawa.aws.dk/adresser/0a3f509d-07be-32b8-e044-0003ba298018")

	// Read the response into r
	r, _ := ioutil.ReadAll(resp.Body)

	// Create destination struct and decode the response
	addresse := dawa.Adresse{}
	_ = json.Unmarshal(r, &add)

The library also supplies streaming decoders for an array of responses:

	// Get an array of addresses
	resp, _ := http.Get("http://dawa.aws.dk/adgangsadresser?husnr=14&postnr=9000")

	// Send the response stream to a decoder
	iter, _ := dawa.ImportAdgangsAdresserJSON(resp.Body)

	// Read responses one by one
	for {
		address, err := iter.Next()
		if err == io.EOF {
			break
		}
		// 'address' now contains an 'Adgangsadresse'
	}

If you would like to have help in building queries for the web API, there are query builders for each data type. For instance to execute the query above, you can do it like this:

	// Get the matching adgangsadresser
	iter, _ := dawa.NewAdgangsAdresseQuery().Husnr("14").Postnr("9000").Iter()

	// Read responses one by one
	for {
		address, err := iter.Next()
		if err == io.EOF {
			break
		}
		// 'address' now contains an 'Adgangsadresse'
	}

To get all results in a single array is a simple oneliner:

	// Get the matching adgangsadresser
	results, _ := dawa.NewAdgangsAdresseQuery().Husnr("14").Postnr("9000").All()

The same API is used to decode content from files downloaded from http://download.aws.dk/

	// Open file
	file, _ := os.Open("adgangsadresser.json")

	// Send the file stream to the decoder
	iter, _ := dawa.ImportAdgangsAdresserJSON(file)

	// Read responses one by one
	for {
		address, err := iter.Next()
		if err == io.EOF {
			break
		}
		// 'address' now contains an 'Adgangsadresse'
	}

For 'Adgangsadresser' and 'Adresser' also gives the option to decode from CSV files instead of JSON. Note however, that not all information is present in the CSV files, so not all fields will be filled.

The API is similar to the JSON API:

	// Open file
	file, _ := os.Open("adgangsadresser.csv")

	// Send the file stream to the decoder
	iter, _ := dawa.ImportAdgangsAdresserCSV(file)

	// Read responses one by one
	for {
		address, err := iter.Next()
		if err == io.EOF {
			break
		}
		// 'address' now contains an 'Adgangsadresse'
	}

Queries

There is a search API to assist you in building queries for the DAWA Web API.

All data types are supported for queries. There are detailed query builders for "adresser", "adgangsadresser" and "postnumre". For the remaining types there is a generic "ListQuery" query builder, which also supports reverse geolocation lookups.

You can use a dawa.NewAdresseQuery() to start a new query. Parameters can be appended to the query, by simply calling the matching functions. For example to get Danmarksgade in Aalborg, use a query like this query := dawa.NewAdresseQuery().Vejnavn("Danmarksgade").Postnr("9000").

If you want the URL for a query, you can call the .URL() function, but you can also request all results by calling .All(), get an iterator for the results with .Iter(), or just get the first result with .First()

To send multiple query values of the same type, you should specify them in the same function call, so if you are looking for "postnr" with values 6400 and 6500 you can use the query q := dawa.NewAdresseQuery().Postnr("6400", "6500"). For values that support this, you can signify a query for an empty value, by simply not sending any parameters, for example q := dawa.NewAdresseQuery().Etage() will search for values where 'etage' is unset.

Query Examples

Get a single item:

// Search for "Rødkildevej 46"
item, err := dawa.NewAdgangsAdresseQuery().Vejnavn("Rødkildevej").Husnr("46").First()

// If io.EOF, there were no results.
if err == io.EOF {
	fmt.Printf("No results")
} else if err != nil {
	// There was another error
	fmt.Printf("Error:%s", err.Error())
} else {
	// We got a result
	fmt.Printf("Got item:%+v\n", item)
}

Query where a parameter can have multiple values.

// Search for "Rødkildevej 44,45 and 46"
item, err := dawa.NewAdgangsAdresseQuery().Vejnavn("Rødkildevej").Husnr("44", "45", "46").All()

fmt.Printf("Got item:%+v\n", item)

Get all results from a query:

	iter, err := dawa.NewAdresseQuery().Vejnavn("Rødkildevej").Husnr("46").Iter()
	if err != nil {
		panic(err)
	}

	for {
		a, err := iter.Next()
		if err == io.EOF {
			iter.Close()
			break  // we are finished
		}
		if err != nil {
			panic(err)
		}
		fmt.Printf("%+v\n", a)
	}

You can get the results as GeoJSON by using the GeoJSON function on any query:

geoj, err := dawa.NewAdgangsAdresseQuery().Vejnavn("Rødkildevej").Husnr("44").GeoJSON()
fmt.Printf("Got location:%+v\n", geoj)

See examples/query-adresse-geojson.go on how to parse the result.

You can do reverse geocoding lookups by using the generic NewReverseQuery function, like this:

	// Ask for adgangsadresse at 12.5851471984198 y=55.6832383751223
	iter, _ := dawa.NewReverseQuery("adgangsadresser", 12.5851471984198, 55.6832383751223, "")

	// Close the iterator when done.
	defer iter.Close()

	// Iterate the results. (We should get only one, though)
	for {
		// The iter.NextXXXXX() type must match the type in NewReverseQuery().
		item, _ := iter.NextAdgangsAdresse()
		fmt.Printf("Result:\n%#v\n", item)
	}

For a complete example with error checking, see examples/query-list-reverse.go

License

This code is published under an MIT license. See LICENSE file for more information.

Documentation

Overview

The dawa package can be used to de-serialize structures received from "Danmarks Adressers Web API (DAWA)" (Addresses of Denmark Web API).

This package allows to de-serialize JSON responses from the web api into typed structs. The package also allows importing JSON or CSV downloads from the official web page. See the /examples folder for more information.

Package home: https://github.com/klauspost/dawa

Information abou the format and download/API options, see http://dawa.aws.dk/

Description text in Danish:

Danmarks Adressers Web API (DAWA) udstiller data og funktionalitet vedrørende Danmarks adresser, adgangsadresser, vejnavne samt postnumre. DAWA anvendes til etablering af adressefunktionalitet i it-systemer. Målgruppen for nærværende website er udviklere, som ønsker at indbygge adressefunktionalitet i deres it-systemer.

Index

Constants

This section is empty.

Variables

View Source
var DefaultHost = "http://dawa.aws.dk"

DefaultHost is the default host used for queries.

View Source
var JSONStrictFieldCheck = false

modify JSONStrictFieldCheck to return an error on unknown fields on JSON import. If true, return an error if a map in the stream has a key which does not map to any field; else read and discard the key and value in the stream and proceed to the next.

Functions

This section is empty.

Types

type AdgangsAdresse

type AdgangsAdresse struct {
	DDKN              DDKN                `json:"DDKN"`              // Adressens placering i Det Danske Kvadratnet (DDKN).
	Adgangspunkt      Adgangspunkt        `json:"adgangspunkt"`      // Geografisk punkt, som angiver særskilt adgang fra navngiven vej ind på et areal eller bygning.
	Ejerlav           Ejerlav             `json:"ejerlav"`           // Det matrikulære ejerlav som adressen ligger i.
	EsrEjendomsNr     string              `json:"esrejendomsnr"`     // ESR Ejendomsnummer. Indtil 7 cifre.
	Historik          Historik            `json:"historik"`          // Væsentlige tidspunkter for adgangsadressen
	Etage             string              `json:"etage"`             // etage
	Door              string              `json:"dør"`               // dør
	Href              string              `json:"href"`              // Adgangsadressens URL.
	Husnr             string              `json:"husnr"`             // Husnummer. Max 4 cifre eventuelt med et efterfølgende bogstav.
	ID                string              `json:"id"`                // Adgangsadressens unikke id, f.eks. 0a3f5095-45ec-32b8-e044-0003ba298018
	Kommune           KommuneRef          `json:"kommune"`           // Kommunen som adressen er beliggende i.
	Kvh               string              `json:"kvh"`               // KVH-nøgle. 12 tegn bestående af 4 cifre der repræsenterer kommunekode, 4 cifre der repræsenterer vejkode efterfulgt af 4 tegn der repræsenter husnr
	Matrikelnr        string              `json:"matrikelnr"`        // Matrikelnummer. Unikt indenfor et ejerlav.
	Opstillingskreds  OpstillingskredsRef `json:"opstillingskreds"`  // Opstillingskresen som adressen er beliggende i. Beregnes udfra adgangspunktet og opstillingskredsinddelingerne fra DAGI
	Politikreds       PolitikredsRef      `json:"politikreds"`       // Politikredsen som adressen er beliggende i. Beregnes udfra adgangspunktet og politikredsinddelingerne fra DAGI
	Postnummer        PostnummerRef       `json:"postnummer"`        // Postnummeret som adressen er beliggende i.
	Region            RegionRef           `json:"region"`            // Regionen som adressen er beliggende i. Beregnes udfra adgangspunktet og regionsinddelingerne fra DAGI
	Retskreds         RetskredsRef        `json:"retskreds"`         // Retskredsen som adressen er beliggende i. Beregnes udfra adgangspunktet og retskredsinddelingerne fra DAGI
	Sogn              SognRef             `json:"sogn"`              // Sognet som adressen er beliggende i. Beregnes udfra adgangspunktet og sogneinddelingerne fra DAGI
	Status            int                 `json:"status"`            // Adressens status, som modtaget fra BBR. "1" angiver en endelig adresse og "3" angiver en foreløbig adresse". Adresser med status "2" eller "4" er ikke med i DAWA.
	SupplerendeBynavn string              `json:"supplerendebynavn"` // Et supplerende bynavn – typisk landsbyens navn – eller andet lokalt stednavn, der er fastsat af kommunen for at præcisere adressens beliggenhed indenfor postnummeret.
	Vejstykke         VejstykkeRef        `json:"vejstykke"`         // Vejstykket som adressen er knyttet til.
	Zone              string              `json:"zone"`              // Hvilken zone adressen ligger i. "Byzone", "Sommerhusområde" eller "Landzone". Beregnes udfra adgangspunktet og zoneinddelingerne fra PlansystemDK

	// Fields returned in autocomplete
	Text                string `json:"tekst"`
	Type                string `json:"type"`
	AutocompleteAddress `json:"data"`
}

En adgangsadresse er en struktureret betegnelse som angiver en særskilt adgang til et areal eller en bygning efter reglerne i adressebekendtgørelsen.

Forskellen på en adresse og en adgangsadresse er at adressen rummer eventuel etage- og/eller dørbetegnelse. Det gør adgangsadressen ikke.

func GetAAID

func GetAAID(id string) (*AdgangsAdresse, error)

GetAAID will return a single AdgangsAdresse with the specified ID. Will return (nil, io.EOF) if there is no results.

type AdgangsAdresseIter

type AdgangsAdresseIter struct {
	// contains filtered or unexported fields
}

AdgangsAdresse is an Iterator that enable you to get individual entries.

func ImportAdgangsAdresserCSV

func ImportAdgangsAdresserCSV(in io.Reader) (*AdgangsAdresseIter, error)

ImportAdresserCSV will import "adresser" from a CSV file, supplied to the reader. An iterator will be returned that return all addresses.

func ImportAdgangsAdresserJSON

func ImportAdgangsAdresserJSON(in io.Reader) (*AdgangsAdresseIter, error)

ImportAdgangsAdresserJSON will import "adgangsadresser" from a JSON input, supplied to the reader. An iterator will be returned that return all items.

func (*AdgangsAdresseIter) AddCloser

func (c *AdgangsAdresseIter) AddCloser(a io.Closer)

func (*AdgangsAdresseIter) Close

func (c *AdgangsAdresseIter) Close() error

Call this when you are finished using the object

func (*AdgangsAdresseIter) Next

func (a *AdgangsAdresseIter) Next() (*AdgangsAdresse, error)

Next will return addresses. It will return an error if that has been encountered. When there are not more entries nil, io.EOF will be returned.

type AdgangsAdresseQuery

type AdgangsAdresseQuery struct {
	// contains filtered or unexported fields
}

AdgangsAdresseQuery is a new query for 'adgangsadresser' objects for searching DAWA. Use NewAdgangsAdresseQuery() or NewAdgangsAdresseComplete() to get an initialized object. Example:

// Search for "Rødkildevej 46"
item, err := dawa.NewAdgangsAdresseQuery().Vejnavn("Rødkildevej").Husnr("46").First()

// If err is nil, we go a result
if err == nil {
	fmt.Printf("Got item:%+v\n", item)
}

func NewAdgangsAdresseComplete

func NewAdgangsAdresseComplete() *AdgangsAdresseQuery

NewAdgangsAdresseQuery returns a new query for 'adgangsadresser' objects for searching DAWA with autocomplete.

See documentation at http://dawa.aws.dk/adgangsadressedok#adresseautocomplete

func NewAdgangsAdresseQuery

func NewAdgangsAdresseQuery() *AdgangsAdresseQuery

NewAdgangsAdresseQuery returns a new query for 'adgangsadresser objects for searching DAWA.

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (AdgangsAdresseQuery) All

All returns all results as an array.

func (*AdgangsAdresseQuery) Cirkel

Cirkel will add a parameter for 'cirkel' to the AdgangsAdresseQuery.

Find de adresser, som ligger indenfor den cirkel angivet af koordinatet (x,y) og radius r. Som koordinatsystem kan anvendes (ETRS89/UTM32 eller) WGS84/geografisk. Radius angives i meter. Cirkel("{x},{y},{r}")

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Ejerlavkode

func (q *AdgangsAdresseQuery) Ejerlavkode(s ...string) *AdgangsAdresseQuery

Ejerlavkode will add a parameter for 'ejerlavkode' to the AdgangsAdresseQuery.

Koden på det matrikulære ejerlav som adressen skal ligge på. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Esrejendomsnr

func (q *AdgangsAdresseQuery) Esrejendomsnr(s ...string) *AdgangsAdresseQuery

Esrejendomsnr will add a parameter for 'esrejendomsnr' to the AdgangsAdresseQuery.

ESR Ejendomsnummer. Indtil 7 cifre. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (AdgangsAdresseQuery) First

First will return the first result from a query. Note the entire query is executed, so only use this if you expect a few results.

Will return (nil, io.EOF) if there is no results.

func (AdgangsAdresseQuery) GeoJSON

func (q AdgangsAdresseQuery) GeoJSON() (*geojson.FeatureCollection, error)

Perform the Request, and return the request result as a geojson featurecollection. If an error occurs during the request, or an error is reported this is returned. In some cases the error will be a RequestError type.

func (*AdgangsAdresseQuery) Husnr

Husnr will add a parameter for 'husnr' to the AdgangsAdresseQuery.

Husnummer. Max 4 cifre eventuelt med et efterfølgende bogstav. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) ID

ID will add a parameter for 'id' to the AdgangsAdresseQuery.

AdgangsAdressens unikke id, f.eks. 0a3f5095-45ec-32b8-e044-0003ba298018. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (AdgangsAdresseQuery) Iter

Iter will return an iterator that allows you to read the results one by one.

An example:

	iter, err := dawa.NewAdgangsAdresseQuery().Vejnavn("Rødkildevej").Husnr("46").Iter()
	if err != nil {
		panic(err)
	}

	for {
		a, err := iter.Next()
		if err == io.EOF {
			iter.Close()
			break  // we are finished
		}
		if err != nil {
			panic(err)
		}
		fmt.Printf("%+v\n", a)
	}
}

func (*AdgangsAdresseQuery) Kommunekode

func (q *AdgangsAdresseQuery) Kommunekode(s ...string) *AdgangsAdresseQuery

Kommunekode will add a parameter for 'kommunekode' to the AdgangsAdresseQuery.

Kommunekoden for den kommune som adressen skal ligge på. 4 cifre. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Kvh

Kvh will add a parameter for 'kvh' to the AdgangsAdresseQuery.

KVH-nøgle. 12 tegn bestående af 4 cifre der repræsenterer kommunekode, / 4 cifre der repræsenterer vejkode efterfulgt af 4 tegn der repræsenter husnr

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Matrikelnr

func (q *AdgangsAdresseQuery) Matrikelnr(s ...string) *AdgangsAdresseQuery

Matrikelnr will add a parameter for 'matrikelnr' to the AdgangsAdresseQuery.

Matrikelnummer. Unikt indenfor et ejerlav. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) NoFormat

NoFormat will disable extra whitespace. Always enabled when querying

func (*AdgangsAdresseQuery) Opstillingskredskode

func (q *AdgangsAdresseQuery) Opstillingskredskode(s ...string) *AdgangsAdresseQuery

Opstillingskredskode will add a parameter for 'opstillingskredskode' to the AdgangsAdresseQuery.

Find de adresser som ligger indenfor opstillingskredsen angivet ved opstillingskredskoden. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) PerSide

PerSide will add a parameter for 'per_side' to the AdgangsAdresseQuery.

Antal resultater per side. Se Paginering. http://dawa.aws.dk/generelt#paginering

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Politikredskode

func (q *AdgangsAdresseQuery) Politikredskode(s ...string) *AdgangsAdresseQuery

Politikredskode will add a parameter for 'politikredskode' to the AdgangsAdresseQuery.

Find de adresser som ligger indenfor politikredsen angivet ved politikredskoden. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Polygon

Polygon will add a parameter for 'polygon' to the AdgangsAdresseQuery.

Find de adresser, som ligger indenfor det angivne polygon. Polygonet specificeres som et array af koordinater på samme måde som koordinaterne specificeres i GeoJSON's polygon. Bemærk at polygoner skal være lukkede, dvs. at første og sidste koordinat skal være identisk. Som koordinatsystem kan anvendes (ETRS89/UTM32 eller) WGS84/geografisk. Dette angives vha. srid parameteren, se ovenover. Eksempel: Polygon("[[[10.3,55.3],[10.4,55.3],[10.4,55.31],[10.4,55.31],[10.3,55.3]]]")

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Postnr

Postnr will add a parameter for 'postnr' to the AdgangsAdresseQuery.

Postnummer. 4 cifre. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Q

Q will add a parameter for 'q' to the AdgangsAdresseQuery.

Søgetekst. Der søges i vejnavn, husnr, etage, dør, supplerende bynavn, postnr og postnummerets navn. Alle ord i søgeteksten skal matche adressebetegnelsen. Wildcard * er tilladt i slutningen af hvert ord. Der skelnes ikke mellem store og små bogstaver.

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Regionskode

func (q *AdgangsAdresseQuery) Regionskode(s ...string) *AdgangsAdresseQuery

Regionskode will add a parameter for 'regionskode' to the AdgangsAdresseQuery.

Find de adresser som ligger indenfor regionen angivet ved regionkoden. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Retskredskode

func (q *AdgangsAdresseQuery) Retskredskode(s ...string) *AdgangsAdresseQuery

Retskredskode will add a parameter for 'retskredskode' to the AdgangsAdresseQuery.

Find de adresser som ligger indenfor retskredsen angivet ved retskredskoden. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Side

Side will add a parameter for 'side' to the AdgangsAdresseQuery.

Angiver hvilken siden som skal leveres. Se Paginering. http://dawa.aws.dk/generelt#paginering

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Sognekode

func (q *AdgangsAdresseQuery) Sognekode(s ...string) *AdgangsAdresseQuery

Sognekode will add a parameter for 'sognekode' to the AdgangsAdresseQuery.

Find de adresser som ligger indenfor sognet angivet ved sognkoden. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Srid

Srid will add a parameter for 'srid' to the AdgangsAdresseQuery.

Angiver SRID for det koordinatsystem, som geospatiale parametre er angivet i. Default er 4326 (WGS84).

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Status

Status will add a parameter for 'status' to the AdgangsAdresseQuery.

AdgangsAdressens status, som modtaget fra BBR. "1" angiver en endelig adresse og "3" angiver en foreløbig adresse". AdgangsAdresser med status "2" eller "4" er ikke med i DAWA.

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) SupplerendeBynavn

func (q *AdgangsAdresseQuery) SupplerendeBynavn(s ...string) *AdgangsAdresseQuery

SupplerendeBynavn will add a parameter for 'supplerendebynavn' to the AdgangsAdresseQuery.

Det supplerende bynavn. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Vejkode

Vejkode will add a parameter for 'vejkode' to the AdgangsAdresseQuery.

Vejkoden. 4 cifre. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Vejnavn

Vejnavn will add a parameter for 'vejnavn' to the AdgangsAdresseQuery.

Vejnavn. Der skelnes mellem store og små bogstaver. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (*AdgangsAdresseQuery) Zonekode

func (q *AdgangsAdresseQuery) Zonekode(s ...string) *AdgangsAdresseQuery

Zonekode will add a parameter for 'zonekode' to the AdgangsAdresseQuery.

Heltalskoden for den zone som adressen skal ligge i. Mulige værdier er 1 for byzone, 2 for sommerhusområde og 3 for landzone. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

type AdgangsAdresseRef

type AdgangsAdresseRef struct {
	Href string `json:"href"` // AdgangsAdressens unikke URL
	ID   string `json:"id"`   // Adgangsadressens unikke UUID.
}

func (AdgangsAdresseRef) Get

Get the assosiated AdgangsAdresse. Uses the ID field. Will return nil if the item cannot be retrieved.

type Adgangspunkt

type Adgangspunkt struct {
	Kilde           int       `json:"kilde"`           // Kode der angiver kilden til adressepunktet. Et tegn. ”1” = oprettet maskinelt fra teknisk kort; ”2” = Oprettet maskinelt fra af matrikelnummer tyngdepunkt; ”3” = Eksternt indberettet af konsulent på vegne af kommunen; ”4” = Eksternt indberettet af kommunes kortkontor o.l. ”5” = Oprettet af teknisk forvaltning."
	Koordinater     []float64 `json:"koordinater"`     // Adgangspunktets koordinater som array [x,y].  *sic*
	Nøjagtighed     string    `json:"nøjagtighed"`     // Kode der angiver nøjagtigheden for adressepunktet. Et tegn. ”A” betyder at adressepunktet er absolut placeret på et detaljeret grundkort, tyisk med en nøjagtighed bedre end +/- 2 meter. ”B” betyder at adressepunktet er beregnet – typisk på basis af matrikelkortet, således at adressen ligger midt på det pågældende matrikelnummer. I så fald kan nøjagtigheden være ringere en end +/- 100 meter afhængig af forholdene. ”U” betyder intet adressepunkt.
	Tekniskstandard string    `json:"tekniskstandard"` // Kode der angiver den specifikation adressepunktet skal opfylde. 2 tegn. ”TD” = 3 meter inde i bygningen ved det sted hvor indgangsdør e.l. skønnes placeret; ”TK” = Udtrykkelig TK-standard: 3 meter inde i bygning, midt for længste side mod vej; ”TN” Alm. teknisk standard: bygningstyngdepunkt eller blot i bygning; ”UF” = Uspecificeret/foreløbig: ikke nødvendigvis placeret i bygning."
	Tekstretning    float64   `json:"tekstretning"`    // Angiver en evt. retningsvinkel for adressen i ”gon” dvs. hvor hele cirklen er 400 gon og 200 er vandret. Værdier 0.00-400.00: Eksempel: ”128.34”.
	Ændret          AwsTime   `json:"ændret"`          // Dato for sidste ændring i adressepunktet, som registreret af BBR.
}

Geografisk punkt, som angiver særskilt adgang fra navngiven vej ind på et areal eller bygning.

type Adresse

type Adresse struct {
	Adgangsadresse    AdgangsAdresse `json:"adgangsadresse"`    // Adressens adgangsadresse
	Adressebetegnelse string         `json:"adressebetegnelse"` // (unknown)
	Dør               string         `json:"dør"`               // Dørbetegnelse. Tal fra 1 til 9999, små og store bogstaver samt tegnene / og -.
	Etage             string         `json:"etage"`             // Etagebetegnelse. Hvis værdi angivet kan den antage følgende værdier: tal fra 1 til 99, st, kl, kl2 op til kl9.
	Historik          Historik       `json:"historik"`          // Væsentlige tidspunkter for adressen
	Href              string         `json:"href"`              // Adgangsadressens URL.
	ID                string         `json:"id"`                // Adressens unikke id, f.eks. 0a3f5095-45ec-32b8-e044-0003ba298018.
	Kvhx              string         `json:"kvhx"`              // KVHX-nøgle. 19 tegn bestående af 4 cifre der repræsenterer kommunekode, 4 cifre der repræsenterer vejkode, 4 tegn der repræsenter husnr, 3 tegn der repræsenterer etage og 4 tegn der repræsenter dør.
	Status            int            `json:"status"`            // Adressens status. 1 indikerer en gældende adresse, 3 indikerer en foreløbig adresse.
}

func GetAdresseID

func GetAdresseID(id string) (*Adresse, error)

GetAdresseID will return a single Adresse with the specified ID. Will return (nil, io.EOF) if there is no results.

type AdresseIter

type AdresseIter struct {
	// contains filtered or unexported fields
}

AdresseIter is an Iterator that enable you to get individual entries.

func ImportAdresserCSV

func ImportAdresserCSV(in io.Reader) (*AdresseIter, error)

ImportAdresserCSV will import "adresser" from a CSV file, supplied to the reader. An iterator will be returned that return all addresses.

func ImportAdresserJSON

func ImportAdresserJSON(in io.Reader) (*AdresseIter, error)

ImportAdresserJSON will import "adresser" from a JSON input, supplied to the reader. An iterator will be returned that return all addresses.

func (*AdresseIter) AddCloser

func (c *AdresseIter) AddCloser(a io.Closer)

func (*AdresseIter) Close

func (c *AdresseIter) Close() error

Call this when you are finished using the object

func (*AdresseIter) Next

func (a *AdresseIter) Next() (*Adresse, error)

Next will return addresses. It will return an error if that has been encountered. When there are not more entries nil, io.EOF will be returned.

type AdresseQuery

type AdresseQuery struct {
	// contains filtered or unexported fields
}

AdresseQuery is a new query for 'adresse' objects for searching DAWA. Use NewAdresseQuery() or NewAdresseComplete() to get an initialized object. Example:

// Search for "Rødkildevej 46"
item, err := dawa.NewAdresseQuery().Vejnavn("Rødkildevej").Husnr("46").First()

// If err is nil, we go a result
if err == nil {
	fmt.Printf("Got item:%+v\n", item)
}

func NewAdresseComplete

func NewAdresseComplete() *AdresseQuery

NewAdresseComplete returns a new query for 'adresse' objects for searching DAWA with autocomplete.

See documentation at http://dawa.aws.dk/adressedok#adresseautocomplete

func NewAdresseQuery

func NewAdresseQuery() *AdresseQuery

NewAdresseQuery returns a new query for 'adresse objects for searching DAWA.

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) AdgangsadresseID

func (q *AdresseQuery) AdgangsadresseID(s ...string) *AdresseQuery

Adgangsadresseid will add a parameter for 'adgangsadresseid' to the AdresseQuery.

Id på den til adressen tilknyttede adgangsadresse. UUID. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (AdresseQuery) All

func (q AdresseQuery) All() ([]Adresse, error)

All returns all results as an array.

func (*AdresseQuery) Cirkel

func (q *AdresseQuery) Cirkel(s string) *AdresseQuery

Cirkel will add a parameter for 'cirkel' to the AdresseQuery.

Find de adresser, som ligger indenfor den cirkel angivet af koordinatet (x,y) og radius r. Som koordinatsystem kan anvendes (ETRS89/UTM32 eller) WGS84/geografisk. Radius angives i meter. Cirkel("{x},{y},{r}")

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Dør

func (q *AdresseQuery) Dør(s ...string) *AdresseQuery

Dør will add a parameter for 'dør' to the AdresseQuery.

Dørbetegnelse. Tal fra 1 til 9999, små og store bogstaver samt tegnene / og -. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Ejerlavkode

func (q *AdresseQuery) Ejerlavkode(s ...string) *AdresseQuery

Ejerlavkode will add a parameter for 'ejerlavkode' to the AdresseQuery.

Koden på det matrikulære ejerlav som adressen skal ligge på. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Esrejendomsnr

func (q *AdresseQuery) Esrejendomsnr(s ...string) *AdresseQuery

Esrejendomsnr will add a parameter for 'esrejendomsnr' to the AdresseQuery.

ESR Ejendomsnummer. Indtil 7 cifre. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Etage

func (q *AdresseQuery) Etage(s ...string) *AdresseQuery

Etage will add a parameter for 'etage' to the AdresseQuery.

Etagebetegnelse. Hvis værdi angivet kan den antage følgende værdier: tal fra 1 til 99, st, kl, kl2 op til kl9. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (AdresseQuery) First

func (q AdresseQuery) First() (*Adresse, error)

First will return the first result from a query. Note the entire query is executed, so only use this if you expect a few results.

Will return (nil, io.EOF) if there is no results.

func (AdresseQuery) GeoJSON

func (q AdresseQuery) GeoJSON() (*geojson.FeatureCollection, error)

Perform the Request, and return the request result as a geojson featurecollection. If an error occurs during the request, or an error is reported this is returned. In some cases the error will be a RequestError type.

func (*AdresseQuery) Husnr

func (q *AdresseQuery) Husnr(s ...string) *AdresseQuery

Husnr will add a parameter for 'husnr' to the AdresseQuery.

Husnummer. Max 4 cifre eventuelt med et efterfølgende bogstav. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) ID

func (q *AdresseQuery) ID(s ...string) *AdresseQuery

ID will add a parameter for 'id' to the AdresseQuery.

Adressens unikke id, f.eks. 0a3f5095-45ec-32b8-e044-0003ba298018. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (AdresseQuery) Iter

func (q AdresseQuery) Iter() (*AdresseIter, error)

Iter will return an iterator that allows you to read the results one by one.

An example:

	iter, err := dawa.NewAdresseQuery().Vejnavn("Rødkildevej").Husnr("46").Iter()
	if err != nil {
		panic(err)
	}

	for {
		a, err := iter.Next()
		if err == io.EOF {
			iter.Close()
			break  // we are finished
		}
		if err != nil {
			panic(err)
		}
		fmt.Printf("%+v\n", a)
	}
}

func (*AdresseQuery) Kommunekode

func (q *AdresseQuery) Kommunekode(s ...string) *AdresseQuery

Kommunekode will add a parameter for 'kommunekode' to the AdresseQuery.

Kommunekoden for den kommune som adressen skal ligge på. 4 cifre. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Kvhx

func (q *AdresseQuery) Kvhx(s string) *AdresseQuery

Kvhx will add a parameter for 'kvhx' to the AdresseQuery.

KVHX-nøgle. 19 tegn bestående af 4 cifre der repræsenterer kommunekode, 4 cifre der repræsenterer vejkode, 4 tegn der repræsenter husnr, 3 tegn der repræsenterer etage og 4 tegn der repræsenter dør

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Matrikelnr

func (q *AdresseQuery) Matrikelnr(s ...string) *AdresseQuery

Matrikelnr will add a parameter for 'matrikelnr' to the AdresseQuery.

Matrikelnummer. Unikt indenfor et ejerlav. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) NoFormat

func (q *AdresseQuery) NoFormat() *AdresseQuery

NoFormat will disable extra whitespace. Always enabled when querying

func (*AdresseQuery) Opstillingskredskode

func (q *AdresseQuery) Opstillingskredskode(s ...string) *AdresseQuery

Opstillingskredskode will add a parameter for 'opstillingskredskode' to the AdresseQuery.

Find de adresser som ligger indenfor opstillingskredsen angivet ved opstillingskredskoden. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) PerSide

func (q *AdresseQuery) PerSide(i int) *AdresseQuery

PerSide will add a parameter for 'per_side' to the AdresseQuery.

Antal resultater per side. Se Paginering. http://dawa.aws.dk/generelt#paginering

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Politikredskode

func (q *AdresseQuery) Politikredskode(s ...string) *AdresseQuery

Politikredskode will add a parameter for 'politikredskode' to the AdresseQuery.

Find de adresser som ligger indenfor politikredsen angivet ved politikredskoden. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Polygon

func (q *AdresseQuery) Polygon(s string) *AdresseQuery

Polygon will add a parameter for 'polygon' to the AdresseQuery.

Find de adresser, som ligger indenfor det angivne polygon. Polygonet specificeres som et array af koordinater på samme måde som koordinaterne specificeres i GeoJSON's polygon. Bemærk at polygoner skal være lukkede, dvs. at første og sidste koordinat skal være identisk. Som koordinatsystem kan anvendes (ETRS89/UTM32 eller) WGS84/geografisk. Dette angives vha. srid parameteren, se ovenover. Eksempel: Polygon("[[[10.3,55.3],[10.4,55.3],[10.4,55.31],[10.4,55.31],[10.3,55.3]]]")

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Postnr

func (q *AdresseQuery) Postnr(s ...string) *AdresseQuery

Postnr will add a parameter for 'postnr' to the AdresseQuery.

Postnummer. 4 cifre. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Q

func (q *AdresseQuery) Q(s string) *AdresseQuery

Q will add a parameter for 'q' to the AdresseQuery.

Søgetekst. Der søges i vejnavn, husnr, etage, dør, supplerende bynavn, postnr og postnummerets navn. Alle ord i søgeteksten skal matche adressebetegnelsen. Wildcard * er tilladt i slutningen af hvert ord. Der skelnes ikke mellem store og små bogstaver.

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Regionskode

func (q *AdresseQuery) Regionskode(s ...string) *AdresseQuery

Regionskode will add a parameter for 'regionskode' to the AdresseQuery.

Find de adresser som ligger indenfor regionen angivet ved regionkoden. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Retskredskode

func (q *AdresseQuery) Retskredskode(s ...string) *AdresseQuery

Retskredskode will add a parameter for 'retskredskode' to the AdresseQuery.

Find de adresser som ligger indenfor retskredsen angivet ved retskredskoden. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Side

func (q *AdresseQuery) Side(i int) *AdresseQuery

Side will add a parameter for 'side' to the AdresseQuery.

Angiver hvilken siden som skal leveres. Se Paginering. http://dawa.aws.dk/generelt#paginering

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Sognekode

func (q *AdresseQuery) Sognekode(s ...string) *AdresseQuery

Sognekode will add a parameter for 'sognekode' to the AdresseQuery.

Find de adresser som ligger indenfor sognet angivet ved sognkoden. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Srid

func (q *AdresseQuery) Srid(s string) *AdresseQuery

Srid will add a parameter for 'srid' to the AdresseQuery.

Angiver SRID for det koordinatsystem, som geospatiale parametre er angivet i. Default er 4326 (WGS84).

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Status

func (q *AdresseQuery) Status(i int) *AdresseQuery

Status will add a parameter for 'status' to the AdresseQuery.

Adressens status, som modtaget fra BBR. "1" angiver en endelig adresse og "3" angiver en foreløbig adresse". Adresser med status "2" eller "4" er ikke med i DAWA.

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) SupplerendeBynavn

func (q *AdresseQuery) SupplerendeBynavn(s ...string) *AdresseQuery

SupplerendeBynavn will add a parameter for 'supplerendebynavn' to the AdresseQuery.

Det supplerende bynavn. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Vejkode

func (q *AdresseQuery) Vejkode(s ...string) *AdresseQuery

Vejkode will add a parameter for 'vejkode' to the AdresseQuery.

Vejkoden. 4 cifre. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Vejnavn

func (q *AdresseQuery) Vejnavn(s ...string) *AdresseQuery

Vejnavn will add a parameter for 'vejnavn' to the AdresseQuery.

Vejnavn. Der skelnes mellem store og små bogstaver. (Flerværdisøgning mulig). Søgning efter ingen værdi mulig.

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

func (*AdresseQuery) Zonekode

func (q *AdresseQuery) Zonekode(s ...string) *AdresseQuery

Zonekode will add a parameter for 'zonekode' to the AdresseQuery.

Heltalskoden for den zone som adressen skal ligge i. Mulige værdier er 1 for byzone, 2 for sommerhusområde og 3 for landzone. (Flerværdisøgning mulig).

See documentation at http://dawa.aws.dk/adressedok#adressesoegning

type AutocompleteAddress

type AutocompleteAddress struct {
	ID         string  `json:"id"`
	Street     string  `json:"vejnavn"`
	Husnr      string  `json:"husnr"`
	PostNumber string  `json:"postnr"`
	PostName   string  `json:"postnrnavn"`
	Floor      *string `json:"etage"`
	Door       *string `json:"dør"`
}

type AwsTime

type AwsTime time.Time

Since date/time is not a standard encoded field, we must create out own type.

func MustParseTime

func MustParseTime(s string) AwsTime

MustParseTime will return the time encoding for a single field It the input must be AWS formatted encoding

func ParseTime

func ParseTime(s string) (*AwsTime, error)

ParseTime will return the time encoding for a single field It the input must be AWS formatted encoding

func (*AwsTime) GobDecode

func (t *AwsTime) GobDecode(data []byte) error

GobDecode (as time.Time)

func (AwsTime) GobEncode

func (t AwsTime) GobEncode() ([]byte, error)

GobEncode (as time.Time)

func (AwsTime) MarshalJSON

func (t AwsTime) MarshalJSON() ([]byte, error)

MarshalJSON will send it as ordinary Javascipt date

func (AwsTime) MarshalText

func (t AwsTime) MarshalText() (text []byte, err error)

func (AwsTime) Time

func (t AwsTime) Time() time.Time

Time will return the underlying time.Time object

func (*AwsTime) UnmarshalJSON

func (t *AwsTime) UnmarshalJSON(b []byte) error

UnmarshalJSON a single time field It will attempt AWS encoding, and if that fails standard UnmarshalJSON for time.Time

func (*AwsTime) UnmarshalText

func (t *AwsTime) UnmarshalText(text []byte) error

type ChangeInfo

type ChangeInfo struct {
	Ændret     string  `json:"ændret"`      // Tidspunkt for seneste ændring registreret i DAWA. Opdateres ikke hvis ændringen kun vedrører geometrien (se felterne geo_ændret og geo_version).
	GeoVersion float64 `json:"geo_version"` // Versionsangivelse for geometrien. Inkrementeres hver gang geometrien ændrer sig i DAWA.
	GeoÆndret  string  `json:"geo_ændret"`  // Tidspunkt for seneste ændring af geometrien registreret i DAWA.
}

type DDKN

type DDKN struct {
	Km1  string `json:"km1"`
	Km10 string `json:"km10"`
	M100 string `json:"m100"`
}

Adressens placering i Det Danske Kvadratnet (DDKN).

type Ejerlav

type Ejerlav struct {
	Href string `json:"href"` // Ejerlavets unikke URL
	Kode int    `json:"kode"` // Unik identifikation af det matrikulære ”ejerlav”, som adressen ligger i. Repræsenteret ved indtil 7 cifre. Eksempel: ”170354” for ejerlavet ”Eskebjerg By, Bregninge”.
	Navn string `json:"navn"` // Det matrikulære ”ejerlav”s navn. Eksempel: ”Eskebjerg By, Bregninge”.
}

type Historik

type Historik struct {
	Oprettet AwsTime `json:"oprettet"` // Dato og tid for data oprettelse,
	Ændret   AwsTime `json:"ændret"`   // Dato og tid hvor der sidst er ændret i data,
}

type Kommune

type Kommune struct {
	KommuneRef
	ChangeInfo
	Regionskode string `json:"regionskode"` // Regionskode for den region kommunen er beliggende i. 4 cifre.
}

Kommunen som adressen er beliggende i. Fuldt objekt

type KommuneRef

type KommuneRef struct {
	Href string `json:"href"` // Kommunens unikke URL.
	Kode string `json:"kode"` // Kommunekoden. 4 cifre.
	Navn string `json:"navn"` // Kommunens navn.
}

Kommunen som adressen er beliggende i. Reference

type ListIter

type ListIter struct {
	// contains filtered or unexported fields
}

ListIter is an Iterator that enable you to get individual entries.

func NewReverseQuery

func NewReverseQuery(listType string, x, y float64, srid string) (*ListIter, error)

NewReverseQuery will create a reverse location to item lookup. Parameters are:

  • listType: See NewListQuery() for valid options.

  • x: X koordinat. (Hvis ETRS89/UTM32 anvendes angives øst-værdien.) Hvis WGS84/geografisk anvendex angives bredde-værdien.

  • y: Y koordinat. (Hvis ETRS89/UTM32 anvendes angives nord-værdien.) Hvis WGS84/geografisk anvendex angives længde-værdien.

  • srid: Angiver SRID for det koordinatsystem, som geospatiale parametre er angivet i. Default er 4326 (WGS84). Leave this empty for default value

    See examples/query-list-reverse.go for usage example

An iterator will be returned, but it will only contain zero or one values.

func (*ListIter) AddCloser

func (c *ListIter) AddCloser(a io.Closer)

func (*ListIter) Close

func (c *ListIter) Close() error

Call this when you are finished using the object

func (*ListIter) Next

func (a *ListIter) Next() (interface{}, error)

Next will return the next item untyped. It will return an error if that has been encountered. When there are not more entries nil, io.EOF will be returned.

func (*ListIter) NextAdgangsAdresse

func (a *ListIter) NextAdgangsAdresse() (*AdgangsAdresse, error)

NextAdgangsAdresse will return the next item. The query must be built using the corresponding type. See NewListQuery() function.

func (*ListIter) NextAdresse

func (a *ListIter) NextAdresse() (*Adresse, error)

NextAdresse will return the next item. The query must be built using the corresponding type. See NewListQuery() function.

func (*ListIter) NextEjerlav

func (a *ListIter) NextEjerlav() (*Ejerlav, error)

NextEjerlav will return the next item. The query must be built using the corresponding type. See NewListQuery() function.

func (*ListIter) NextKommune

func (a *ListIter) NextKommune() (*Kommune, error)

NextKommune will return the next item. The query must be built using the corresponding type. See NewListQuery() function.

func (*ListIter) NextOpstillingskreds

func (a *ListIter) NextOpstillingskreds() (*Opstillingskreds, error)

NextOpstillingskreds will return the next item. The query must be built using the corresponding type. See NewListQuery() function.

func (*ListIter) NextPolitikreds

func (a *ListIter) NextPolitikreds() (*Politikreds, error)

NextPolitikreds will return the next item. The query must be built using the corresponding type. See NewListQuery() function.

func (*ListIter) NextPostnummer

func (a *ListIter) NextPostnummer() (*Postnummer, error)

NextPostnummer will return the next item. The query must be built using the corresponding type. See NewListQuery() function.

func (*ListIter) NextRegion

func (a *ListIter) NextRegion() (*Region, error)

NextRegion will return the next item. The query must be built using the corresponding type. See NewListQuery() function.

func (*ListIter) NextRetskreds

func (a *ListIter) NextRetskreds() (*Retskreds, error)

NextRetskreds will return the next item. The query must be built using the corresponding type. See NewListQuery() function.

func (*ListIter) NextSogn

func (a *ListIter) NextSogn() (*Sogn, error)

NextSogn will return the next item. The query must be built using the corresponding type. See NewListQuery() function.

func (*ListIter) NextValglandsdel

func (a *ListIter) NextValglandsdel() (*Valglandsdel, error)

NextValglandsdel will return the next item. The query must be built using the corresponding type. See NewListQuery() function.

type ListQuery

type ListQuery struct {
	// contains filtered or unexported fields
}

ListQuery returns query item for searching DAWA for specific list types. Use dawa.NewListQuery(type string, autocomplete bool) to create a new query.

See 'examples/query-list.go' for a usage example.

See documentation at http://dawa.aws.dk/listerdok

func NewListQuery

func NewListQuery(listType string, autoComplete bool) *ListQuery

ListQuery returns query item for searching DAWA for specific list types.

Supported list types are "regioner","sogne","retskredse","politikredse","opstillingskredse","valglandsdele","ejerlav", "adgangsadresser", "adresser" or "postnumre". Use the corresponding iterator function, for instance i.NextRegion() to get typed results.

See 'examples/query-list.go' for a usage example.

See documentation at http://dawa.aws.dk/listerdok

func (ListQuery) GeoJSON

func (q ListQuery) GeoJSON() (*geojson.FeatureCollection, error)

Perform the Request, and return the request result as a geojson featurecollection. If an error occurs during the request, or an error is reported this is returned. In some cases the error will be a RequestError type.

func (ListQuery) Iter

func (q ListQuery) Iter() (*ListIter, error)

Iter creates a list iterator that will allow you to get the items one by one.

func (*ListQuery) Kode

func (q *ListQuery) Kode(s ...string) *ListQuery

Kode will add a parameter for 'kode' to the ListQuery.

Kode for det der søges.

func (*ListQuery) Navn

func (q *ListQuery) Navn(s string) *ListQuery

Navn will add a parameter for 'navn' to the ListQuery.

Navn for det der søges.

func (*ListQuery) NoFormat

func (q *ListQuery) NoFormat() *ListQuery

NoFormat will disable extra whitespace. Always enabled when querying

func (*ListQuery) Q

func (q *ListQuery) Q(s string) *ListQuery

Q will add a parameter for 'q' to the ListQuery.

Søgetekst. Der søges i kode og navn. Alle ord i søgeteksten skal matche. Wildcard * er tilladt i slutningen af hvert ord.

See http://dawa.aws.dk/listerdok

func (ListQuery) Type

func (q ListQuery) Type() interface{}

Returns a writeable

type Opstillingskreds

type Opstillingskreds struct {
	OpstillingskredsRef
	ChangeInfo
}

type OpstillingskredsRef

type OpstillingskredsRef struct {
	Href string `json:"href"` // Opstillingskredsens unikke URL
	Kode string `json:"kode"` // Identifikation af opstillingskredsen.
	Navn string `json:"navn"` // Opstillingskredsens navn.
}

type Politikreds

type Politikreds struct {
	PolitikredsRef
	ChangeInfo
}

type PolitikredsRef

type PolitikredsRef struct {
	Href string `json:"href"` // Politikredsens unikke URL
	Kode string `json:"kode"` // Identifikation af politikredsen
	Navn string `json:"navn"` // Politikredsens navn
}

type PostnrQuery

type PostnrQuery struct {
	// contains filtered or unexported fields
}

PostnrQuery is a new query for 'postnummer' objects for searching DAWA. Use NewPostnrQuery() or NewPostnrComplete() to get an initialized object. Example:

// Search for "Rødkildevej 46"
item, err := dawa.NewPostnrQuery().Navn("Rødby").First()

// If err is nil, we go a result
if err == nil {
	fmt.Printf("Got item:%+v\n", item)
}

func NewPostnrComplete

func NewPostnrComplete() *PostnrQuery

NewPostnrCompleteQuery returns a new autocomplete query for 'postnummer' objects for searching DAWA.

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func NewPostnrQuery

func NewPostnrQuery() *PostnrQuery

NewPostnummerQuery returns a new query for 'postnummer' objects for searching DAWA.

See documentation at http://dawa.aws.dk/adgangsadressedok#adressesoegning

func (PostnrQuery) All

func (q PostnrQuery) All() ([]Postnummer, error)

All returns all results as an array.

func (PostnrQuery) First

func (q PostnrQuery) First() (*Postnummer, error)

First will return the first result from a query. Note the entire query is executed, so only use this if you expect a few results.

Will return (nil, io.EOF) if there is no results.

func (PostnrQuery) GeoJSON

func (q PostnrQuery) GeoJSON() (*geojson.FeatureCollection, error)

Perform the Request, and return the request result as a geojson featurecollection. If an error occurs during the request, or an error is reported this is returned. In some cases the error will be a RequestError type.

func (PostnrQuery) Iter

func (q PostnrQuery) Iter() (*PostnummerIter, error)

Iter will return an iterator that allows you to read the results one by one.

An example:

	iter, err := dawa.NewPostnrQuery().Vejnavn("Rødkildevej").Husnr("46").Iter()
	if err != nil {
		panic(err)
	}

	for {
		a, err := iter.Next()
		if err == io.EOF {
			iter.Close()
			break  // we are finished
		}
		if err != nil {
			panic(err)
		}
		fmt.Printf("%+v\n", a)
	}
}

func (*PostnrQuery) Kommunekode

func (q *PostnrQuery) Kommunekode(s ...string) *PostnrQuery

Kommunekode will add a parameter for 'kommunekode' to the PostnrQuery.

Kommunekode. 4 cifre. Eksempel: 0101 for Københavns kommune. (Flerværdisøgning mulig).

See http://dawa.aws.dk/postnummerdok#postnummersoegning

func (*PostnrQuery) Navn

func (q *PostnrQuery) Navn(s ...string) *PostnrQuery

Navn will add a parameter for 'navn' to the PostnrQuery.

Postnummernavn (Flerværdisøgning mulig).

See http://dawa.aws.dk/postnummerdok#postnummersoegning

func (*PostnrQuery) NoFormat

func (q *PostnrQuery) NoFormat() *PostnrQuery

NoFormat will disable extra whitespace. Always enabled when querying

func (*PostnrQuery) Nr

func (q *PostnrQuery) Nr(s ...string) *PostnrQuery

Nr will add a parameter for 'nr' to the PostnrQuery.

See http://dawa.aws.dk/postnummerdok#postnummersoegning

func (*PostnrQuery) Q

func (q *PostnrQuery) Q(s string) *PostnrQuery

Q will add a parameter for 'q' to the PostnrQuery.

Søgetekst. Der søges i postnummernavnet. Alle ord i søgeteksten skal matche postnummernavnet. Wildcard * er tilladt i slutningen af hvert ord.

See http://dawa.aws.dk/postnummerdok#postnummersoegning

func (*PostnrQuery) Stormodtagere

func (q *PostnrQuery) Stormodtagere(b bool) *PostnrQuery

Stormodtagere will add a parameter for 'stormodtagere' to the PostnrQuery.

Hvis denne parameter er sat til 'true', vil stormodtager-postnumre medtages i resultatet. Default er false.

See http://dawa.aws.dk/postnummerdok#postnummersoegning

type Postnummer

type Postnummer struct {
	Href     string       `json:"href"`     // Postnummerets unikke URL.
	Kommuner []KommuneRef `json:"kommuner"` // De kommuner hvis areal overlapper postnumeret areal.
	Navn     string       `json:"navn"`     // Det navn der er knyttet til postnummeret, typisk byens eller bydelens navn. Repræsenteret ved indtil 20 tegn. Eksempel: ”København NV”.
	Nr       string       `json:"nr"`       // Unik identifikation af det postnummeret. Postnumre fastsættes af Post Danmark. Repræsenteret ved fire cifre. Eksempel: ”2400” for ”København NV”.
	// Never set to anything but null
	Stormodtageradresser []AdgangsAdresseRef `json:"stormodtageradresser"` // Hvis postnummeret er et stormodtagerpostnummer rummer feltet adresserne på stormodtageren.
}

func GetPostnr

func GetPostnr(id string) (*Postnummer, error)

GetPostnr will return a single Postnummer with the specified ID. Will return (nil, io.EOF) if there is no results.

type PostnummerIter

type PostnummerIter struct {
	// contains filtered or unexported fields
}

PostnummerIter is an Iterator that enable you to get individual entries.

func ImportPostnumreJSON

func ImportPostnumreJSON(in io.Reader) (*PostnummerIter, error)

ImportPostnumreJSON will import "postnumre" from a JSON input, supplied to the reader. An iterator will be returned that return all items.

func (*PostnummerIter) AddCloser

func (c *PostnummerIter) AddCloser(a io.Closer)

func (*PostnummerIter) Close

func (c *PostnummerIter) Close() error

Call this when you are finished using the object

func (*PostnummerIter) Next

func (a *PostnummerIter) Next() (*Postnummer, error)

Next will return addresses. It will return an error if that has been encountered. When there are not more entries nil, io.EOF will be returned.

type PostnummerRef

type PostnummerRef struct {
	Href string `json:"href"` // Postnummerets unikke URL
	Navn string `json:"navn"` // Det navn der er knyttet til postnummeret, typisk byens eller bydelens navn. Repræsenteret ved indtil 20 tegn. Eksempel: ”København NV”.
	Nr   string `json:"nr"`   // Postnummer. 4 cifre
}

type Region

type Region struct {
	RegionRef
	ChangeInfo
}

type RegionRef

type RegionRef struct {
	Href string `json:"href"` // Regionens unikke URL
	Kode string `json:"kode"` // Identifikation af regionen
	Navn string `json:"navn"` // Regionens navn
}

type RequestError

type RequestError struct {
	Type    string        `json:"type"`
	Title   string        `json:"title"`
	Details []interface{} `json:"details"`
	URL     string
}

func (RequestError) Error

func (r RequestError) Error() string

type Retskreds

type Retskreds struct {
	RetskredsRef
	ChangeInfo
}

type RetskredsRef

type RetskredsRef struct {
	Href string `json:"href"` // Retskredsens unikke URL
	Kode string `json:"kode"` // Identifikation af retskredsen
	Navn string `json:"navn"` // Retskredsens navn
}

type Sogn

type Sogn struct {
	SognRef
	ChangeInfo
}

type SognRef

type SognRef struct {
	Href string `json:"href"` // Sognets unikke URL
	Kode string `json:"kode"` // Identifikation af sognet
	Navn string `json:"navn"` // Sognets navn
}

type SupplBynavn

type SupplBynavn struct {
	Navn      string          `json:"navn"`      // Det supplerende bynavn. Indtil 34 tegn. Eksempel: ”Sønderholm”.
	Href      string          `json:"href"`      // Det supplerende bynavns unikke URL
	Kommuner  []KommuneRef    `json:"kommuner"`  // Kommuner, som det supplerende bynavn er beliggende i.
	Postnumre []PostnummerRef `json:"postnumre"` // Postnumre, som det supplerende bynavn er beliggende i.
}

Et supplerende bynavn – typisk landsbyens navn – eller andet lokalt stednavn der er fastsat af kommunen for at præcisere adressens beliggenhed indenfor postnummeret.

Indgår som en del af den officielle adressebetegnelse.

type SupplBynavnIter

type SupplBynavnIter struct {
	// contains filtered or unexported fields
}

SupplBynavnIter is an Iterator that enable you to get individual entries.

func ImportSupplBynavnJSON

func ImportSupplBynavnJSON(in io.Reader) (*SupplBynavnIter, error)

ImportSupplBynavnJSON will import "supplerende bynavne" from a JSON input, supplied to the reader. An iterator will be returned that return all items.

func (*SupplBynavnIter) Next

func (a *SupplBynavnIter) Next() (*SupplBynavn, error)

Next will return the next item in the array. It will return an error if that has been encountered. When there are not more entries nil, io.EOF will be returned.

type Valglandsdel

type Valglandsdel struct {
	Bogstav string `json:"bogstav"`
	Href    string `json:"href"`
	Navn    string `json:"navn"`
	ChangeInfo
}

type Vejstykke

type Vejstykke struct {
	Adresseringsnavn string          `json:"adresseringsnavn"` //En evt. forkortet udgave af vejnavnet på højst 20 tegn, som bruges ved adressering på labels og rudekuverter og lign., hvor der ikke plads til det fulde vejnavn.
	Historik         Historik        `json:"historik"`         // Væsentlige tidspunkter for vejstykket
	Href             string          `json:"href"`             // Vejstykkets unikke URL.
	Kode             string          `json:"kode"`             // Identifikation af vejstykke. Er unikt indenfor den pågældende kommune. Repræsenteret ved fire cifre. Eksempel: I Københavns kommune er ”0004” lig ”Abel Cathrines Gade”.
	Kommune          KommuneRef      `json:"kommune"`          // Kommunen som vejstykket er beliggende i.
	Navn             string          `json:"navn"`             // Vejens navn som det er fastsat og registreret af kommunen. Repræsenteret ved indtil 40 tegn. Eksempel: ”Hvidkildevej”.
	Postnumre        []PostnummerRef `json:"postnumre"`        // Postnummrene som vejstykket er beliggende i.
}

Et vejstykke er en vej, som er afgrænset af en kommune. Et vejstykke er identificeret ved en kommunekode og en vejkode og har desuden et navn. En vej som gennemløber mere end en kommune vil bestå af flere vejstykker. Det er p.t. ikke muligt at få information om hvilke vejstykker der er en del af den samme vej. Vejstykker er udstillet under /vejstykker

type VejstykkeIter

type VejstykkeIter struct {
	// contains filtered or unexported fields
}

VejstykkeIter is an Iterator that enable you to get individual entries.

func ImportVejstykkerJSON

func ImportVejstykkerJSON(in io.Reader) (*VejstykkeIter, error)

ImportVejstykkerJSON will import "vejstykker" from a JSON input, supplied to the reader. An iterator will be returned that return all items.

func (*VejstykkeIter) Next

func (a *VejstykkeIter) Next() (*Vejstykke, error)

Next will return addresses. It will return an error if that has been encountered. When there are not more entries nil, io.EOF will be returned.

type VejstykkeRef

type VejstykkeRef struct {
	Href string `json:"href"`
	Kode string `json:"kode"` // Vejkoden. 4 cifre.
	Navn string `json:"navn"` // Vejnavn. Der skelnes mellem store og små bogstaver.
}

Jump to

Keyboard shortcuts

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