長さを計測する方法を紹介します。
地図上の任意の地点間の距離やベクタデータの長さなどを計測する方法です。
緯度経度の地理座標系では距離を計測することができないので投影座標系で作業を行います。 以下のページを参照してプロジェクトの空間座標系を平面直角座標系にしておきます。 プロジェクトの空間座標系を設定する
地図上の任意の地点間の距離を計測する
地図上で始点と終点を直接指定して計測します。
メニューバーの「ビュー」から「計測」を選択し、出てくるメニューを中から「線の長さを測る」を選択します。
もしくは、ウインドウ上部のツールバーにある定規マーク右側にある▼をクリックし、出てきたメニューから「線の長さを測る」選択しても同じです。
すると、線の長さを計測できるモードに入りカーソルが十字マークに変化します。
そして「計測」ウインドウが出現します。
「計測」ウインドウでは簡単な設定を行います。
- 「合計」欄で、計測する距離の単位を指定できます。初期状態では「メートル」となっています。選択メニューの中から計測する距離の長さに合わせて好みのものに合わせます。
- 「合計」欄の下にあるチェックボックスでは、「デカルト座標」にチェックを入れます。※平面直角座標系で計測を行う場合。
必要な設定はこの2点です。
設定が出来たら地図上の任意の場所をクリックします。
そしてカーソルを動かすと始点からカーソルの位置まで伸びる線が出現します。
この地点が距離を計測する始点となります。
ドラッグ操作ではありません。クリックしたらボタンを離してからカーソルを動かします。
計測ウインドウには始点からカーソルの位置までの距離がリアルタイムで表示されます。
この状態で新たな場所をクリックするとそこが終点となり距離が確定します。
そしてカーソルを動かすとさらにその地点を始点として線が伸びます。
「計測」ウインドウには確定した距離の下に新たな距離がリアルタイムで表示され、合計欄にはその二つの距離の合計が表示されています。
この状態で右クリックをすると距離が確定します。
計測を終了する場合は、ツールバーの手のひらマークのアイコンをクリックして、距離を計測するモードを解除します。
「計測」ウインドウを閉じるだけでは、地図上をクリックするたびに新規の計測が開始されてしまいます。カーソルが十字の状態のままになっていないことを確認しましょう。
フィールド計算機で計算する
フールド計算機を使用して機械的に距離を計算することもできます。
手作業で計測するとクリックした場所が微妙にずれるため誤差が発生します。
ざっくりとした距離を確認する場合であれば手作業で問題無いですが、そうでない場合はフィールド計算機で計算した方が正確です。
ラインデータの長さを測る場合と、ポリゴンデータの外周の長さを測る場合をそれぞれ説明します。
ラインデータの長さを計算する
例として函館市の函館山ロープウェイの路線位置を示すオリジナルのラインデータで説明します。
以下のような手順でラインデータのフィールド計算機を開きます。
レイヤパネルのラインデータのレイヤ名の上で右クリックし、出てきたメニューから「属性テーブルを開く」を選択します。
編集モードに切り替えて、ツールバーから「フィールド計算機を開く」を選択します。
編集モードへの切り替えはツールバーの一番左にある鉛筆マークのアイコン、フィールド計算機を開くには右の方にあるそろばんマークのアイコンをクリックします。
「フィールド計算機」ウインドウが表示されるので以下のように設定を行います。
- 「新しいフィールドを作る」にチェックを入れる
- 「出力する属性(フィールド)の名前」欄に「距離」と入力
- 「フィールド型」欄は「小数点付き数値(real)」を選択
- 「式」欄に以下の関数を入力します
$length
すると「距離」というフィールドが新規に作成され、ラインの距離が属性値として入力されます。
単位はメートルで入力されます。
函館山ロープウェイの路線の長さは約802mと計算されました。
なお、キロメートルで計算したい場合は「式」欄の関数を以下のようにします。
$length/1000
ポリゴンの外周の長さを計算する
関数を変更するとポリゴンデータの外周を計測することができます。
例として函館市の五稜郭の形状を示すオリジナルのポリゴンデータで説明します。
ポリゴンデータの外周を計測する場合は、上で説明したラインデータと同じ手順で新規のフィールドを作成して「式」欄に以下の関数を入力します
$perimeter
「距離」というフィールドが新規に作成され、ポリゴン外周の距離が属性値として入力されます。
五稜郭の外周の長さは約1743mと計算されました。
単位はメートルで入力されるので、キロメートルとしたい場合は「式」欄の関数を以下のようにします。
$perimeter/1000