PDFからGISファイルに変換する方法

2,023 views
Skip to first unread message

Hanabusa

unread,
Nov 11, 2018, 10:51:17 PM11/11/18
to QGIS初心者質問グループ
お世話になっております。
Hanabusaと申します。
このところ質問が多くて申し訳ありません。

この度の質問は,PDFからGISファイル(主にshapeかなと考えておりますが)
への変換方法についてです。

簡単にまとめるとPDFで持っている地区の図面データから
どうにかしてGISで分析できるように変換できないか思案している状態でございます。
GISで作成されたと思われる図なのですが,PDFしか残っていないようなので,
復元できないものかと…

私の何となくの考えでは,QGISでラスタデータ表示できるので,
そこからベクタデータに変換できるのかなという感じです。

言葉足らずな部分が多くあると思いますが,
何卒検討していただけたら幸いです。
質問も是非お願い致します。

AAEE

unread,
Nov 12, 2018, 12:01:27 AM11/12/18
to QGIS初心者質問グループ
PDFの図面データがベクタであれば以下の手順でできそうな気がします。
1.Illustratorで必要な線のみにした上でdxfで書き出す
2.QGISに取り込む
3.Vector Benderプラグイン(v2系のみ対応)で位置合わせ

PDFの図面データがラスタであれば、画像にしてジオリファレンスして手でなぞるしかないですね…。

sakuya_izayoi

unread,
Nov 12, 2018, 12:07:33 AM11/12/18
to QGIS初心者質問グループ
ラスベク変換に関しては、精度の問題上なかなか辛いものがあります。

AAEEさまのおっしゃられますようにベクターPDFならば比較的容易にはできますが、
ただの絵ですと
のようなフリーソフトを使う方法とQGISの機能を使う方法があるにはありますが、正直、あまり期待できません。

人力でトレースが一番早かったりもします。場合によっては、
①CADでトレースをする。
②その後にAAEEさまの手法を用いる。
といった方法で私は対処しております。

お答えにならず申し訳ない。

Hanabusa

unread,
Nov 12, 2018, 2:51:29 AM11/12/18
to QGIS初心者質問グループ
AAEE様
izayoi様

早速の回答ありがとうございます。
一応地理情報の入っているPDFではあるのですが,
ラスタデータですので厳しそうですね。

ちなみに線でのベクタデータではなく,
メッシュデータにするとなればもう少し簡単にできるのでしょうか。
質問ばかりで申し訳ありません。

sakuya_izayoi

unread,
Nov 12, 2018, 3:33:44 AM11/12/18
to QGIS初心者質問グループ
こちらizayoiです。
えっと、こんなイメージでしょうか?意味合い違うかな?
①座標を持ったラスタをキャンパス上に展開する
②これに合うようなメッシュを作成する。

③ラスタ→地域統計→地域統計を選択する。


④地域統計で各バンドの平均値をそれぞれBand1,Band2,Band3といったフィールドで計算させる。

⑤ポリゴンに対してフィールド計算機でBand1meanからBand3meanまでをそれぞれ整数にしたいため、
Band1 整数値というフィールドを作成し、このフィールドはBand1meanを参照させる。それを繰り返す。

⑥最終的に整数値となったフィールドが3つ作成できる。

⑦ベクタのスタイル設定から

編集を押してRGBカラーを作成する。

⑧外形線を透明にして適用を押してキャンパスを見るとなんとなく判読できるようなできないようなポリゴンが入手できる。。

メッシュサイズを細かくすればもっと精度は上がりますが、時間がかかります。メッシュを作ったのちに、メッシュを分割し作業した方がいいかもです。
一応見本を添付します。ご参考になれば。
意味合いが違ったらまた教えてください。

ex.zip

Hanabusa

unread,
Nov 12, 2018, 6:11:15 AM11/12/18
to QGIS初心者質問グループ
izayoi様
ご検討いただきありがとうございます。

そうですね。
私のイメージしていたのはそんな感じです。
この方法ですとそのグリッド区域内の色の平均値が取られているという解釈でしょうか。
わがままをいうと赤70%青30%のような場合はそのグリッドは赤になると助かります。

sakuya_izayoi

unread,
Nov 12, 2018, 7:03:15 AM11/12/18
to QGIS初心者質問グループ
Hanabusaさま
こちらizayoiです。
今回の場合は、各グリッドのRGB値それぞれの平均を取得しております。これは最大を取得や最小を取得、最頻値を取得、中央値を取得などいろいろ変更できます。
今回のテーブルで言いますとBand1が赤色、Band2が緑色、Band3が青色をそれぞれ示しており、今回はグリッド内の各色の平均値が返っています。

