PyDawa
En simple API wrapper omkring Danmarks Adressers Web API (DAWA).
Formålet med dette modul er at give nem adgang til DAWA i Python. Grunden til, at jeg begyndte at arbejde på dette modul er, at jeg havde skrevet et par scripts i python, der brugte API'et, men der var ingen "nem" adgang til det. Plus, jeg var nysgerrig over, om jeg kunne skrive et modul og uploade til pypi.
Det her projekt er et "work in progress", så jeg kommer til at tilføje funktionalitet, når jeg har brug for den. Jeg håber, at folk har lyst til at hjælpe med det.
Afhængigheder
- Requests
Installation
Installer med pip:
$ pip install pydawa
Brug
Indtil videre, består modulet kun af tre classer:
- Adressesoeg
- Adresseopslag
- Adressevasker
Adressesoeg()
Søg efter en adresse med vejnavn, husnr og postnummer.
import pydawa
adresse = pydawa.Adressesoeg(vejnavn='Dronning Dagmars vej', husnr='200', postnr='3650')
response = adresse.info()
info() metoden henter data fra dawa api'et og returnerer en dictionary med respons.
Man kan også søge med en tekststring.
import pydawa
adresse = pydawa.Adressesoeg(q='Dronning Dagmars Vej 200, 3650 Ølstykke')
response = adresse.info()
Adresseopslag
Søg efter en adresse med adressens unikke id.
import pydawa
adresse = pydawa.Adresseopslag(id=id)
response = adresse.info()
info() metoden henter data fra dawa api'et og returnerer en dictionary med respons.
Adressevasker
Datavask af adressebetegnelse. Modtager en adressebetegnelse og returnerer en eller flere adresser, der bedst matcher.
import pydawa
adresse = pydawa.Adressevasker(betegnelse=adressebetegnelse)
response = adresse.info()
Koordinater for adresser
Man kan hente koordinater for en given adresse ved at bruge get_koordinater metoden fra adresse variablen i examplerne ovenfor.
import pydawa
adresse = pydawa.Adresseopslag(id=id)
response = adresse.info()
koordinater = adresse.get_koordinater(response[0])
Den metode tager et json object. Indtil videre se returner både Adressesoeg og Adresseopslag en liste, så derfor bruger man response[0] som input. Man kan kun hente koordinater fra Adressesoeg og _ Adresseopslag_, fordi Adressevasker returnerer ikke koordinater.
Reverse geokodning
Hvis man har koordinater og gerne vil finde den nærmeste adresse.
import pydawa
koordinater = (12.18, 55.78)
adresse = pydawa.Reverse(koordinater=koordinater)
response = adresse.info()
Geokoder
Hvis man har en csv eller xlsx fil, som indeholder adresser, som skal geokodes, så kan man bruge den her. Peg på filen og gem resultatet enten som en Pandas dataframe, hvis du skal bearbejde data mere, eller i en fil i samme mappe.
import pydawa
geokoder = pydawa.Geokoder('c:/users/brugernavn/adresser.csv')
# Gem data i en dataframe
df = geokoder.geokod_file(cols=['adresse', 'postnr', 'By'])
# Gem data i en fil
geokoder.geokod_file(save=True, cols=['adresse', 'postnr', 'By'])
Release files for pydawa 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pydawa-0.5.1.tar.gz | 5.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pydawa-0.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.1 kB
Release files / pydawa-0.5.1.tar.gz
| Download URL | pydawa-0.5.1.tar.gz |
|---|---|
| Size | 5.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c8745d2cab2429b34adbe70fa84b8cf71eb3741a04b7fce9e8735cc917cc52af
|
|
BLAKE2b-256 checksum How to use checksums |
a0d5db2b257cf1278679f17e66d988ba9df8cf1cfe905932a2555db667fcbf93
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.3 CPython/3.8.1 Windows/10
|
Release files / pydawa-0.5.1-py3-none-any.whl
| Download URL | pydawa-0.5.1-py3-none-any.whl |
|---|---|
| Size | 5.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e841f8b083f15152e03a0dee7c782b84de46d344b16dc4c3c0e3f3232b2bc353
|
|
BLAKE2b-256 checksum How to use checksums |
e536e1ff522f87f2dbb607e5a2924a741914ffaa7e3a1aa2fa21d14414f522ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.3 CPython/3.8.1 Windows/10
|