search
LoginSignup
27

More than 1 year has passed since last update.

posted at

updated at

Organization

QGISで3D巨大都市(の一部)を召喚する

はじめに

mov.gif

皆さんはふとした瞬間に「あっ、3Dでベル・ハーバー召喚してーな」って思うことありますか?

僕はありません。

いやいや、そもそもそれなんやねんっていう声が聞こえてきますが

それっ!!!

mov.gif

ここ!ベルハーバー!!!

この辺らしいです。

何召喚すんの

今回はCityGMLという形式のファイルを取り扱って、このあたり一帯の建物をQGIS上に召喚していきます。

CityGMLはOCG(Open Geospatial Consortium)標準規格で3D都市モデルの標準データ形式になりますが、都合よく各国のオープンなCityGMLのデータを取り扱っているサイトがありますのでこちらから拝借してきましょう。

今回はこの中からNYのデータを選択していきます。

image.png

クリックすると以下のページに飛ぶと思いますので、CityGMLを選択してダウンロードしていきましょう。
(※zip圧縮時:約900MB、解凍後:約20GBとインパクトのあるデータなので取り扱いに注意しましょう!)

https://www1.nyc.gov/site/doitt/initiatives/3d-building.page

ダウンロードしたzipを解凍して.../DA_WISE_GML/DA_WISE_GMLs/フォルダに格納されている.gmlファイルがCityGML本体になります。

CityGMLをCityJSONに変換する

意気揚々とCityGMLをダウンロードしたはいいものの、このままではQGISで読み込めないのでCityJSONに変換していきましょう。
(詳しくはこちら

親切丁寧に公式変換ツールが用意されているので、ありがたく頂戴しましょう。

ダウンロードが終わったらツールの格納先ディレクトリに移動してツールを実行しましょう

% cd .../citygml_cesium_sample/tools/citygml-tools-1.4.1
% ./citygml-tools to-cityjson .../citygml_cesium_sample/assets/DA_WISE_GML/DA_WISE_GMLs/DA1_3D_Buildings_Merged.gml

Javaを利用したツールのようなので、インストールされていなければNo Java runtime present, requesting install.と怒られます。
そんな時は素直にJDKをインストールしましょう。

JDKのインストールが終了してプログラムを再実行すると、gmlと同ディレクトリに同名JSONが生成されます。

変換後のファイルサイズを見てみると約1/5まで圧縮されてだいぶ取り扱いやすくなりました。

  • 変換前:250MB
  • 変換後:50MB

QGISでCityJSONを召喚

ここまできたらあとはチョチョイのジョイやで。

偉大な先人がプラグインを作成なされておりますのでCityJSON Loaderを検索してをインストールしましょう。

インストール後、CityJSONのアイコンをクリックしてプラグインを起動します。
(ベクタ→CityJSON Loaderでも良い)

CityJSONを選択し、OKをクリックします。
(CRSとかは自動で読み込まれるはずなのでそのままで良いと思います。)

この段階で建物データがポリゴンとしてレイヤに読み込まれていると思いますが、物足りないですね。

そうです。3Dです。

「ビュー→新しい3Dマップビューを選択」を選択して華麗に3次元表示していきましょう。

mov.gif

できた。すげぇ。

アメリカ全土のデータがあるっぽいので次は自由の女神とか召喚したい。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
27