2018/12/23

BulkVectorExport

QGIS 3.4

http://plugins.qgis.org/plugins/BulkVectorExport/

表示しているベクタレイヤを設定したフォーマット 及び CRS でエクスポート


【Output format】保存する形式を選択

 【Save to dir】保存するフォルダを選択

 ほか、CRSの選択 及び SLD・qlrファイルのエクスポートも可能。


2018/12/16

Bulk vector export as SLD and GeoJson

QGIS 3.4

2018/12/23 追記:
https://forestry-gis.blogspot.com/2018/12/bulkvectorexport.html
ほぼ同機能のプラグイン。↑ こちらのほうが使いやすい。



http://plugins.qgis.org/plugins/bulkvectorexportwithstyle/

 QGISに表示している全てのベクタレイヤをGeoJsonとしてエクスポート


アイコンをクリックし、エクスポート先を設定すると、プロジェクト名のzipファイルが生成される 


GeoJsonファイルと、スタイルを記録したSLDファイル。レイヤの順序などが記録されたmetadataが入っている 


2018/12/09

Search Layers

QGIS 3.4

http://plugins.qgis.org/plugins/searchlayers/

全レイヤを対象に検索することができる



【Search Layers】から検索対象レイヤを選択することも可

【Comparison】から検索条件の選択ができる

例:旭川で検索し、空港レイヤから旭川空港、行政区域レイヤから旭川市が出力されている

2018/12/08

Import Photos

QGIS3.4

http://plugins.qgis.org/plugins/ImportPhotos/

  ジオタグ付きの写真をポイントレイヤとしてQGISに取り込む

【Input folder location】で写真が入っているフォルダを設定
【Output file location】でポイントレイヤの保存先を設定


Click Photosアイコンをクリックして、ポイントをダブルクリックすると写真が表示される



2018/10/01

OsmAndでPOI登録

2018/12/14:追記
OpenStreetMap Advent Calendar 2018 12/14向けに追記

新しくなにか書きたかったんですが、結局 余裕がなかったので過去記事にポエム追加して誤魔化します。
ごめんなさい。

さて、アプリでOSMを編集するとき、かつてはiOS【Pushpin OSM】と【POI+】を使っていて、これらのアプリを使いたいがために iOSのアップデートも控えていたくらいなのですが、現在では 使用できない状態となっています。

iOSで代替アプリを探しても、【Maps.me】くらいしか選択肢がなく
(Go Mapは出先で気軽に編集しようとするには機能が多すぎる)
結果的には、iOSからAndroidへ移行することにしました。

ということで、Androidでも諸々アプリを試してみた結果、現在では

新しくPOIを登録する時 → OsmAnd
既存のデータを編集 → Street Complete

を使用しています。
特にOsmAndのクイックアクションはとても便利ですが、さらっとググってみても(日本語の)情報が出てこないので、まとめておくことにしました。ということで、そろそろ本文です。

では、皆様よいクリスマスをお迎えください。Mappy Xmas!



OsmAnd
https://play.google.com/store/apps/details?id=net.osmand

オフラインでも使えるナビアプリですが、今回はOsmAndを使ってOpenStreetMapを編集する方法の紹介です。

OSMを編集するために必要なプラグイン設定から、POIの登録や
効率的にPOIを登録することができるクイックアクション設定を紹介していきます。




基本的な使い方などは、『OsmAnd 使い方』などでググってください。
 ↓ のようなサイトが引っかかってくると思われます。
http://blog.livedoor.jp/otzt_nobody/archives/4730407.html

ちなみにiOS版もあるのですが、
https://itunes.apple.com/jp/app/osmand-maps/id934850257?mt=8
OSMを編集するためのプラグイン追加ができないため、今回はAndroid版で話を進めます。



1.プラグイン設定


OsmAndを起動すると、自分のいる場所付近の地図ダウンロードを促されます。
これはスキップしてもダウンロードしても、どちらでもよいです。
(無料版は、ダウンロード回数に制限があります)

最初に、OSMを編集するためのプラグインを設定する必要があるので、画面左下の【≡】をタップします。

メニューが開くので、下へスクロールして『プラグイン設定』をタップ

プラグイン設定の『OSM』をタップ

プラグインを有効にします。
 左側の『設定』からOSMアカウントの登録ができます。

以上で、事前設定終了です。


2.POI登録


地図を表示して、POIを登録したい箇所を長押し(ロングタップ)すると、マーカーが表示され、画面下にメニューが表示されます。
右下の『その他』をタップしてください。

POIを作成』をタップ

登録するPOIの名前種類を登録できます。
必要に応じて名前を入力した後、POIの種類の右側にある『▼』をタップ

種類一覧が表示されるので、該当項目をタップ
(項目が多すぎるので、直接入力の方が良いかも…)

