forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			21 lines
		
	
	
		
			No EOL
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			No EOL
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import ScriptUtils from "./ScriptUtils";
 | |
| import {appendFileSync, readFileSync, writeFileSync} from "fs";
 | |
| import {OsmObject} from "../Logic/Osm/OsmObject";
 | |
| 
 | |
| ScriptUtils.fixUtils()
 | |
| 
 | |
| ScriptUtils.erasableLog("Fixing the cycle highways...")
 | |
| writeFileSync("cycleHighwayFix.osc", "<osmChange version=\"0.6\" generator=\"Handmade\" copyright=\"OpenStreetMap and Contributors\"\n" +
 | |
|     "           attribution=\"http://www.openstreetmap.org/copyright\" license=\"http://opendatacommons.org/licenses/odbl/1-0/\">\n" +
 | |
|     "    <modify>", "utf8")
 | |
| const ids = JSON.parse(readFileSync("export.geojson", "utf-8")).features.map(f => f.properties["@id"])
 | |
| console.log(ids)
 | |
| ids.map(id => OsmObject.DownloadReferencingRelations(id).then(relations => {
 | |
|     console.log(relations)
 | |
|     const changeparts = relations.filter(relation => relation.tags["cycle_highway"] == "yes" && relation.tags["note:state"] == undefined)
 | |
|         .map(relation => {
 | |
|             relation.tags["note:state"] = "has_highway_under_construction";
 | |
|             return relation.ChangesetXML(undefined)
 | |
|         })
 | |
|     appendFileSync("cycleHighwayFix.osc", changeparts.join("\n"), "utf8")
 | |
| })) |