I øvrigt, mit gade-opdaterings-værktøj er blevet mere fejlsikker. Udgangspunktet er, at mit værktøj spørger om alle adresser på en given vej (ud fra eksisterende kommunekode+vejkode) og så tilføjer/opdaterer/sletter ved at sammenligne de gamle data i OSM og de nye data i OSAK.
Men en del veje var problematiske at opdatere, idet kommunekode+vejkode var skiftet efter kommunalreformen. Så her risikerede værktøjet blot at fjerne alle adresser på en vej. Efter weekendens opdatering har værktøjet nu en liste over aktuelle kommuner. Laver man et bbox-opslag (fx klikker på " Update the addresses currently shown."-linket i bunden af http://osm.rasher.dk/ ), så vil veje fra gamle kommuner vises med orange baggrund under "Update"-knappen. Men mere væsentligt: prøver man at opdatere en vej med gammel kommunekode (hvilket giver et tomt resultat i OSAK), så vil værktøjet i stedet finde et tilsvarende vejnavn i samme postnummer, som den kan erstatte adresserne med. Kun hvis der findes en vej med samme navn+postnummer, går opdateringen igennem. Denne opdatering foregår så i samme osmChange, så den er atomisk og foregår i én transaktion. Dvs. enten bliver alle de gamle adresser slettet + nye oprettet, eller også sker der intet (changesets er i sig selv ikke atomiske, men det er diff uploads [1] ). Her er et eksempel på et par veje opdateret på den måde: http://www.openstreetmap.org/browse/changeset/6075277 http://www.openstreetmap.org/browse/changeset/6075474 Scriptet er samtidigt justeret, så den tager højde for at en del postnumre i Randers er ændret. Så i de tilfælde accepterer den ikke alene at vejen har skiftet vejkode, men også postnumre (helt specifikt fra det gamle postnummer til ét af de få nye for dele af Randers). Ahh, ikke noget som lokale hacks... :-) Med de ændringer skulle der ikke længere være nogen fare ved at bruge opdateringsværktøjet - man kan ikke komme til at slette adresser på en gammel vej, med mindre, der er frisk data til at erstatte (eller at de friske adresser allerede er oprettet i forvejen). Næste skridt må være at lade et script køre alle adresser igennem, nu hvor tingene kan automatiseres rimeligt sikkert. I samme forbindelse begyndte OSM-serveren at brokke sig over at mit værktøj lavede for mange requests, så også her er scriptet justeret til at bruge den lokale database, der opdateres hvert minut. Desværre er bbox-udmålingen ikke 100 % præcis endnu (den er vist forskudt med en 30-40 meter). Den kan dog sagtens bruges i øvrigt, og det har dog kun noget at sige for oversigten over veje i et område. Selve ændringerne, værktøjet foretager sig, er naturligvis korrekte. - Peter Brodersen [1] http://wiki.openstreetmap.org/wiki/API_v0.6#Diff_upload:_POST_.2Fapi.2F0.6.2Fchangeset.2F.23id.2Fupload 2010/10/13 Jens Winbladh <[email protected]>: > Hej > Jeg har opdaget en vej, med 2 adresse 'punkter' pr. adresse - Det ser ud til > at vejen har ændret navn fra Skamlingsvej til Skamlingsvejen og > nummereringen er ændret- alle adressepunkterne er genereret af OSAK. > Har ikke været forbi endnu og tjekket om hvad der faktisk står på > vejskiltet. og husnumrene. > Se det > her: http://osm.rasher.dk/?zoom=16&lat=55.41666&lon=9.56467&layers=B00TFFFFFF > Skal jeg bare slette de 'gamle' adresse punkter? (nok efter jeg har været > forbi) > PS. er der nogen der kommer forbi på et tidspunkt. > PSS. har oprettet en Bug. > /Jens > _______________________________________________ > Talk-dk mailing list > [email protected] > http://lists.openstreetmap.org/listinfo/talk-dk > > _______________________________________________ Talk-dk mailing list [email protected] http://lists.openstreetmap.org/listinfo/talk-dk
