logo separator

Converting units

24
Nov

There has always been a way to convert a tag value from meters to feet, this was originally for contour heights which need to be in feet, but the default for OSM is for them to be in meters.

With the release of version r3353 these conversions are much more useful and can be applied to speeds as well as lengths. They also take into account any unit that is already specified.

So for example if you specify a conversion of meters to feet, then "100" will be converted to "328", "100m" will be converted to "328" but "100ft" will be left as "100". Furthermore "100km" would result in "328000". If any of the units are not recognised then the value remains completely unchanged.

Input Result
100 328
100m 328
100ft 100
100km 328000
100xyz 100xyz

Here are some examples.

natural=hill & height=* {
	set height='${height|conv:"m=>ft"}';
    }

highway=* & maxspeed=* {
	set limit='${maxspeed|conv:"kmh=>mph"}';
    }

The possible units are:

  • Length: m, km, ft (feet), mi (miles).
  • Speed: mph; km/h (or kmh, kmph), knots
Posted by steve on 24 Nov 2014

Latest commits

  • mkgmap-r4315 code cleanup: remove obsolete call of Collections.sort() after call of MdrUtils.sortList() which already does this..
    21 oct 2019
  • mkgmap-r4314 fix assertion error when option --make-poi-index is used.
    21 oct 2019
  • mkgmap-r4313 Improve code readability, no change in output expected.
    21 oct 2019
  • mkgmap-r4311 Ignore turn restrictions in ElementSaver when map is not routable to supress warning "ignoring unspecified/unsupported restriction" for type=restriction relations..
    21 oct 2019
  • mkgmap-r4310 Code cleanup, no change in output expected.
    21 oct 2019
See more...