Jag har sytt ihop en snurra som fixar postnummer via postens webtjänst 
<http://www.posten.se/soktjanst/postnummersok/>.

Den kan redan nu lägga till och rätta postnummer på postadressrelaterade saker, 
tycker ni jag skall släppa loss den för att göra det? Skall slänga upp koden på 
github eller något sånt.

Jag hade dock tänkt mig att den skall skapa områdespolygoner vilket tyvärr inte 
fungerar så bra ännu.

Först samlar den upp massa punkter den kan koppla till ett postnummer:

1. Nodes och ways med [addr:street=*] och [addr:housenumber=*].
2. Ways med [highway=*] och [name=*] där  hela gatan befinner sig i samma 
postnummer.

Saknas [addr:city] väljer den det på följande sätt:

1. Hämtar alla [place={hamlet, village, town, city}] med [ref:se:scb=*].
2. Väljer ut de som har [name] som existerar som postort hos Posten.
3. Sorterar till avståndet från positionen till alla postorter.
4. Söker efter den första förekommande husnummer med rätt gatunamn bland listan 
av möjliga postorter. (Bör nog göras om så den väljer bara om det finns i en av 
postorterna)

För att skapa polygoner har jag testkört lite över Lund (centrala) och Halmstad 
(kommunen).

Mitt första försök är att hälla alla punkter per postnummer i ett Graham scan 
convex hull. Då blir det så här:

<http://osm.kodapan.se/tmp/lund.osm>
<http://osm.kodapan.se/tmp/halmstad.osm>

Halmstads kommun får lite konstiga fel, ett par polygoner sträcker sig från 
Falkenberg till Laholm, men generellt sett är det rätt bra inne i stan. Ett par 
för mig kända brytningspunkter löser den riktigt bra. Lund kan jag egentligen 
inte uttala mig så mycket om men det blir ett par postnummer som ligger inbakat 
i ett annat. Det är ju fel. Men med lite manuellt pill så tror jag det blir 
riktigt bra. Man ser klart och tydligt hur PTS tänkt. Man skulle även ganska 
enkelt göra 2 och 3-sifferspostnummerpolygoner redan nu.

Har försökt lite med Voronoi men totalt misslyckats att få det fungera. Kanske 
ger mig in på det igen om någon vecka eller så. Skulle nog även vara bra att ha 
en hull-algoritm som skapar exakta polygoner mellan punkterna i stället för 
konvexa.


                        kalle
_______________________________________________
Talk-se mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/talk-se

Till