ニーズがあるかどうかわかりませんが、ラインデータをポイントに変換してxy座標を取り出すという作業をする機会があったのでやり方をメモ。
ラインの頂点を抽出する
ベクタ→ジオメトリツール→頂点の抽出
出力すべきCRSに変換
最初から出力するCRSで作業している場合は良いのですが、今回はwgs84に出力したかったので変換します。
「頂点」レイヤを右クリック→エクスポート→地物の保存
CRSにWGS84を指定しました。保存形式はSpatialiteにしましたが、シェープファイルでも問題ありません。
フィールド計算機で座標を取得する
「フィールド計算機」でX、Y座標を取得します。
- 「新しフィールドを作る」にチェック
- 「出力フィールド名」は「lat」
- 「出力フィールドタイプ」→「小数点付き数値(real)」
- 「出力フィールド長」→m単位ぐらいまで出力したいなら「7」以上
- 座標を取り出す式は「$x」
新たに緯度と経度が出力された「lat」フィールドと「lon」フィールドが作成されました。
CSV形式で出力する
leaflet.jsで動く松浦武四郎マップ。赤色のルートがポイントに変換したラインデータ。Rのsfパッケージで読み込んでleafletパッケージで吐き出すほうが簡単でしたね・・・