Skip to content

Instantly share code, notes, and snippets.

@Rub21
Created November 26, 2014 02:59
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save Rub21/47838797856566a8b6ba to your computer and use it in GitHub Desktop.
function current_layer() {
var layers = require("josm/layers");
return layers.activeLayer;
}
function toTitleCase(str) {
return str.replace(/\w\S*/g, function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
}
function rename_highways() {
var layer = current_layer();
if (layer == null) return;
var util = require("josm/util");
var command = require("josm/command");
var console = require("josm/scriptingconsole");
var dataset = layer.data;
var result = dataset.query("type:way");
var renames = 0;
var remove_names_sn = 0;
console.println("number of ways: " + result.length);
for (j = 0; j < result.length; j++) {
var way = result[j];
// var tags = way.tags;
var highway = way.tags.highway;
if (highway !== undefined) {
var name = way.tags.name;
if (name == "S/N") {
way.tags.name = null;
way.setModified(true);
remove_names_sn++;
} else if (name !== undefined) {
var new_name = toTitleCase(name);
if (new_name !== name) {
renames++;
way.tags.name = new_name;
way.setModified(true);
}else{
console.println(name +"--->"+ new_name);
}
}
}
}
console.println("number of ways remove name = S/N : " + remove_names_sn);
console.println("Number of ways renames: " + renames);
}
rename_highways();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment