[OSM-dev] central elemstyles/MapFeatures.xml

Andy Robinson Andy_J_Robinson at blueyonder.co.uk
Mon Nov 6 23:07:12 GMT 2006

Hi Joerg,

I'm working on an XML structure that fits most of what you are talking about

A few comments at this stage:

The location of the final XML reference file will not be under Map Features
since the end result would hopefully form the basis for describing all of
the data types held by OSM, including the current nodes, segments, ways etc.
The end result will be XML which is centrally located on the server but at a
position to be determined.

The structure of the XML will need to be enforceable so I envisage there
will be a full XSD. That will ensure that parsers can always work with the
data properly.

Within the structure I envisage that all of the usages to which OSM data can
be made will be covered, whether this is for generic rendering, specialist
rendering, route mapping, navigation or anything else. Not all of the
supporting XML will be developed at this point in time but hopefully the
structure will permit anyone to come along and extend to cover the missing
parts or any new usage that someone comes up with an idea for.

Finally I'll point out that my personal philosophy is to try where possible
to keep it simple and plain. I've said it before; I'm not interested in
building another GML. The extensibility you suggest to permit specialised
rendering at different scales for instance needs to come from the way
tagging is exploited in software, rather than something enforced by the
basic mark-up language. ie, the rules applied to the data should not be part
of the schema since the rules will change depending upon the needs of the
user. Having said that, there is no reason why "standardised" rules cannot
be developed for specific tasks just as osmarender's rules file does now.



Andy Robinson
Andy_J_Robinson at blueyonder.co.uk 

>-----Original Message-----
>From: dev-bounces at openstreetmap.org [mailto:dev-bounces at openstreetmap.org]
>On Behalf Of Joerg Ostertag (OSM Munich/Germany)
>Sent: 06 November 2006 9:27 PM
>To: dev at openstreetmap.org
>Subject: [OSM-dev] central elemstyles/MapFeatures.xml
>Is there a chance, that we combine the functionality of the elemstyles and
>mapfeatures files? I think this would be very important to save very much
>So I would really need (positive ;-) __ FEEDBACK __ from all developers
>are working at any kind of rendering engine for OSM-Data.
>For the first I would suggest that every Programm needing to do rendering,
>does use a file placed at
>	http://svn.openstreetmap.org/data/MapFeatures.xml
>This file must have a content which can be completely parsed by any normal
>I think the two files
>	data/freemap.xml
>	data/elemstyles.xml
>are a good start. But I'd like to only have one central MapFeatures file
>is used as a basis for all editors and renderers. This way all OSM-Maps
>the same look and feel. All Editors would base on the same taggin-scheme,
>And not everyone who does rendering code has to write his own
>elemstyles/mapfeatures/rendercontrol/... .xml-File. I want to use this file
>too for gpsdrive and osm-pdf-atlas. I already did some tests with
>osm-pdf-atlas and I managed to add icons to the pdf. But I think it doesn't
>make sense to start a new MapFeatures.xml file for osm-pdf-atlas (or
>So this is one more reason, why I'd like to have one central
>File with all the rules in there.
>I think using the Format of the data/freemap.xml File seems like the
>I then would add some more tags:
>description_en: International english description
>                manatory
>description_uk: British english description
>		optional
>description_de: German description
>		optional
>	.... other languages by there country code ...
>country: The country where this feature is primarily used.
>	If you don't specify any it's used worldwide.
>I would then move the rendering stuff to a subkey 'rendering'. Every rule
>hold more than one of these '<rendering>'-keys. This would be used to have
>different rendering rules for different scales.
>In the example you would show the icon and an annotation for the lower
>resolutions(1:1 ... 1:10000). These annotations would be the tag name=...
>the tag regioncode=... .
>But if you want to render an overview (scale 1:10000 ... 1:100000)you would
>only render the icon without any text.
> <rule>
>  <condition k="class" v="suburb" />
>  <country>de</country>
>  <poi_type>city.small</poi_type>
>  <description_en>Suburbs smaller than 1000 people</description_en>
>  <description_de>Suburbs smaller than 1000 people</description_en>
>  <description_gb>Suburbs smaller than 1000 people</description_en>
>  <description_long_en>All Suburbs smaller than 1000
>  <rendering>
>    <scale_min>1  </scale_min>
>    <scale_max>10000  </scale_max>
>    <icon annotate="name,regioncode" src="place.png" />
>  </rendering>
>  <rendering>
>    <scale_min>10000  </scale_min>
>    <scale_max>100000  </scale_max>
>    <icon src="city/small.png" />
>  </rendering>
> </rule>
> <rule>
> 	...
> </rule>
>Jörg (Germany, Munich)
>TeamSpeak2: ts2.ostertag.name, user: tweety, Channel: "GPS Drive"
>Tel.: +49 89 420950304
>Skype: skype-1106 at ostertag.name
>dev mailing list
>dev at openstreetmap.org

More information about the dev mailing list