お店を登録する場合などは、電話番号や開店時間などを入力することもできます。

慣れてきたら『拡張』からOSMのタグを直接入力することもできます。
必要項目を入力したら、右下の『保存』→『アップロード』で、OSMへ登録されます。



3.クイックアクション設定


実際、前項の方法で都度都度 POI登録するのは、手順が多く思いの外めんどうです。
そこで『クイックアクション』機能を使って、手軽にPOI登録をする方法を紹介します。
まず、左下の【≡】をタップして、『画面設定』を開きます。

クイックアクション』を ONに

右下の【】をタップ

アクションを追加』メニューが開くので、『POIを追加』をタップ

アクション名』を入力してから、POIの内容を登録しておきます。
入力が終わったら、下の『決定』をタップ

よく登録するPOIをいくつか作成しておきましょう

以上で、事前設定は終了です。


4.クイックアクションによるPOI登録


地図に『クイックアクション』アイコンが追加されています

アイコンをタップすると、地図にマーカーが表示されるので、POIを登録したい箇所に移動させて、
画面上部にあるアクション内容をタップ

POIが作成されるので、アップロードします

一度設定してしまえばワンタッチで次々とPOIを登録していくことができるので非常に便利です。

Topに戻る

2018/08/25

ポリゴンからラベルへ引出線を書く

前置き

以前、「小班の外に小班名を移動させて、小班まで線を引く方法はないか?」
(訳:ポリゴン外のラベルに引出線を書きたい)
という相談を受けたのですが、多忙で余裕がなかったことと、
おなじみ『森林土木memo』に解答が載っているのは知っていたが、
http://koutochas.seesaa.net/article/450508062.html
職場のネットワークがseesaa.netを規制していて見られなかったことから

「画像でエクスポートして、グラフィックソフトでいじれ」という酷い返答をしました。

その節はごめんなさい。「スマホでググれ」と言えばよかったです。
もはや誰に質問されたのかも覚えてないので、自分用メモとして記しておきます。
(& QGIS3対応ということで)


1.ラベルの配置設定


QGIS2系では、ラベルを移動させるために、ラベル位置のX・Y座標を登録するための属性フィールドを追加する必要がありましたが、3系は属性フィールドがなくてもラベルを動かせます

『ラベルの移動』アイコンを選択後、
任意のラベルをクリックしてみてください。


最初にプライマリキーを選択する必要があるので、地物の個別IDなどが登録されている属性フィールドを選択しましょう。
(属性データにダブりがあるフィールドは選ばないように)

プライマリキーの選択をしたら あとは自由にラベルを移動させることができます。
レイヤのラベル設定を確認すると、ラベル配置の座標X・Yが自動的に
auxiliary_storage_labeling_positionx(及びy)に設定されていることが分かります。



2.シンボロジー設定でラインを引く


小班(ポリゴン)のプロパティを開き、シンボロジーを選択して、
】ボタン(シンボルレイヤの追加)をクリックします。


・シンボルレイヤタイプを【Geometry generator】に設定
・ジオメトリタイプを【ラインストリング/マルチラインストリング】に設定
・右にある【ε】ボタンをクリック

式に
make_line( point_on_surface( $geometry ) , make_point( “auxiliary_storage_labeling_positionx” , “auxiliary_storage_labeling_positiony” ))
と入力してください(↑をコピペでOK)。

これでラベルを移動させると、自動的に線が引かれるようになります。

式の内容を具体的に説明すると、
make_line ( A , B ) → A から B にラインを引く

A→ point_on_surface( $geometry ) → ポリゴンの中心に点を設定
※centroid( ) を使うと、凹型ポリゴンなどの場合、ポリゴンの外に点が設定される場合があります。

B→ make_point( X , Y ) → 座標X・Yに点を設定

ということで、 ポリゴンの中心点Aから、ラベルのある点B にラインを引く式になっています。

ちなみに、コピペではなく自分で式を入力する場合は、
ジオメトリの中に
・make_line
・point_on_surface
・make_point
の項目があります。

また、フィールドと値の中に
・auxiliary_storage_labeling_positionx
・auxiliary_storage_labeling_positiony
の項目があります。
これらはダブルクリックすることで、式へ反映させることができます。

あとはシンボロジー設定から、ポリゴン・ラベル間の線の種類・色など変更することができます。




3.ラベルを元に戻す

設定によりますが、通常は地図をスクロールすると、ラベルはポリゴンの可視範囲内の中心に移動するようになっています。

しかし、ラベルを移動させた場合は、ラベル位置が固定されてしまうので、元に戻したい場合は、
ラベルツールバーの『ラベルを変更する』アイコンをクリックして

戻したいラベルをクリックします。

選択したラベルのプロパティが開くので、『X座標』『Y座標』を削除すれば、

ラベル位置が元に戻ります。