Wil je beide lijsten (busnrs en apptnrs) los in de JSON hebben, of
samengevoegd als “subadressenlijst”? Ik had het als dat laatste al
ingebouwd, maar ik kan het natuurlijk eenvoudig weer uit elkaar trekken.
De lijsten worden toch al los van elkaar opgebouwd.
Groeten,
Thomas
Sander Deryckere schreef op 29-10-2014 12:06:
Hoi Thomas,
Net het script wat verder aangepast voor de nieuwe data, en geuploaded
naar jouw repo. Dus aan iedereen, gelieve vanaf nu vooral
http://aptum.github.io/import.html te testen,
Kan je de appartementsnummers en busnummers als aparte lijsten in de
JSON zetten? Dan kan ik ook het script updaten om addr:flats te
ondersteunen. Lijsten zijn het best aangezien ze gemakkelijker
omgevormd kunnen worden naar de correcte formaat. Ook die best
alfabetisch sorteren voor de diffs. En misschien enkel de lijsten aan
de JSON toevoegen indien wel degelijk (dat zal bandbreedte sparen voor
de vele adressen die geen busnummers of appartementsnummers hebben).
Aangezien de overlappende en de niet overlappende nummers nu in
verschillende kolommen staan, is daar geen verschillende CSS voor
nodig. Een verschillende CSS voor de herkomst kan wel helpen.
Momenteel staat die herkomst nog in CRAB:source om de waarden
gemakkelijk te kunnen aflezen. Dus momenteel die tags nog niet gaan
uploaden.
Als het goed is voor iedereen, dan breng ik die tags naar de vorm
* odbl:note=CRAB:manueleAanduidingVanGebouw
* odbl:note=CRAB:geinterpoleerdObvNevenliggendeHuisnummersGebouw
* ...
odbl:note lijkt mij de meest neutrale van alle discardable tags, en
het voorvoegsel CRAB: kan zorgen voor unieke CSS selectors.
De grootste problemen momenteel zijn de huisnummers met een
underscore. Ik kan moeilijk beslissen als ik die naar bis, ter, ... of
naar /1, /2, /3, ... breng. Maar het overlaten aan de mapper kan er
voor zorgen dat de huisnummers met een underscore rechtstreeks
geuploaded worden.
Het andere grote probleem is de spelling van de straatnaam. Dat is
moeilijk om af te leiden met de beperkte OSM data die ik heb in de
webpagina (vooral als er nog geen adressen in OSM zijn). Een
spellingsverschil kan er voor zorgen dat huisnummers geuploaded worden
waarbij addr:street verschilt van de straatnaam in OSM. Wat natuurlijk
voor problemen zal zorgen. Maar hierbij kan Jo misschien helpen, of de
JOSM validator.
Als die problemen opgelost zijn, dan lijken de tools klaar, en wordt
het tijd om enkele definitieve beslissingen te maken:
* Huizen tekenen of niet
* Aparte gebruikersnaam of niet
* Welke tags moeten op de changeset
* Hoe contacteren we het AGIV met opmerkingen?
* ...
Groeten,
Sander
Op 29 oktober 2014 08:39 schreef Sander Deryckere <sander...@gmail.com
<mailto:sander...@gmail.com>>:
Nog niet,
eerst onze tools maken, dan kunnen we het opnieuw presenteren.
Groeten,
Sander
Op 29 oktober 2014 05:08 schreef Marc Gemis <marc.ge...@gmail.com
<mailto:marc.ge...@gmail.com>>:
Hoe zit het met het nodige papierwerk rond de import ? Zijn
daar al vorderingen gemaakt ?
groeten
m
2014-10-26 13:18 GMT+01:00 Thomas <o...@aptum.nl
<mailto:o...@aptum.nl>>:
De code staat op https://github.com/aptum/aptum.github.io.
De code van het python-conversiescript staat er nog niet
op omdat ik nog wat dingen aan het omschuiven ben. Ik
probeer dat script zo snel mogelijk ook daarbij te zetten.
De nieuwste variant van het javascript en de website (met
uitzondering van die twee regels code om 'mijn' tag in
JOSM in te laden; regels 358-359) kun je bij Sander
vinden: https://github.com/sanderd17/sanderd17.github.io/
Het inladen van gegevens uit de overpass is op zich wel
mogelijk, maar we moeten denk ik wel heel erg opletten dat
het geen allegaartje wordt. CRAB en OSM strikt gescheiden
houden heeft misschien ook wel voordelen; tenzij je een
specifiek doel voor ogen hebt?
Groeten,
Thomas
Jo schreef op 26-10-2014 12:58:
Hallo Thomas,
Waar staat de broncode nu? Ik had het graag nog 's
bekeken. Ook de JS die ik de vorige keer gemist heb... Is
er een mogelijkheid om wat je afhaalt met Overpass ook
mee te geven naar JOSM? Of is dat niet zo'n goed idee.
Van zodra duidelijk is welke discardable tags je
gebruikt, zal ik een MapCSS-stijl maken.
Jo
Op 26 oktober 2014 10:20 schreef Thomas <o...@aptum.nl
<mailto:o...@aptum.nl>>:
De validator geeft inderdaad netjes melding van de
meerdere punten op elkaar. Ik vraag me af of we daar
nog iets mee moeten. Veel (alle?) van de adressen
zonder positie uit jouw script vallen nu samen met
een ander punt. Voor wat ik zo snel even kon bekijken
zijn dat toch best veel punten. Daar moet dus sowieso
handmatig op ingegrepen worden (zoals eigenlijk op
heel veel punten).
Moeten we nog iets doen met een hulptag over
appartementsnummer, busnummers of huisnummerlabels?
Over dat laatste zegt het AGIV in de documentatie:
“Opgelet: Komen er op de coördinaat van het CRAB
adres meerdere huisnummers voor die in dezelfde
straat liggen, dan bevat het label het laagste en het
hoogste huisnummer (bv. label 10-14 voor het perceel
met de huisnummers 10, 12 en 14 in de Molenstraat).”.
Het zou ook mogelijk moeten zijn om voor deze punten
automatisch een samengestelde addr:housenumber-value
te maken die een samenstelling is van de
verschillende punten die samenvallen. Dat valt nog
wel te coderen.
Los van de technische vraag is de inhoudelijke vraag
dus eigenlijk: wat doen we met die samenvallende
punten? Schuiven we de punten handmatig uit elkaar,
of voegen we ze samen met een samengesteld label als
15A-B voor de adressen “15A” en “15B”. Dat laatste
kan automatisch, maar het is dan weer de vraag of dat
wenselijk is. Er zullen vast situaties zijn waarin je
die punten niet wil mergen maar juist individueel
houden. Het hele idee is ook dat we puur adressen (en
eventuele bisnummers) in OSM stoppen en geen
subadressen (busnummers en appartementnummers). Dus:
indien de adrespositie voor twee adrespunten gelijk
is, moeten deze dan automatisch worden samengevoegd
tot 1 punt met een samengesteld label, of laten we
dat ter beoordeling van de mapper?
Ik ga nog even kijken naar wat checks op die
straatnamen met een gelijkaardige naam en een
verschillende id. Het zou interessant zijn als die
gevallen opgepikt worden. Ik ben het ermee eens dat
veel van de foutopsporing in het algemeen best aan de
JS-kant gebeurt. Daar heb je ook je overpass-query
beschikbaar. Aan de andere kant vind ik dat een
aantal basis-integriteits-dingen toch al door het
python-gedeelte mogen worden opgepikt. De loopduur
van het script moet aan de andere kant ook weer zo
kort mogelijk gehouden worden. Ik denk dat het een
beetje zichzelf wijst. Een aantal checks (zoals
zelfde straatnaamid, verschillende straatnaam) hebben
geen of een zeer lage kost, terwijl deze toch een
zekere basiskwaliteit van de dataset opleveren.
De scripts eerst vergelijken en evalueren lijkt me
prima. Ik heb een eigen github aangemaakt zodat het
onderscheid tussen beide scripts nu eerst helder is.
Ik heb de data van de laatste conversie alvast
opgeladen samen met de webpagina en het JS. Aan de
webpagina heb ik helemaal niets gewijzigd. Aan het JS
heb ik enkel de extra tag toegevoegd, binnen een
conditional.
Ik ga nog wat kleine puntjes aanpakken en het
python-script wat robuuster opbouwen. Misschien dat
ik met een parallelle architectuur nog wat
snelheidswinst kan boeken. Vanaf nu kan er in elk
geval weer getest gaan worden. Ook alle problemen met
de dataset die in de laatste mails gemeld werden ga
ik nader bekijken.
Bij deze dus het verzoek aan al diegenen die mee
willen testen: jullie kunnen op
http://aptum.github.io/import.html mijn script
testen. Het verschil met de pagina van Sander is dat
mijn pagina gebruik maakt van de adressenlijst in
plaats van de adresposities. Uiterlijk is er niets
veranderd, maar het conversiescript is vrijwel
compleet nieuw. Daarnaast heb ik een extra tag
toegevoegd (CRAB:source) die weergeeft waar de
informatie uit het CRAB vandaan komt. Deze geeft aan
hoe het adrespunt bepaald is, en zegt daarmee iets
over de nauwkeurigheid van de plaats van het label.
Deze tag mag niet naar OSM opgeladen worden! Graag
hoor ik het als er nog problemen gesignaleerd worden.
Bij deze ook credits voor het vele en goede werk van
Sander en voor het ter beschikking stellen van alle code!
Groeten,
Thomas
Sander Deryckere schreef op 25-10-2014 21:17:
Op 25 oktober 2014 20:57 schreef Thomas
<o...@aptum.nl <mailto:o...@aptum.nl>>:
Inmiddels ook de codering in gehoorzaamheid
gedwongen. Blijkt dat de codering van de
shapefile gewoon Latin-1 is en niet die vage
CP-720. Dat scheelt ook maar weer.
De snelheid van mijn script valt me al bij al
wel mee. Op dit moment gebruikt hij maar 1
thread. Het inlezen van het bestand in de
dictionaries duurt zo'n 50 minuten. Het
schrijven naar de JSON-bestanden een kleine 10
minuten (op een SSD'tje). Het schrijven gaat
volgens mij wat trager omdat ik de
adres-dictionary vervangen heb door een tuple.
Dat scheelt toch een kleine 500MB in
geheugengebruik. In totaal gebruikt het script
maar iets van 2GB ram dacht ik, maar dat moet ik
nog even nakijken. Sinds die wijziging heb ik in
elk geval geen geheugenproblemen meer gehad.
Qua tags hoeven we inderdaad enkel de
addr:housenumber en addr:street over te nemen.
Daarnaast wil ik graag het herkomst-veld als tag
invoeren, zodat de punten gestyled kunnen worden
op basis daarvan. Naar mijn idee is die herkomst
zeer bepalend voor de “nauwkeurigheid” van de
punten. Ik heb dat nu geïmplementeerd als een
“CRAB:herkomst”-tag. De Engelse variant
“CRAB:source” vond ik een beetje misleidend. Aan
de andere kant gaat het natuurlijk wel over hoe
ze de locatie van het punt bepaald hebben. Dat
kun je dus wel als “source” zien.
CRAB:source=* lijkt me goed. Als de waarden
enigszins duidelijk zijn, dan is alles ok.
Daarnaast misschien nog iets van een tag om
waarschuwingen mee te communiceren, bijvoorbeeld
over de schrijfwijze van de straatnaam. Aan de
andere kant heb ik geen enkel geval kunnen
vinden waar twee adressen een zelfde
straatnaam-id hebben maar een verschillende
straatnaam (bijvoorbeeld een andere spelling).
Dat soort fouten lijken me maar beperkt aanwezig
en kunnen dus waarschijnlijk allemaal opgevangen
worden met de FIXME-tag. Het huidige gebruik (om
punten zonder locatie mee aan te geven) is in
feite overbodig, omdat alle punten een locatie
hebben.
De JOSM validator kan hier ook nuttig zijn. Als de
coordinaten volledig overeenkomen, dan zal de
validator sowieso klagen denk ik. Dus is een fixme
tag misschien niet volledig noodzakelijk
De straatnaam id is in de posities database de enige
manier om de straatnaam te vinden. Dus als er enige
overeenkomst tussen de databases is, dan is het
normaal dat je geen straatnaam-id vindt met twee
verschillende namen. De andere kant kan wel voor
komen: dezelfde straatnaam (of bijna dezelfde) met
een verschillende straat id.
Ik ben nu nog wat aan het kijken welke fouten ik
met het python-script moet opsporen en welke
best in de javascript naar boven gehaald kunnen
worden in combinatie met de overpass-query. Het
belangrijkste zijn de punten die samenvallen.
Dat is een situatie die niet ingevoerd mag
worden in OSM, dus ook hier lijkt een FIXME-tag
mij het meest geschikt. Dat ga ik in elk geval
nog even netjes documenteren.
Ik zou het foutopsporen vooral voor de JS kant
houden. Dan kunnen we dat gemakkelijker aanpassen
(zonder een script van een uur te draaien om dan een
klein tikfoutje te ontdekken).
Nog een praktisch punt: hoe willen we deze
tweede variant beschikbaar stellen? Moet dat
naast de huidige komen te staan zodat we kunnen
vergelijken, of moeten we juist vermijden dat er
twee varianten in gebruik zijn en dat er
verwarring ontstaat? Voor de gewone gebruiker is
er eigenlijk geen verschil tussen beide
systemen, dus dat is potentieel verwarrend.
Anderzijds is het in de huidige beperkte opzet
niet zo'n punt en misschien juist handig. Wat
zijn jullie ideeën hierover?
Ik zou het nog even naast elkaar houden, kwestie van
vergelijking. Na het evalueren van de tools kunnen
die dan onder een beter adres beschikbaar gesteld
worden.
Host je het onder je eigen server (desnoods je eigen
github account) of wil je toegang tot de repo die ik
nu heb?
Groeten,
Sander
_______________________________________________
Talk-be mailing list
Talk-be@openstreetmap.org <mailto:Talk-be@openstreetmap.org>
https://lists.openstreetmap.org/listinfo/talk-be
_______________________________________________
Talk-be mailing list
Talk-be@openstreetmap.org
<mailto:Talk-be@openstreetmap.org>
https://lists.openstreetmap.org/listinfo/talk-be
_______________________________________________
Talk-be mailing list
Talk-be@openstreetmap.org <mailto:Talk-be@openstreetmap.org>
https://lists.openstreetmap.org/listinfo/talk-be
_______________________________________________
Talk-be mailing list
Talk-be@openstreetmap.org <mailto:Talk-be@openstreetmap.org>
https://lists.openstreetmap.org/listinfo/talk-be
_______________________________________________
Talk-be mailing list
Talk-be@openstreetmap.org <mailto:Talk-be@openstreetmap.org>
https://lists.openstreetmap.org/listinfo/talk-be
_______________________________________________
Talk-be mailing list
Talk-be@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-be
_______________________________________________
Talk-be mailing list
Talk-be@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-be