package org.osm2world.core.map_elevation.creation; import static org.openstreetmap.josm.plugins.graphview.core.util.ValueStringParser.parseOsmDecimal; import org.openstreetmap.josm.plugins.graphview.core.data.TagGroup; /** * sets elevations based on level tags */ public class LevelTagElevationCalculator extends TagElevationCalculator { final double elePerLevel; public LevelTagElevationCalculator(double elePerLevel) { super(0.0, true); this.elePerLevel = elePerLevel; } public LevelTagElevationCalculator() { this(3.0); } @Override protected Double getEleForTags(TagGroup tags) { Float value = null; if (tags.containsKey("level")) { value = parseOsmDecimal(tags.getValue("level"), true); } if (value == null) { return null; } else { return elePerLevel * value; } } }