General Problem

I want to be able to select all nodes inside of a bounding box that have similar properties. A good example would be: Map features that represent vegetaion. In other words: Basically everything a map renderer usually displays in green (trees/woods/forests/...).

Specific Problem

OpenStreetMap data is my primary data source. OpenStreeMap manages a wiki page about vegetation which lists various tages OSM users usually use to tag vegetation. Using the Overpass API I was able to select most of the vegetation that appears green on the OSM web site but unfortunately not everything. The problems are inappropriately tagged map features.

Since most users on OSM primarily look whether their added/edited nodes look correctly in OSM, my idea was to extract the specific mapping used for OSM from the Mapnik renderer source repository. There must be some information which maps OSM tags to the Mapnik model which eventually results in green areas. I had a quick look in plugins/input/osm/ but was unable to find something.


Where is the bit of code and the respective data that decides that OSM tags like wood=mixed , landuse=forest and so forth are eventually displayed as green area (with little dark green trees)?

Alternatively: Do you have any other ideas to extract all vegetation that the OSM web site renders greenish?


I'm not familiar with the OSM architecture nor the Mapnik source code, therefore my question might seem silly. So if you only know a little more than me, I'd be very happy if you could point me out the bits of code/data that'd help me :-). Thanks!

1 Answer 1


Answering my own question: The mapnik-stylesheets repository seems to be what I was looking for. This repository contains the mapnik configuration in use for OSM. It's then only a matter of finding what <Filter/> matches specify the images (in symbols/ directory) in question.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.