[OSM-dev] central elemstyles/MapFeatures.xml

Joerg Ostertag (OSM Munich/Germany) openstreetmap at ostertag.name
Mon Nov 6 21:26:46 GMT 2006


Hi,

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 
time.

So I would really need (positive ;-) __ FEEDBACK __ from all developers which 
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 
XML::Parser.
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 which 
is used as a basis for all editors and renderers. This way all OSM-Maps have 
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 
gpsdrive).
So this is one more reason, why I'd like to have one central MapFeatures.xml 
File with all the rules in there. 



I think using the Format of the data/freemap.xml File seems like the easiest 
start.

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 can 
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=... and 
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.

<mapfeatures>
 <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 people</description_en>
  <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>
</mapfeatures>

-- 
Jörg (Germany, Munich)

http://www.ostertag.name/
TeamSpeak2: ts2.ostertag.name, user: tweety, Channel: "GPS Drive"
irc://irc.oftc.net/#osm
Tel.: +49 89 420950304
Skype: skype-1106 at ostertag.name




More information about the dev mailing list