スキップしてメイン コンテンツに移動

【Map Data】地図のオープンデータ活用:shpファイルをkmlファイルに変換する方法

今回は、地図のオープンデータ(shpファイル)をkmlファイルに変換する方法について解説します。



まず地図のオープンデータについてですが、国土交通省が提供している国土数値情報ダウンロードサービスがありますので、そのデータを活用していきましょう。
「国土数値情報」とは、国土形成計画、国土利用計画の策定等の国土政策の推進に資するために、地形、土地利用、公共施設などの国土に関する基礎的な情報をGISデータとして整備したものです。そのうち公開に差し支えないものについて、「地理空間情報活用推進基本法」等を踏まえて無償で提供しています。

国土数値情報ダウンロードサービス

※画面説明のため国土数値情報ダウンロードサービスからスクリーンショット画像を作成しました。 

掲載されているデータの中から、"GML(JPGIS2.1)シェープファイル"を選択し、「公共施設」の「山口県」を利用してみましょう。
アンケートに答え(※必須)、利用規約を承諾するとダウンロードすることができます。



ダウンロードが完了したら、フォルダを開いてみましょう。
以下形式の4つのファイルが保存されていることが確認できます。
*xml *dbf *shp *shx

シェープファイルをkmlに変換する

今回はフリー版のGISソフト、QGISを使ってシェープファイルをkmlに変換していきます。
QGISのサイトからソフトをダウンロードしましょう。

※画面説明のためQGISからスクリーンショット画像を作成しました。 

QGISを起動してシェープファイル(shp)を開きます。 ダウンロードしたフォルダをそのままQGISの画面上にドラックしましょう。空間参照システムを選択する必要がありますので、[WGS84]を選択します。


※画面説明のためQGISのダウンロードソフトからスクリーンショット画像を作成しました。 

「OK」を選択すると、シェイプファイルが展開されます。


このポイントがkmlに変換した後、GoogleマイマップやGoogle Maps API、Google Earthで開いた時に、マーカーとして表示されます。

では、kml形式に変換していきましょう。
メニュの「レイヤ」から「名前をつけて保存」を選択します。


変換したい形式と保存先フォルダの選択画面が表示されます。 形式をKMLとしたら、「OK」を選択しましょう。
これでシェープファイルがkmlとして保存されます。


保存先に選んだフォルダにkmlが作成されていること確認してみましょう。
※Googleマイマップにkmlをインポートする場合、インポートできる最大のデータ量が決まっています。
地図データをインポートするの解説を確認しながら、マイマップにインポートしてみましょう。

作成したkmlの内容を変更したい場合、kmlをテキストエディタで開いて編集することができます。


例えばPointの量を減らしたい場合は、placemakerの部分を削除すると良いでしょう。
また、QGISをダウンロードして変換できない場合、以下サイトを使用してみましょう。
一ヶ月に3回までは無料でシェープファイルをkmlに変換することができます。
MyGeodata Converter

地図のオープンデータを使えば、多くの位置情報を取得することが可能となります。
Google Maps APIを使ったデモの地図を作成する時など、様々な場面で活用できるので是非利用してみましょう。

ご質問などございましたら、お気軽に下記コメント欄にお寄せください。

※当サイトで使用しているコンテンツについて
Googleマップの地図画面については、自作コンテンツを使用しています。
地図画像の使用については地図の共有、埋め込み方法についてをご確認ください。
また、手順説明に使用してるGoogleのホームページ、プロダクトページなどのキャプチャ画像についてはガイドラインに従った形で掲載しています。
詳しくはGoogle ブランド使用許諾 ブランド利用規約の概要よくある質問の内容をご確認ください。
(※上記説明内では、「必ず一切加工せずに使用してください。」と記載がありますが。当サイトで使用する場合、個人情報等保護のため、一部モザイク処理をしています。)
万が一、当サイトに規約違反となる画像等を発見した場合は、直ちにご報告ください。
尚、当サイトに掲載されている文章、画像等の著作権は、当社または文章、画像等の提供者にあります。これらの著作物は、「私的利用のための複製」や「引用」などの著作権法上認められた場合を除き、無断で転用・引用することはできません。ご利用になりたいものがありましたら、Google+よりお問い合わせください。