Poststeder i Norge
Her er en oppskrift for å få alle Norges poststeder inn i en egnet tabell.
Last ned Postnummerregister_ansi.txt fra Bring.
Dette er en tekstfil skrevet i tegnsettet CP1252, hvor feltene skilles med HT og linjene avsluttes med CRLF-par. Formatet er også beskrevet av Bring.
Feltene er:
| Postnummer | Poststed | Kommunekode | Kommunenavn | Kategori |
|---|---|---|---|---|
| 4 | 32 | 4 | 30 | 1 |
I de fleste tilfellene trenger vi bare de to første feltene fra tekstfila.
Først kan vi definere en SQL-tabell for poststed:
CREATE TABLE poststed ( postnr CHAR(4) NOT NULL, poststed VARCHAR(32) NOT NULL, CONSTRAINT poststed_pk PRIMARY KEY (postnr) );
Dernest trenger vi å generere SQL-skript for effektiv mating av poststeder:
fetch -o Postnummerregister_ansi.txt 'http://www.bring.no/radgivning/sende-noe/adressetjenester/postnummer/_attachment/615728?_download=true&_ts=1572df893c0'
awk '
BEGIN { FS="\t"; ORS="\r\n"; print "BEGIN;"; }
{ print "INSERT INTO poststed VALUES (\"" $1 "\", \"" $2 "\");"; }
END { print "COMMIT;"; }
' < Postnummerregister_ansi.txt > legg-inn-poststeder-ansi.sql
recode CP1252..UTF-8 < legg-inn-poststeder-ansi.sql > legg-inn-poststeder-utf-8.sql
Resultatet blir legg-inn-poststeder-ansi.sql og legg-inn-poststeder-utf-8.sql. Filene ble sist massert 2016-09-22.
Disse SQL-skriptene kan vi importere i SQL-terminalen vår og få populert tabellen med alle landets poststeder. Det er naturligvis nok å bruke én av disse filene.