Googleとの連携


Shape形式のデータをKML形式,またはKMZ形式に変換してGoogle MapsやGoogle Earthに投影が出来ます。
変換する際は,あまりデータが大きくならないように気をつけます。データサイズの上限などはこちらを参考にしてください。
KMLとKMZの違いは,KMZはKMLをZIP形式で圧縮したものになります。KMLが大きい場合はZIPに圧縮し,拡張子を*.kmzにすればOKです。

ツール

  • ArcGISで直接KMLに変換するツールもあるようです。 → Link(Export to KML 2.5.4) 米国ESRI
  • shape2kml → Link(ページの中程にダウンロードのリンクがあります。)

変換の注意点

変換に際して注意事項は2点です。
  • データが大きくならないように,場合によっては小分けにする。変換できても表示できない可能性があります。
  • 投影定義を地理座標系の「WGS1984」にしておく。これでなければ間違いなくズレます。

リンク(作成例)

  • 自分の住んでいる場所の高さを知るサイト → http://www.arch.oita-u.ac.jp/urban/shinsui2011/
    • ★標高1m間隔での浸水域マップ・・・これは画像を透過処理して,Google Mapsにオーバーレイ
    • ★標高5m間隔での浸水域マップ・・・これは標高5m間隔でポリゴンを作成し,Google Mapsにオーバーレイ

データ作成の手順(上記リンクの作成手順)


ソフトウェアはArcGIS10を利用し,データは基盤地図情報(10mメッシュ(標高))。

★5m間隔の標高(Polygon)
基盤地図情報→ESRI GRID→細分類→等高線作成&Shape形式
5m間隔のPolygonは,Shapeから個別にexportして,Shape→kmz形式へ。
kmz形式の前に,Shape自体をWGS84に変換しておくこと。

★1m間隔の標高(画像)
画像の透過処理については,ArcGIS10上で予め画像を作成する範囲をBookmarkに入れておく。
このBookmarkをテキストにExportすると,そのファイルに座標値が含まれているので,HTMLの中に

var sw = new GLatLng(32.7182,131.7955); 
var ne = new GLatLng(32.8363,131.9777); 
var bounds = new GLatLngBounds(sw, ne); 
var goverlay = new GGroundOverlay("image-url", bounds); 
map.addOverlay(goverlay);

な感じで埋め込む。ここの座標値もWGS84で。
透過処理は,GGroundOverlayのOptionにはないようなので,PNGをPhotoshopで予め透過処理を施しておく。
今回は40%程度。こうすると地名や施設名が見えて,位置関係がわかりやすくなる。



Comments