各ポリゴンの色塗りは、途中⑦で示した式で、RGB値を与えて色を塗っていることになります。
たとえばですが、赤、緑、青のうち、一番値が大きい色に設定しようとするならば、
フィールド計算機にて
R色塗り
というフィールドを作り
case
when
 "Band1"  >  "Band2"  AND "Band1"  >  "Band3"  then  "Band1"
 else 0
end

を入れます。これは、「Band1meanの値がBand2meanの値より大きく、かつ、Band1meanの値がBand2meanの値より大きな場合はBand1meanの値を返し、違うならゼロを返しなさい」
となります。

G色塗り
には
case
when
 "Band2"  >  "Band1"  AND "Band2"  >  "Band3"  then  "Band2"
 else 0
end

B色塗り
には
case
when
 "Band3"  >  "Band1"  AND "Band3"  >  "Band2"  then  "Band3"
 else 0
end

となります。そうすることで、赤、緑、青の三原色だけにすることができます。

この場合非常に困ってしまうのが、0,0,0となってしまった場合、これが黒なのか、全部データが等しかったから、一番大きい値が分からずゼロを返してきただけなのか分からなくなってしまうという点です。
こんな感じです。


そのため、
そのようになってしまうと困る場合にはですが、
R色塗りを修正するとしたら
case
when
 "Band1"= "Band2" and "Band1"="Band3" then "Band1" else

 case
 when
 "Band1"  >  "Band2"  AND "Band1"  >  "Band3"  then  "Band1"
 else 0
 end

end

とします。全部値が同じならBand1meanの値を返してねとなります。

ほかも同じように修正します。
G色塗りならば
case
when
 "Band1"= "Band2" and "Band1"="Band3" then "Band2" else

case
when
 "Band2"  >  "Band1"  AND "Band2"  >  "Band3"  then  "Band2"
 else 0
end
end

B色塗りならば
case
when
 "Band1"= "Band2" and "Band1"="Band3" then "Band2" else

case
when
 "Band3"  >  "Band1"  AND "Band3"  >  "Band2"  then  "Band3"
 else 0
end
end

とすれば

という風に、白の再現ができます。

手法としての欠点はRGB以外の色が出せません。

ファイルを添付いたしますのでご確認ください。
ex (2).zip

Hanabusa

unread,
Nov 13, 2018, 5:47:37 AM11/13/18
to QGIS初心者質問グループ
回答ありがとうございます。
返信遅くなりました。
Hanabusaです。

pdfデータの読み込まれ方や重さ的にもしかしてと思い,
illustratorで読み込んでみたところ,
恐らくベクタpdfだったみたいです。
同じところから頂いた図面データでもベクタやラスタとバラバラになっているみたいでした。

そこでAAEE様の方法での対処も検討してみましたが,
線だけを抽出してしまうと,地区内の色塗りされているデータが取得できないなと思いました。
あとイラレでpdfを開くだけでも動作が重くなってしまうのできつそうですね。

とりあえず図郭の削除を頑張ってみて,
izayoi様の手法で行っていこうと思います。

以上,備忘録兼ご報告でした。

adachi

unread,
Nov 13, 2018, 7:41:13 PM11/13/18
to QGIS初心者質問グループ
すでに解決済かと思いますが、いちおう情報提供として


ここは私は使ったことありませんが、こういったサイトがたまにあり
たまにうまくいきます。笑

サイト上では「データは漏らさないよ」と言ってはいますが
機密に関わるような大事なデータアップロードは自己責任で、という注釈をつけなければなりませんが…

世界には同じようなことで悩んでいる人がいっぱいいて誰かが解決策を模索しているかと思うので
既成のサービスを利用してみるのも手間を省くためには良いかと割り切っております。

Hanabusa

unread,
Nov 13, 2018, 10:49:25 PM11/13/18
to QGIS初心者質問グループ
adachi様

情報提供ありがとうございます。
海外のものを含めると意外とあるんですね。
参考にさせていただきます。

この悩みは絶対どなたもお持ちだと思います。
でも編集できないようにするのもPDFの目的なのかなとも思いますので,
悩ましいところです。

sakuya_izayoi

unread,
Nov 13, 2018, 10:49:43 PM11/13/18
to QGIS初心者質問グループ
izayoiです。
adachiさま。上記の方法、ありがとうございます。
やっぱり需要はあるんですよね。私の場合はwin topoというフリーソフトで外形抽出などを行っていますね。白黒になら結構使える。

ポリゴンやラスタの色についてなのですがお聞きしたいことがあるので、別のスレッドで質問かけます。
そちらもよろしくお願いします。
Reply all
Reply to author
Forward
0 new messages