GoogleEarthのデータを利用 2011.11.15

 GoogleEarthを使って種々の空間データを公開しているサイトが多くある.
 確かにGEを利用した場合はGISを意識せず利用することができ便利 である.
 一方,GEはやはり3DViewerとしての性格が強く,空間分析が完成したGISデータ(主題図)を表示し,オーバーレイ以外の空間分析は難しい.新たに空間分析を行う場合はGISソフトでの空間分析が必要となる.  

 例) USGSの震源カタログデータを利用する方法
  データDL http://earthquake.usgs.gov/earthquakes/eqarchives/epic/kml/
  必要な地震データkmzファイルをDLしてGoogleEarthで確認する.

  GoogleEarthを使って必要なデータをkmlファイルとして保存する.今回は全データを使用する.

 1)QGISによるkml使用
  QGISを起動して,メニューより,「レイヤ」/「ベクタレイヤの追加」でkmlファイルを指定.

   利用するkmlファイルはマグニチュード別にフォルダーに収めれれているため,
  ファイルを読み込むとどのフォルダーのデータまで利用するか,選択する必要がある.
  今回はマグニチュード4までのデータを使うこととしています.


  この処理により,ベクトルデータとしてそれぞれが生成される.

 2)データの結合 
  kml上で別フォルダーとして作成されていたため,マグニチュード別にベクトルデータが生成されている.
  この状態では利用しにくいため,全データを1個のデータに融合する.この処理はshpファイルに対し行える処理であるため,これらのデータをshp形式に保存する.(『GISデータコンバータとしての利用法』を参照)
  今回はm4,m5,m6,m7,m9という名称でshpファイルとして,mgフォルダー内に保存.

  メニューより,ベクタ/データマネジメントツール/複数のshpファイルを1つに結合する に進む.
  入力はフォルダー単位で行い,結合処理により生成するshpファイルの名称を設定する.
  

  以上の処理により,1個に結合したshpファイル mg が生成される.

  【注意:詳細調査中】 kmlよりshpに形式変更する場合,テキストフィールドの文字数が80に固定されるようである.今回のデータはkmlデータの属性はDescriptionに集約されかなり長い文字数となっているため,情報の欠損が起こっている.属性情報の文字列が長い場合は注意を要する.


 3)属性情報の編集
  属性情報は次図のようになっており,NameとDescriptionのフィールドに収容されている.
  kmlデータの属性はDescriptionに集約されているため,個々の属性情報を使うためにはタグで区切られた情報を処理し,新たな属性テーブルをリンクさせる必要がある.


  mif/mid形式(MapInfo)でデータをエクスポートすると,オブジェクトや属性情報がテキストデータ形式で出力できる.テキストエディターやエクセルを使って,属性情報を修正可能.修正後もう一度QGISにインポートする.
 【注意】 前項のGISデータ結合はmif/mid形式データのテキストエディターによる融合でも可能であり,この場合はshp変換によるデータ欠損を回避可能.なお,mifファイルの先頭にはヘッダー情報がある.この部分は重複しないように融合させる.

 テキストエディターを使いmidファイルを編集,タグなどを削除してcsv形式に整え,csvファイルとして保存.

 さらにエクセルを使い不要なフィールド等を削除すし,さらにcsvファイルで出力後,拡張子をmidに戻す.(古いmidファイルを上書きする)
  

 mifファイルのヘッダーを編集する.
 

 以上で作業終了.QGISで開いてください.

 属性情報がうまく表示できていれば成功です.少し,遠回りしますが,無事kmlデータをインポート利用可能になります. 
 
 逆にQGISのベクトルデータをkmlに変換するのは非常に簡単です.名前を付けて保存でkmlに指定すれば良いだけです.しかし,スタイルまではkmlにエクスポートできないようです.