Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
20
Help us understand the problem. What is going on with this article?
@nokonoko_1203

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

できた。すげぇ。

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

20
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
nokonoko_1203
経歴:建設コンサルタント→在職中にPythonを勉強→WebGISエンジニア
MIERUNE
位置情報の技術情報や豆知識をMIERUNEがお届けします!位置に関する可視化や解析に関するご相談がございましたらwebまでぜひご連絡ください!

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
20
Help us understand the problem. What is going on with this article?