(2019-3-12) 対象となる要素にPolyLineShapeも処理できるよう追加した
地図作成でCPを決める時は、CPをまわるルートの長さを知りたくなる。地図印刷してキルビメーターで測ればわかるが煩わしい。
地図サービスを見てみると、GoogleMapではマイマップの機能で折れ線を作成すると全長が出るし、折れ線を保存・編集もできるので、機能的には足りているが、地図自体が山間部など貧弱なのが弱点。地理院地図では、ツールで計測できるが、その折れ線を保存・編集できない、作図・保存の機能があるが、こちらでは編集できるが長さはわからない。
そこで、作図ソフトであるLibreOfficeのDrawを調べた。折れ線のプロパティとして全長があっても良いのだが、残念ながらない。そこで折れ線の長さを計算するマクロを作成したので公開する。
利用手順は以下のとおり。
準備1)マクロをダウンロード(こちらを右クリックしたメニューからパソコンに保存できます)。
準備2)マクロの実行準備として、マクロをDrawに登録する。
・Drawを起動して、ツール⇒マクロ⇒マクロの管理⇒LibreOfficeBasicと選択し管理用サブウィンドウを起動。はじめてのマクロ登録の場合は、マイマクロ下のStandardが選択されているので右にある「新規」ボタンを押す
・右のマクロ編集ウィンドウにある「Sub Main」「End Sub」の2行を削除して空にする。ファイル⇒ImportBasicで ダウンロードしたファイルをクリック
実行1)折れ線を作図したら、右クリックメニューの「名前」から’path’で始まる名前をつける
実行2)マクロを実行
・ツール⇒マクロ⇒マクロの管理⇒LibreOfficeBasicと選択し、管理用サブウィンドウを起動し「実行」ボタンを押す。
・ポップアップウィンドウに計算されたミリメートル単位の長さが表示される。折れ線のみの長さと、折れ線の始点終点を結んで閉じた場合の長さと2個。
実行3)折れ線を編集した場合は、実行2)の操作のみで再計算される。’path’のついた折れ線が複数あった場合、順次処理される。
レイヤー順に要素を並べ替えるマクロもあります。こちらです。