$ npm install @turf/distance
$ npm install @turf/helpers
index.ts
import distance from '@turf/distance' import { point } from '@turf/helpers' const tokyo = point([139.69198077115493, 35.68978025468156]) const osaka = point([135.51980022509665, 34.6865543538711]) const result = distance(tokyo, osaka, {units: 'kilometers'}) console.log(result)
$ node sample.js
395.1818245563336
これをコマンドライン引数で書くと
import distance from '@turf/distance' import { point } from '@turf/helpers' console.log("Node path = " + process.argv[0]) console.log("Script file path = " + process.argv[1]) const startLongitude = Number(process.argv[2]) const startLatitude = Number(process.argv[3]) const destLongitude = Number(process.argv[4]) const destLatitude = Number(process.argv[5]) const start = point([startLongitude, startLatitude]) const dest = point([destLongitude, destLatitude]) const result = distance(start, dest, {units: 'kilometers'}) console.log(result)
これにアロー関数を追加する
const f = (name:string, speed:number): void => { let time = result / speed console.log("時速" + speed + "km/hの" + name + "だと、" + time + "時間かかります。") } f("新幹線", 200) f("高速バス", 120)
$ node sample.js 139.69198077115493 35.68978025468156 135.51980022509665 34.6865543538711
395.1818245563336
時速200km/hの新幹線だと、1.975909122781668時間かかります。
時速120km/hの高速バスだと、3.29318187130278時間かかります。
process.argvを変数に代入すると冗長になるから直接書いても良さそうだな
高速バスで東京大阪は3.2時間以上かかるから、実際のところ60km/h ってところか。
うむ、書きながら勉強になるな