| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  | import ScriptUtils from "./ScriptUtils" | 
					
						
							|  |  |  | import { appendFileSync, readFileSync, writeFileSync } from "fs" | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  | import OsmObjectDownloader from "../Logic/Osm/OsmObjectDownloader" | 
					
						
							| 
									
										
										
										
											2021-08-24 12:13:47 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-09 00:05:51 +02:00
										 |  |  | ScriptUtils.fixUtils() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-24 12:13:47 +02:00
										 |  |  | ScriptUtils.erasableLog("Fixing the cycle highways...") | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  | 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"] | 
					
						
							|  |  |  | ) | 
					
						
							| 
									
										
										
										
											2021-08-24 12:13:47 +02:00
										 |  |  | console.log(ids) | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  | ids.map((id) => | 
					
						
							| 
									
										
										
										
											2023-04-20 03:58:31 +02:00
										 |  |  |     new OsmObjectDownloader().DownloadReferencingRelations(id).then((relations) => { | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  |         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") | 
					
						
							|  |  |  |     }) | 
					
						
							|  |  |  | ) |