[OSM-talk-nl] nl fietskaart afstanden

René Affourtit raffourtit at gmail.com
Fri Apr 11 20:24:43 BST 2008


Ik ben eens een beetje aan het hobbien gegaan met de fiets route relaties.

Zelf kom ik er niet uit. En aangezien ik de komende weken geen tijd
heb post ik mijn bevindingen maar even in de hoop dat iemand met meer
kennis wat aan elkaar kan knopen. Of de boel af kan schieten...
Onderstaande is gebaseerd op aantekeningen, type- en spelfouten voorbehouden.

Oorspronkelijk plan: van alle LF routes de totale lengte bepalen zoals
die nu in OSM staat om de wiki mee te updaten. Dit gebaseerd op de NL
uitsnede van geofabrik.
Verdere gedachte, dan kunnen we misschien gelijk de lengte tussen de
knooppunten op de fietskaart bepalen. Na wat gepruts lokaal een
database aan de gang gekregen volgens de instructies van de NL
tileserver.  Misschien makkelijk om op de wiki een stuk te zetten hoe
de NL fietskaart wordt gemaakt?

Eerst maar eens prutsen met een klein straatje in de buurt:
Query: select length(way) from planet_osm_lines where osm_id=7267486
resultaat: 111.
vreemd, zowel google als JOSM  meten rond de 70 meter.

Na wat (veel) zoeken:
Select length(transform(way, 28992)) from planet_osm_lines where osm_id=7267486
resultaat: 69.9... Okee.
Ter uitleg van wat ik ervan begrijp: transform(geom, 28992)
converteert naar het driehoeks meetsysteem dat in nederland gebruikt
wordt. Hierdoor verandert de eenheid ook in meters. Welk systeem je
kiest hangt af van waar ik de wereld je zit.
Waarschijnlijk kan deze waarde ook achteraf omgerekend worden lengte
is lengte toch?


Nu hebben we in de database voor zover ik weet niet meer de originele
relatie-IDs beschikbaar.
Voor de fietskaart wordt (begreep ik van Rob) een aangepaste database
gebruikt. Deze wordt gegenereed met code gebaseerd hierop (?? niet
zeker)  [1], [2].
Ik heb geprobeert het te compileren, maar 'invalid pointer error' gaat
mij op dit moment weer boven m'n pet.


Als we in de database een link hebben van een  relatie naar de ways
kunnen we met een query als:
select sum(length(transform(way, 28992))) from planet_osm_line where
relation=...
de totale lengte bepalen. Waarschijnlijk moeten we dit doen als
laatste stap van het importeren, omdat het ergens opgeslagen moet
worden.
Misschien is het beter om bij het importeren van de data voor iedere
route relatie de totale lengte van de ways bepalen? Bijkomend probleem
zijn forward/backward/alternate.


Volgende probleem wordt dan de link naar mapnik, die zal het weer als
een veld willen zien. Maar wij willen niet bij ieder segmentje 6km
hebben staan.


Ik geef het op, (voor nu dan...)

Rene.

[1] http://wiki.openstreetmap.org/index.php/User_talk:Eimai#Mapnik
[2] http://fenix.cmi.ua.ac.be/~p015259/osm/




More information about the Talk-nl mailing list