Skip to content

Instantly share code, notes, and snippets.

@mblaine
Created February 10, 2024 15:45
Show Gist options
  • Save mblaine/442942406574caf9abb2800ab4e9e35e to your computer and use it in GitHub Desktop.
Save mblaine/442942406574caf9abb2800ab4e9e35e to your computer and use it in GitHub Desktop.
pipe_tape_sample2.js
import josm from 'josm'
import * as console from 'josm/scriptingconsole'
import { DataSetUtil, OsmPrimitiveType, DataSet } from 'josm/ds'
import {Api} from 'josm/api'
import {buildDeleteCommand} from 'josm/command'
const HashSet = Java.type('java.util.HashSet')
const MergeNodesAction = Java.type('org.openstreetmap.josm.actions.MergeNodesAction')
const layer = josm.layers.get(0);
const dsutil = new DataSetUtil(josm.layers.get(0).getDataSet());
function mergeNodes(id1, id2, id3, id4, id5, id6)
{
const nodes = new HashSet();
for(let i = 0; i < arguments.length; i++)
{
if(typeof(arguments[i]) !== "undefined")
{
let item = dsutil.get(arguments[i],'node');
if(item !== null && item.isDeleted() === false)
nodes.add(item);
}
}
if(nodes.size() <= 1)
{
console.println('mergeNodes failure: ' + arguments[0].toString());
}
else
{
MergeNodesAction.doMergeNodes(layer, nodes, nodes.iterator().next());
}
}
function deleteWay(id)
{
let item;
item = dsutil.get(id,'way');
if(item === null || item.hasTag("NHD:FType") === false || !(item.get("NHD:FType") === "ArtificialPath" || item.get("NHD:FType") === "Connector"))
{
console.println('deleteWay failure: ' + id.toString());
}
else
{
let parents = item.firstNode().getParentWays();
if(parents.size() > 1)
{
console.println('deleteWay failure, connected to something: ' + id.toString());
}
else
{
buildDeleteCommand(item).applyTo(layer);
}
}
}
mergeNodes(820025863,809352956);
mergeNodes(820013968,810081419);
mergeNodes(820025120,807322945);
mergeNodes(820033888,810661868);
mergeNodes(820014139,807389498);
mergeNodes(820016526,807336535);
mergeNodes(820026067,810081469);
mergeNodes(820039962,810741328);
mergeNodes(820018884,807338472);
mergeNodes(820032606,810625573);
mergeNodes(820018502,807370185);
mergeNodes(820020004,810186624);
mergeNodes(820017496,810329843);
mergeNodes(820020164,810621020);
mergeNodes(820037798,809254274);
mergeNodes(820027540,809242752);
mergeNodes(820015010,810178905);
mergeNodes(820029267,807588147);
mergeNodes(820021558,810143370);
mergeNodes(1499526900,1498693515);
deleteWay(136692705);
mergeNodes(1499551718,1498882268);
deleteWay(136692754);
mergeNodes(1499524176,1498679960);
deleteWay(136692760);
mergeNodes(1499519381,1498655962);
deleteWay(136692774);
mergeNodes(1499518513,1498649790);
deleteWay(136692789);
deleteWay(136692802);
deleteWay(136692842);
mergeNodes(1499548621,1498848879);
deleteWay(136696849);
deleteWay(136696852);
mergeNodes(1499519524,1498658170);
deleteWay(136696857);
mergeNodes(1499586497,1498617300);
deleteWay(136696861);
deleteWay(136696885);
deleteWay(136696895);
mergeNodes(1499614985,1498831823);
deleteWay(136696901);
deleteWay(136696918);
deleteWay(136696926);
mergeNodes(1499603168,1498774458);
mergeNodes(1499599661,1498740954);
mergeNodes(1499588819,1498653862);
deleteWay(136740269);
mergeNodes(1499600043,1498745800);
deleteWay(136740285);
deleteWay(136740317);
deleteWay(136740328);
deleteWay(136740335);
deleteWay(136740350);
deleteWay(136740352);
deleteWay(136740354);
deleteWay(136740410);
mergeNodes(1500176484,1498791742);
mergeNodes(1500378404,1498637614);
deleteWay(136769229);
mergeNodes(1500371500,1498622900);
deleteWay(136769241);
deleteWay(136769250);
mergeNodes(1499594017,1498676768);
deleteWay(136769281);
mergeNodes(1500423815,1498666018);
deleteWay(136769288);
deleteWay(136769305);
mergeNodes(1500910557,1498802304);
deleteWay(136769348);
mergeNodes(1500408182,1498661233);
deleteWay(136769484);
mergeNodes(1500548848,1498832180);
mergeNodes(1500562666,1498866655);
mergeNodes(1500559242,1498851698);
mergeNodes(1500918096,1498879924);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment