Files
yongestreet/scripts/to-geojson.clj
T
2025-01-03 07:07:53 -05:00

37 lines
990 B
Clojure

(require '[babashka.process :refer [shell process exec]]
'[clojure.string :as strings]
'[babashka.cli :as cli])
(defn osmosis-command [osm-file poly-file output-file]
["osmosis"
"--read-pbf-fast" (str "file=" osm-file)
"--bounding-polygon"
(str"file=" poly-file)
"--write-pbf"
(str "file=" output-file)])
(defn osmium-command [osm-file poly-file output-file]
["osmium"
"extract"
"-p"
poly-file
osm-file
"-o"
output-file])
(defn extract-osm-pbf [osm-file poly-file]
(let [output-file (strings/replace poly-file ".poly" ".osm.pbf")
cmd (osmium-command osm-file poly-file output-file)]
(println "Processing " poly-file " file to " output-file)
(println cmd)
(apply shell (into [{:continue false}] cmd))))
(def opts (cli/parse-opts *command-line-args* {:coerce {:paths []}}))
(println "ok")
(println opts)
(doall (map
#(extract-osm-pbf (:osm-file opts) %)
(:paths opts)))