shpファイルの属性をkmlに移す方法

2,534 views
Skip to first unread message

motomu...@gmail.com

unread,
Mar 27, 2017, 9:58:47 PM3/27/17
to QGIS初心者質問グループ
お世話になります。
国土地理院の数値情報ダウンロードサービスからshpファイルをダウンロードして、QGISで表示させました。
これを名前をつけて保存でkmlファイルにしようとしています。
shpファイルの属性を見ると、名前のほかにいくつかの属性(フィールド)があります。
名前をつけて保存の時に開くダイアログのデータソースオプションのDescriptionFieldとNameFieldに、もとのshpファイルのフィールド名を指定すればいいのですが、Nameにあたる名称は1つでいいのですが、Descriptionにあたる属性が複数あります。
ここに複数の属性を指定して、kmlファイルに反映する方法はあるのでしょうか?

福岡

unread,
Mar 28, 2017, 12:13:57 AM3/28/17
to QGIS初心者質問グループ

こんにちは

「名前を付けて保存する」でShapeファイルをkmlにして保存するのですね?
属性ですが、デフォルトでは全てkmlファイルに書き込まれるようです。

同じく国土数値情報のShapeファイルをkmlで保存してみました。
保存の時の設定画面です。


kmlは基本的にタグで囲んだテキストファイルなので、テキストエディタで確認しました。


内容をみると、属性テーブルのデータは書き込まれているように思えます。

motomu...@gmail.com

unread,
Mar 28, 2017, 12:24:38 AM3/28/17
to QGIS初心者質問グループ
福岡様
回答ありがとうございます。
本当ですね。取り込まれていますね。
そのまま地理院地図にドラッグしても吹き出しに出なかったもので、取り込まれていないのかと思いました。
Goolemapでは吹き出しに出てきました。
失礼しました。
ありがとうございました。

黒田能弘

unread,
Mar 28, 2017, 1:02:44 AM3/28/17
to QGIS初心者質問グループ
福岡 様

黒田能弘です。

吹き出しでなく、複数を表示される方法はないのですか。

例えば 地番、面積、所有者名です。 一つであれば表示されます。

福岡

unread,
Mar 28, 2017, 2:39:02 AM3/28/17
to QGIS初心者質問グループ

黒田 能弘 様

こんにちは

お尋ねの件ですが、属性項目が1つしか表示されないので、複数表示したいと言うことでしょうか?
私の環境では、GoogleMapのマイマップで地物をクリックするとサイドパネルに属性情報が全て表示されますので、問題無いように思えます。


そうするとQGISでのことでしょうか?
一般的には「地物情報」パネルを使うと地物の属性情報は全て見ることができると思います。
また、吹き出しということですので「マイチップス」のことだとすると、工夫次第で複数の情報を見ることができます。

レイヤのプロパティの

ディスプレイタブで普通は「フィールド」を指定するのですが、HTMLで記述すると柔軟な表示ができます。


(htmlの説明)
<h2> [% "A33_004" %] </h2> A33_004の値を見出しで大きく表示
<br> 改行

<d> [% "A33_006" %] <br> [% "A33_007" %] </d> A33_006とA33_007を普通の大きさの文字で表示。A33_006とA33_007の間に改行。

※<h2>は見出し(数字部分は大きさの指定)、<br>は改行、<d>は段落を表します。また / はタグでの設定の終わりを意味します。

黒田能弘

unread,
Mar 28, 2017, 3:06:03 AM3/28/17
to QGIS初心者質問グループ
福岡 様

黒田能弘

以前、ご教授いただきましたグーグルアースでは地番とか面積等一つは吹き出しでなく表示ができました

QGISで作成したshpファイルで一つnameにするとひとつ表示さしました。複数したいので、name1とかに仮につけても表示されません。

例えば 地番や面積を表示したいのです。

福岡

unread,
Mar 28, 2017, 4:36:24 AM3/28/17
to QGIS初心者質問グループ
黒田 能弘 様

GoogleEarthなどに地物にラベル表示のような感じで、複数の属性データを表示したいということですね?

kmlはあまり詳しくないのでググってみましたが、ご期待に添うようなサンプルコードなどを見つけることができませんでした。
ご期待に添えず申し訳ありません。

どなたかKMLについて詳しい方がおられましたら、投稿をよろしくお願いいたします。

きた

unread,
Mar 28, 2017, 9:19:43 PM3/28/17
to QGIS初心者質問グループ
黒田さん

シェープファイルでQGISに表示し、フィールド計算機で、GoogleEarthでラベルとして表示したいデータを結合した「Name」フィールドを作成してから、kmlにするといいです。

例えば、「地番」フィールドに地番が、「氏名」フィールドに所有者名が記録されている場合、フィールド計算機の式の欄に
”地番”||’_’||“氏名”
と入力して、「Name」フィールドに更新すると、「123-1_野比のび太」というようになります。

きた

福岡

unread,
Mar 29, 2017, 4:57:33 AM3/29/17
to QGIS初心者質問グループ

黒田 能弘 様

ちょっと粘って、実験してみました。
公開されている土砂災害警戒区域のshapeファイルをそのままkmlファイルにしたときの表示です。


kmlファイルをテキストエディタで開いて、nameタグを追加したものです。


黒田さんのご希望は、タイトル表示をカスタマイズしたいということでしょうか?
そういうことであれば、nameタグ内に表示したい文字列があれ良いので、きたさんの提示なさった方法で可能だと思います。

また、試してみましたがnameタグの中で<br/>を使うと改行できるみたいです。
nameタグの追加例では「<name>警戒<br/>区域</name>」と記述しています。

黒田能弘

unread,
Mar 30, 2017, 12:57:15 AM3/30/17
to QGIS初心者質問グループ
福岡 様

黒田です

表示することが出来ました

固定で表示します

ありがとうございました。
Reply all
Reply to author
Forward
0 new messages