[OSM-talk-nl] Nederlandse Fietskaart
Martijn Verwijmeren
cartinus at xs4all.nl
Sat Feb 16 08:47:55 UTC 2008
On Fri, 15 Feb 2008 17:58:45 +0100
Joris Meijerink <meijerink at gmail.com> wrote:
> Martijn van Oosterhout wrote:
> > 2008/2/15 Joris Meijerink <meijerink at gmail.com>:
> >
> >> Heb je misschien een voorbeeld stylesheet? De site
> >> http://www.mapnik.org/ is een beetje karig, maar wel een mooi
> >> plaatje van Amsterdam op de frontpage.
> >>
> >
> > Ik zou misschien beginnen met de standard OSM stylesheet:
> > http://svn.openstreetmap.org/applications/rendering/mapnik/osm.xml
> >
> > Om een heel concreet voorbeeld te geven:
> > <Rule>
> > <MaxScaleDenominator>25000</MaxScaleDenominator>
> > <Filter>[railway]='station'</Filter>
> > <PointSymbolizer file="/home/steve/symbols/station.png"
> > type="png" width="9" height="9" />
> > </Rule>
> >
> > Je hebt Line/Point/Polygon/TextSymbolisers. De scaledenominator
> > heeft de maken met de schaal. Voor een eerste versie zou ik mij
> > daar niet zo druk over maken.
> >
> > Mvg,
> >
> Ok, als ik het zo bekijk lijkt het wel mee te vallen voor de nodes.
>
> <Style name="rcn">
> <Rule>
> <Filter>[network] = 'rcn'</Filter>
> <ShieldSymbolizer name="rcn_ref" face_name="DejaVu Sans Bold"
> size="11" fill="#336633" file="cycle_node_nl.png" type="png"
> width="17" height="17" /> </Rule> </Style>
>
> en dan met cycle_node_nl.png een rondje met een mooi donker groene
> rand, #336633.
> Alleen hoe krijg je ze pas zichtbaar op een bepaald zoomlevel?
Op de plek waar je de stylesheet hebt gevonden staan meer bestanden:
http://trac.openstreetmap.org/browser/applications/rendering/mapnik
De laatste in dat lijstje bevat de getallen voor de zoomlevels.
Afgeronde getallen tussen de "exacte" waarden in dat lijstje kun
je vervolgens gebruiken in de stylesheet met <MaxScaleDenominator>
> In de cycle-kaart van Andy, hebben de grotere wegen een grijstint en
> zijn de kleuren van landuse een beetje gewijzigd. Alleen de kleuren
> van de grote wegen grijzer lijkt me voldoende.
> National cycle shields zijn zichtbaar vanaf zoom 9, regionale vanaf
> zoom 10, lokaal vanaf 12.
> De nodes van de regionale zijn zichtbaar vanaf zoom 10.
Volgens mij probeer je in het stukje stylesheet daarboven twee dingen
door elkaar te doen. De nodes in het netwerk zijn gewoon POI's en
moeten dus met een PointSymbolizer in de kaart worden gezet.
ShieldSymbolizer is voor de "bordjes" die in de routes zitten (4 voor
LF4 bijvoorbeeld).
> Hoe krijgen relaties kleuren?
> National cycle routes zijn zichtbaar vanaf zoom 5, regionale vanaf
> zoom 7, lokaal zoom 8.
Kaarten maken met Mapnik is een tweetraps proces. Eerst de OSM data in
een Postgresql database zetten m.b.v. osm2pgsql en daarna pas renderen
met Mapnik. De standaard versie van osm2pgsql geeft wel een mooie
melding op het scherm dat hij de relaties uit het osm bestand heeft
geprocessed, maar ze zijn daarna nergens in de database terug te
vinden. (Ik vermoed dat hij alleen wat doet met multipolygons en die
zaten er niet in mijn test bestand; alleen route en bridge relaties.) Je
kunt ze dan natuurlijk ook geen kleurtje geven met Mapnik. Ook worden
lang niet alle tags op ways en nodes in de database geplaatst en de
meeste nodes vind je zelfs niet als individuele node terug.
De tag "network" is één van de vele tags die standaard niet wordt
geimporteerd. Ook zullen bijna alle knooppunten niet op nodes zitten
die de standaard osm2pgsql interesant vindt. De enige manier om
osm2pgsql te "configureren" is het aanpassen en opnieuw compileren van
de code. Een tag toevoegen is slechts één regeltje nieuwe code. Zorgen
dat de nodes erin komen is vast ook ergens een regel of woordje
toevoegen. De relaties verwerken is waarschijnlijk iets meer werk (nog
niet in detail naar gekeken).
- - - - - - - -
Zo, m'n ontbijt zit erin. Tijd voor een ochtenwandeling in de zon (met
GPS).
Groetjes,
Cartinus
More information about the Talk-nl
mailing list