forked from MapComplete/MapComplete
		
	
		
			
	
	
		
			25 lines
		
	
	
	
		
			1,002 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
	
		
			1,002 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | import Script from "./Script"; | ||
|  | import {TagUtils} from "../Logic/Tags/TagUtils"; | ||
|  | import {And} from "../Logic/Tags/And"; | ||
|  | import Constants from "../Models/Constants"; | ||
|  | import {ImmutableStore} from "../Logic/UIEventSource"; | ||
|  | import {BBox} from "../Logic/BBox"; | ||
|  | import {Overpass} from "../Logic/Osm/Overpass"; | ||
|  | const fs = require("fs") | ||
|  | class DownloadFromOverpass extends Script { | ||
|  | 
 | ||
|  |     constructor() { | ||
|  |         super("Downloads data from openstreetmap, will save this as 'export.geojson'. All arguments will be interpreted as key=value pairs"); | ||
|  |     } | ||
|  |     async main(args: string[]): Promise<void> { | ||
|  |         const tags = new And(args.map(k => TagUtils.Tag(k))) | ||
|  |         const overpass = new Overpass(tags,[], Constants.defaultOverpassUrls[0], new ImmutableStore(500)) | ||
|  |         const [data, _] = await overpass.queryGeoJson(BBox.global) | ||
|  |         fs.writeFileSync("export.geojson", JSON.stringify(data), "utf8") | ||
|  |         console.log("Written", data.features.length,"entries") | ||
|  |     } | ||
|  | 
 | ||
|  | } | ||
|  | 
 | ||
|  | new DownloadFromOverpass().run() |