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座標』を削除すれば、

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


2018/06/22

QGIS初級編 2018

FOSS4G 2018 Hokkaidoハンズオン
QGIS初級編の講師を担当しました。

当日の資料及び使用したデータを置いておきます。
https://www.slideshare.net/jyuntanaka/qgis2018
https://www.dropbox.com/s/zy5bmnlbzkfgcke/201806_hanson.7z?dl=0

2018.7.1追記
ライセンスをCC BY-NC から CC BY に変更しました。


2018/05/28

FOSS4G 2018 Hokkaido

Free & Open Source Software for Geospatial
(QGIS等の自由でオープンソースな地理情報ソフトウェア)
の祭典
FOSS4G 2018 Hokkaidoが6月22日~6月23日に開催されます。
http://foss4g.hokkaido.jp/

昨年に引き続き、ハンズオンでQGIS初級編の講師を担当します。

現在、せっせと資料作成中です。


また、こちらも昨年に引き続き
データベース・データ解析関連のイベント
db analytics showcase が同時開催です。
http://www.db-tech-showcase.com/dbts/analytics

ぜひ ご参加ください

2018/02/12

QGIS講習会_ラスタ編

QGIS2.18

以下、資料などダウンロードが可能です。

・スライド
 ODPファイル(LibreOffice)
 PDFファイル

・データ
 ラスタ編・GNSS編


QGIS講習会_GNSS編

QGIS2.18

以下、資料などダウンロードが可能です。

・スライド
 ODPファイル(LibreOffice)
 PDFファイル

・データ
 ラスタ編・GNSS編


2018/01/27

QGIS講習会_デジタイズ編

QGIS2.18


以下、自由にダウンロードが可能です。

・スライド
 PDFファイル
 ODPファイル(LibreOffice)

・データ
 ベクタ編・デジタイズ編


QGIS講習会_ベクタ編

2年半前の資料をQGIS2.18に対応させました。
http://denthor.exblog.jp/21782772/


以下、自由にダウンロードが可能です。

・スライド
 PDFファイル
 ODPファイル(LibreOffice)

・データ
 ベクタ編・デジタイズ編(シェープファイル等)