Re: [Talk-se] Postnummer (igen)
2013/3/25 Karl Wettin karl.wet...@kodapan.se: Lade även upp ett par screenshots från JOSM om man inte orkar: http://osm.kodapan.se/postnummer/lund%20kommun.tiff Snygga, ska bli kul att se mer. Applikationen äter ruskigt mycket minne och är ganska långsam om man inte cachar alla anrop till Posten, vilket man naturligtvis inte vill göra i det långa loppet. Vill någon leka med java-projektet (som också är en soppa) är det bara att höra av sig. Postnummer låter väl som något man kan cache? När vi talade om postnummer på Stockholms träffen för 1 år sedan så var det tydligen en hel del postnummer som ändrade sig just då. Han nämnde även att postnummer inte alltid går att göra rena och fina polygoner av, exklaver, enklaver och allt sådant där finns. Men det är klart du kan github:a det så länge det är ok för Posten. ___ Talk-se mailing list Talk-se@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-se
Re: [Talk-se] Postnummer (igen)
25 mar 2013 kl. 23:44 skrev Erik Johansson: hel del postnummer som ändrade sig just då. Han nämnde även att postnummer inte alltid går att göra rena och fina polygoner av, exklaver, enklaver och allt sådant där finns. Men det är klart du kan github:a det så länge det är ok för Posten. För sådant skapar jag multipolygoner med yttre och inre hull. Fungerar oväntat bra. Lyxigt va? Anledningen till de där oväntade strecken i polygonerna var just det, att jag ritade inre hull som en del av yttre hull. Tyvärr är Voronoi-algon jag använt (jshull) så buggig att jag antingen måste rätta den (orka(tm)) eller leta upp något alternativ. Försöker lista ut hur algon i Vivid solutions JTS fungerar. Vore smidigt om den bara fungerade. kalle___ Talk-se mailing list Talk-se@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-se
Re: [Talk-se] Postnummer (igen)
http://osm.kodapan.se/postnummer Nu med Voronoi där regioner med angränsande punkter i samma postnummer slås ihop till en polygon. Det senare buggar lite och skapar exempelvis lite oväntade streck här och där. OSM-filer att hälla in i JSOM för varje postnummerområde (varje postnummer kan alltså bestå av flera stycken områden) finns för Halmstad (som i princip bygger på noderna av vägar som finns i ett enda postnummer) och Lund (där nästan varje hus i centrala delarna har ett nummer och skapar en känd punkt för ett postnummer) här: http://osm.kodapan.se/postnummer/lund.tar.gz http://osm.kodapan.se/postnummer/halmstad.tar.gz Lade även upp ett par screenshots från JOSM om man inte orkar: http://osm.kodapan.se/postnummer/lund%20kommun.tiff http://osm.kodapan.se/postnummer/lund.tiff http://osm.kodapan.se/postnummer/lund%20centralt.tiff http://osm.kodapan.se/postnummer/halmstad%20kommun.tiff http://osm.kodapan.se/postnummer/halmstad.tiff http://osm.kodapan.se/postnummer/halmstad%20centralt.tiff Det kräver fortfarande ytterligare några helgers arbete innan det här är klart. Om någon känner sig manad att kolla hur bra det fungerar i ett område de känner till är det bara att säga till. Applikationen äter ruskigt mycket minne och är ganska långsam om man inte cachar alla anrop till Posten, vilket man naturligtvis inte vill göra i det långa loppet. Vill någon leka med java-projektet (som också är en soppa) är det bara att höra av sig. Det kommer bli en baggis att extrahera postortsgränser från det här. Portorter är inte samma sak som SCBs småorter och tätorter, men jag tycker nog att en postortspolygon i många fall är mycket bättre än en enda nod som pekar ut centroiden av en ort. Ett stort problem är att jag inte vet till vilken postort en given punkt hör. Jag måste söka upp de närmsta städerna och slå upp om gatan är unik för de närmsta städerna. Är det inte unikt (vilket det ofta inte är) kan jag inte använda mig av datan. Man kan förvisso efter ett par iterationen använda sig av de framgruvade postortspolygonerna till detta, men jag oroar mig för att detta kommer skapa för mycket feedback med grus i systemet. En lösning är att komma över en öppen karta som visar två- eller tresiffrors postnummer. Annars vet jag inte riktigt. Om någon har förslag är det mycket välkommet. Slutmålet är som tidigare nämnt att skriva en öppen svensk geocoder som inter/extrapolerar fram husnummer (Posten listar alla nummer som finns), fixar med svenska regler för hur man kan tänkas skriva fel, etc . Detta ligger dock långt fram (flera år?) om det över huvud taget blir av. Det stora problemet är att gruva fram all saknad data... Det borde dock gå att få till när man kombinerar Postens data med OSM. Det krävs även en hel del arbete med att extrahera data från Postgis så det bildar en hierarkisk struktur. Nominatim gör det, men det är en soppa av olika språk och verktyg och jag lyckas inte tyda vad som händer. Om någon har tankar kring det kan jag ganska omgående skriva en geocoder fungerar kanon i Kalmar och Lund, men det känns relativt meningslöst att lägga tid på det nu. Har också kommit fram till att om något av detta (postnummerpolygonerna, postortspolygoner, gissa position för husnummer, etc) någonsin blir klart kommer jag nog sätta upp en ny Postgis med Overpass API som enbart innehåller dessa data så det blir lättare att rendera om allt från början lite då och då. Slipper folk som ritar in saker i noderna, osv. Dessutom blir det jag personligen och inte OSM som är data-martyren om någon (läs: Posten, PTS, etc) skulle bli väldigt arga. Kanadensiska posten blev ju väldigt upprörda. kalle 3 jan 2013 kl. 20:06 skrev Karl Wettin: 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
Re: [Talk-se] Postnummer (igen)
Någon som vet hur det gör i t ex Storbrittanien? Där är ju postnumren väldigt fingranulära. Ett postnummer motsvarar ungefär ett kvarter. Därför använd de mycket för navigering. vänligen Bengt Den 5 januari 2013 16:20 skrev Andreas Vilén andreas.vi...@gmail.com: Aha, jag uppfattade det som att du hade gått live redan. Ska du testa systemet live så föreslår jag att du gör det i en lite mindre ort, exempelvis Genarp i Lunds kommun där alla adresspunkter ska vara satta. Just Genarp har förresten en enklav i tidningsdistrikten, men om den enklaven sammanfaller med postnumren vet jag inte. När det gäller utdelning, som ju postnumren främst är till för, bygger det ju också på var det är smidigt att cykla mot var det är smidigt att köra bil. Trottoarer hindrar ju ofta postbilar från att komma fram till lådorna, och då kan det vara lättare att dela in postnumren i olika enklaver för att se till att bilen tar de områden där den lättare kan komma fram medan någon cyklar i övriga områden. Nu kan jag absolut inget om kodning men tänker bara att det är sånt här man kanske inte tänker på när man tänker att postnumren är väl avgränsade ytor som stadsdelar eller kvarter. I Stockholm är ju förresten några postorter redan inlagda, men i form av administrativa enheter... Det bör nog göras om, men det verkar finnas en del avvikande åsikter om hur man bäst mappar Stockholm jämfört med övriga Sverige, så det lägger jag mig inte i. /Andreas 2013/1/5 Karl Wettin karl.wet...@kodapan.se: 5 jan 2013 kl. 00:27 skrev Andreas Vilén: Du missade nog att svara på frågan om vilka redigeringar det är som gjorts i Halmstad och Lund. Speciellt redigeringarna i Lund är jag nyfiken på att kolla in. Det finns inga redigeringar, bara mina två exempel på hur det blir när man häller 100% säker data gruvad från dessa områden i ett convex hull, samt konstaterandet att det behövs något annat än just den lösningen. kalle ___ Talk-se mailing list Talk-se@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-se
Re: [Talk-se] Postnummer (igen)
Okej, då fattar jag bättre. Var dock försiktig med polygonerna, för det är inte alls säkert att nya adresser i en postnummerspolygon får det postnumret. Det finns många fall av postnummersuddar och det finns säkert enklaver och exklaver här och där också. Så pass mycket vet jag i alla fall av att titta på Tidningsbärarnas distriktskartor, även om de inte sammanfaller med postnumren. Det är ju inte bara ytan som avgör utan ett postnummer är ju oftast en brevbärares utdelningsområde, och då måste det anpassas efter den personens arbetstid. Jag vet därför inte heller hur pass beständiga postnumren är, men de ändras ju inte så ofta såvitt jag vet. Du missade nog att svara på frågan om vilka redigeringar det är som gjorts i Halmstad och Lund. Speciellt redigeringarna i Lund är jag nyfiken på att kolla in. /Andreas 2013/1/4 Karl Wettin karl.wet...@kodapan.se: 4 jan 2013 kl. 01:41 skrev Andreas Vilén: I teorin låter det dock bra, även om jag inte riktigt ser poängen med postnummerpolygoner. Det finns massor av anledningar. Primärt så anser jag det är geografisk positioneringsdata och att sådan hör hemma i OSM. Exempelvis är det ytterligare en dimension data som förbättrar vid geocoding, man kunna rendera postnummerkartan som postnummerservice tar så väl betalt för, det ersätter postnummer på varje adresspunkt och innebär att man får postnummer på alla nya adresser som läggs till, det kan ersätta Postens postnummersök som är begränsat till textsökning och användas för att städa upp existerande adresser i OSM eller tredje parts databas, et c. Jag funderar även på att skapa postortspolygoner från samma data. Då skulle man kunna göra en geocoder som spottar ut svenska postadresser i stället för en komplett administrativ hierarkisk adress som Nominatim gör i dag. En sak undrar jag dock över - var sätts postnumren då en hel väg har samma postnummer och det saknas adresser i övrigt? Jag tror inte det är nån lysande idé att sätta postnummer på själva vägarna. Vägar som befinner sig inom ett och samma postnummer är bara ett sätt att finnas kända punkter inom ett postnummerområde inför att rita en postnummerpolygon. Postnummer skulle sättas i postnummerpolygonen om det är en sådan som skapas. Men det är som sagt inte tillräckligt bra kvalitet på dem ännu, behöver experimentera med Voronoi, konkava hull, et c. först. Är det en nod med postadress i sig så är det i den postnummer skulle sättas eller uppdateras. Det fungerar utmärkt redan nu. kalle ___ Talk-se mailing list Talk-se@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-se
Re: [Talk-se] Postnummer (igen)
Vad heter användarkontot som gör de här redigeringarna, så att man kan kontrollera dem? Om du använder ditt vanliga konto till det så bör du nog skaffa ett separat konto till framtiden. I teorin låter det dock bra, även om jag inte riktigt ser poängen med postnummerpolygoner. En sak undrar jag dock över - var sätts postnumren då en hel väg har samma postnummer och det saknas adresser i övrigt? Jag tror inte det är nån lysande idé att sätta postnummer på själva vägarna. /Andreas 2013/1/3 Karl Wettin karl.wet...@kodapan.se: 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 Talk-se@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-se