緯度経度の操作
このページでは以下の方法について説明しています。
- 緯度経度オブジェクトの生成方法
- 緯度経度オブジェクトの各種操作方法
対象クラス
対象関数
- mapscript.util.calcDistance()
- mapscript.util.transDegreeToMillisec()
- mapscript.util.transMillisecToDegree()
- mapscript.util.transWGSToTokyo()
実装方法
緯度経度オブジェクトの生成
mapscript で緯度経度を扱う場合は、 LatLng クラスを使用して緯度経度オブジェクトを生成する必要があります。
緯度経度オブジェクトの生成方法は以下の通りです。
サンプルコード
// 第一引数に緯度、第二引数に経度を指定します
const latlng = new mapscript.value.LatLng(35.68081, 139.76779);
緯度経度オブジェクトを生成する際に指定する緯度経度の単位
緯度経度オブジェクトを生成する際、引数に指定できる緯度経度は度表記のみとなります。
ミリ秒表記の緯度経度を用いてオブジェクトを生成したい場合は、下記で紹介している transMillisecToDegree()関数を用いて
度表記に変換する必要があります。
緯度経度の操作
LatLngUtil モジュールを利用することで、以下のような操作が可能です。
- 2地点間の距離を算出する
- 緯度経度の単位を変換する
- 測地系を変換する
サンプルコード
const latlng1 = new mapscript.value.LatLng(35.681109, 139.767165)
const latlng2 = new mapscript.value.LatLng(35.665295, 139.712604)
// 2地点間の距離を算出する
mapscript.util.calcDistance(latlng1, latlng2));
// 度表記 → ミリ秒表記に変換
mapscript.util.transDegreeToMillisec(35.681109));
// ミリ秒 → 度表記に変換
mapscript.util.transMillisecToDegree(128451992));
// 日本測地系 → 世界測地系に変換
mapscript.util.transTokyoToWGS(latlng1);
// 世界測地系 → 日本測地系に変換
mapscript.util.transWGSToTokyo(latlng1);