OsmAnd/config/basemap/ogr2osm/translations/carreteras_gv.py

77 lines
2.2 KiB
Python
Raw Normal View History

2011-06-19 22:54:53 +02:00
"""
Translation rules for Valencia Community road network.
This is so simple that it'll be used as an example of how to build translation methods.
The important thing is that a file like this must define a "translateAttributes" function that, taking a directory of attributes (key:value), will return a directory of tags (key:value)
The function must allow for empty directories.
The reason for using a full module is that you can define auxiliary functions and data structures here. But this example is so simple it won't have any auxiliary stuff at all.
"""
def translateAttributes(attrs):
if not attrs: return
tags = {}
# Use the "NOM_ACT" attribute as the name= tag
if attrs['NOM_ACT']:
tags = {'name':attrs['NOM_ACT']}
# If the name contains an hyphen, set it to the ref= tag too
if attrs['NOM_ACT'].find('-') != -1:
tags.update({'ref':attrs['NOM_ACT']})
# Depending on the value of the TIPUS_ACT, set the highway= tag
if attrs['TIPUS_ACT'] == 'Altres comunitats autonomes':
tags.update({'highway':'road'})
elif attrs['TIPUS_ACT'] == 'Basica':
tags.update({'highway':'trunk'})
elif attrs['TIPUS_ACT'] == 'En construccio':
tags.update({'highway':'construction','construction':'road'})
elif attrs['TIPUS_ACT'] == 'Via de servei':
tags.update({'highway':'service'})
elif attrs['TIPUS_ACT'] == 'Municipal':
tags.update({'highway':'primary'})
elif attrs['TIPUS_ACT'] == 'Autopista/Autovia':
tags.update({'highway':'motorway'})
elif attrs['TIPUS_ACT'] == 'Auxiliar':
tags.update({'highway':'motorway_link'})
elif attrs['TIPUS_ACT'] == 'Local':
tags.update({'highway':'tertiary'})
elif attrs['TIPUS_ACT'] == 'Fora de servei':
tags.update({'highway':'road', 'access':'no'})
#print "foo!"
return tags
#sys.exit()
"""
Taken from --attribute-stats:
All values for attribute TIPUS_ACT:
{'Altres comunitats autonomes': 224, 'Basica': 2950, 'En construccio': 360, 'Via de servei': 505, 'Municipal': 3135, 'Autopista/Autovia': 2849, 'Auxiliar': 9887, 'Local': 4868, 'Fora de servei': 35}
All values for attribute TIT_ACT:
{'Diputacio': 3337, 'Municipal': 2152, 'Sense determinar': 6498, 'Ministeri': 5908, 'Conselleria': 6881, 'Fora de servei': 35, 'Altres administracions': 2}
"""