forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			34 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import ScriptUtils from "./ScriptUtils"
 | |
| import { appendFileSync, readFileSync, writeFileSync } from "fs"
 | |
| import OsmObjectDownloader from "../Logic/Osm/OsmObjectDownloader"
 | |
| 
 | |
| 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) =>
 | |
|     new OsmObjectDownloader().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")
 | |
|     })
 | |
| )
 |