Det var en fråga jag ställde mig härom veckan och efter en snabb sökning på Internet så verkade svaret vara Nej…
Det finns nämligen ett företag (Postnummerservice) som vill ha nästan 6’000 kr för ett punktlager som utvisar var alla postnummer i Sverige finns, och då får jag enligt licensen endast använda informationen internt och inte sälja den vidare, eller ens sälja/ge bort tjänster som bygger på dessa data.
Då började jag luska i om det finna andra alternativ. Vet ni vad? Det gör det!
På http://geonames.org så kan man inte bara ladda hem en gigantisk databas över platsnamn över hela världen utan även postnummer.
Det finns filer för olika länder (inklusive Sverige) eller alla världens postnummer i en fil.
Det är en zippad textfil, men lugn, med QGIS så är det inga som helst problem att öppna.
Packa upp filen och öppna de båda textfilerna i en textläsare.
I den ena filen (SE.txt) finns alla data i en tab-separerad tabell och i den andra (readme.txt) hittar vi längst ner information om kolumnerna.
Jag vill ha lite rubriker på kolumnerna så jag passar på att döpa dessa på en ny tab-separerad rad överst i SE.txt. Ta hjälp av ”readme.txt” och undvik långa namn med mellanslag eller konstiga (även svenska) tecken.
Detta är allt vi behöver för att läsa in postnummerna i QGIS. Starta QGIS och klicka på knappen ”Lägg till Separerad Text-lager” i verktygsfältet ”Hantera Lager”.
Bläddra rätt på filen och välj ett bra lagernamn. I ”readme.txt” så stod det bland annat att texten var i UTF8, så det ser man till att det är inställt. Eftersom första raden i filen har information att importera så skall inga rader hoppas över, och i mitt fall så är första raden fältnamn. Sedan väljer man ”tab” som separerare och pekar ut fält 11 som longitud/X och fält 10 som latitud/Y, eller om du som jag satt dessa fältnamn till något som QGIS känner igen så återfinns dessa automatiskt. När allt är klart så är det bara att klicka på ”OK” och välja WGS84 (EPSG:4326) som referenssystem.
Det första jag gör nu är att spara lagret som shape eller i en databas, så att jag kan arbeta vidare med informationen. Det är ju väldigt många punkter på samma ställe, men det är för att alla postnummer i Sverige är med. Om man läser på lite om hur postnummer är uppbyggda (wikipedia) så kan man ganska enkelt se till att filtrera bort postnummer för boxar, svarspost och tävlingspost. Det blir fortfarande många postnummer på varje punkt, framför allt i storstäderna, men även i mindre orter med lantbrevbärare, då dessa ofta har stora områden och därför brukar vara placerade centralt.
Har man nu ett postnummer man vill veta var det ligger, är det bara att söka i tabellen.
Sådär! Inte en krona kostade det heller. Det kanske är en bättre produkt som man får när man tecknar avtal med Postnummerservice men det får allt vara mycket bättre om det skall vara värt 6’000 kr.
Hmm, varför inte göra ett eget insticksprogram i Python som lägger till lite sökfunktioner på postnummer i ett snyggt formulär…
Og for alle de glade gutter og jenter i Norge, kan jeg si at postnummer er også tilgjengelig på norsk. (NO.zip)
Här kan man även ladda ner polygoner (dock något generaliserade) för Svenska postnummer på femsiffernivå:
http://opendata.arcgis.com/datasets?q=Sweden&sort_by=relevance
Postnummerdatabasen på geonames.org är gammal. Billeberga t.ex. har sedan flera år inte postnummer 260 21.
Nu verkar den vara uppdaterad.
Crowdsourcea in dem vettja… via tex kvitton eller liknande
http://www.postnummeruppror.nu/
Grymt tack för att du skrev denna artikel.
Tack , jag behövde detta!