【第2回】クイックスタート!港区のデータで学ぶ地図と3Dシーン作成

こんにちは!GIS導入支援コンサルタントのippuku_timeです。

「5分で分かるSuperMap iDesktopX製品・機能紹介シリーズ」、前回はiDesktopXの全体像をご紹介しました。今回は、いよいよ実際にソフトウェアを操作して、最初の地図と3Dシーンを作成する手順を一緒に見ていきましょう。今回は、私たちの拠点でもある東京都港区のオープンデータを使った、より実践的なチュートリアルをお届けします。


【第2回】クイックスタート!港区のデータで学ぶ地図と3Dシーン作成


1. 最初の2D地図を作成する(港区編)

身近な地域のデータを使うと、GISの面白さがより一層深まります。今回は、行政区画、駅、道路などのデータから、分かりやすい港区の地図を作成していきます。

1.1 データの準備と地図の新規作成

(1) データの準備

このチュートリアルでは、点(駅など)、線(道路など)、面(建物形状など)のデータが必要です。幸いなことに、日本では国土交通省の「Project PLATEAU」によって、全国の3D都市モデルがオープンデータとして整備されています。

G空間情報センターのウェブサイトから、東京都23区のデータセットをダウンロードできます。ここには、今回のチュートリアルに最適な、高さ情報を持つ建物データなどが含まれています。

(2) ワークスペースの作成とデータのインポート

iDesktopXを起動し、新しいワークスペースを作成します。ダウンロードした港区のデータ(例: GeoPackage形式の建物データなど)を、ワークスペースにインポートまたは直接開きます。

(3) 新規地図にデータを追加

ワークスペースマネージャーの「地図」を右クリックし、「新規地図ウィンドウ」を選択します。インポートした港区の建物、道路、鉄道などのデータセットを地図に追加します。


1.2 レイヤースタイルの設定

読み込んだ直後のデータは単色で表示されているため、ここからスタイルを設定して見やすい地図にしていきます。

(1) ポリゴンレイヤーのスタイル設定(建物、公園など)

① レイヤーマネージャーで建物レイヤーをダブルクリックし、スタイルパネルを開きます。建物をグレーなどの落ち着いた色で塗りつぶします。

② 公園レイヤーは緑色に設定し、地図の視認性を高めます。

(2) ラインレイヤーのスタイル設定(道路、鉄道)

① 道路レイヤーは、道路種別(国道、都道など)に応じて線の太さや色を変えると、より分かりやすくなります。

② 鉄道レイヤーも同様に、路線ごとに色分けしてみましょう。

(3) ポイントレイヤーのスタイル設定(駅)

① 駅レイヤーのシンボルを、鉄道駅を示す標準的なアイコンに変更します。


1.3 レイヤーへのラベル付け

地図上の地物が何であるか分かるように、駅名などのラベルを追加します。

(1) レイヤーマネージャーで駅レイヤーを右クリックし、「主題図の作成...」から「ラベル主題図」を選択します。

(2) ラベルとして表示したい属性フィールド(駅名が格納されているフィールド)を指定し、フォントのサイズや色、表示位置を調整します。文字が重ならないように、自動配置機能を活用するのがポイントです。


1.4 地図成果の保存

作成した地図は、「開始」タブの「ワークスペース」グループにある「保存」ボタンから保存します。

2. 最初の3Dシーンを構築する(港区編)

次に、2Dの建物データを利用して、簡単な港区の3D都市モデルを作成します。

2.1 3Dシーンの新規作成とデータの読み込み

(1) リボンメニューの「開始」タブ -> 「ブラウズ」グループ -> 「シーン」から「新規シーンウィンドウ」を作成します。

(2) ワークスペースマネージャーから、PLATEAUで取得した港区の建物ポリゴンデータ(高さ情報が含まれているもの)を3Dシーンにドラッグ&ドロップします。最初は2Dのポリゴンが地表面に貼り付いた状態で表示されます。


2.2 クイックモデリング(建物の立ち上げ)

ここがiDesktopXの強力な機能の一つです。2Dのポリゴンを属性情報に基づいて一括で3Dモデル化します。

(1) レイヤーマネージャーで建物のポリゴンレイヤーを選択します。

(2) 「スタイル設定」タブ -> 「立ち上げ設定」グループに進みます。

(3) 「立ち上げ高」のドロップダウンリストから、建物の高さが格納されている属性フィールドを選択します(PLATEAUのデータには通常、高さや階数のフィールドが含まれています)。

これだけの操作で、港区の建物が一斉に立ち上がり、立体的な3D都市景観が出現します。東京タワーや六本木ヒルズなど、見慣れた建物が3Dで再現される様子は圧巻です。


2.3 3D主題図の作成

作成した3Dモデルに、建物の高さや用途に応じて色分けをしてみましょう。

(1) レイヤーマネージャーで建物レイヤーを右クリックし、「主題図の作成...」から「段階区分主題図」を選択します。

(2) 色分けの基準となるフィールド(例えば建物の高さ)を指定し、カラーパターンを選択します。高層ビルほど赤く、低層の建物ほど青く表示させることで、都市の高さの分布が一目で分かるようになります。


2.4 シーンの保存

作成した3Dシーンも忘れずに保存しましょう。シーンウィンドウで右クリックし、「シーンの保存」を選択して名前を付け、最後にワークスペースを保存します。

まとめ

今回は、身近な東京都港区のオープンデータを使って、基本的な2D地図の作成と、圧巻の3Dシーン構築を体験しました。特に、2Dの建物データから瞬時に3Dモデルを立ち上げるクイックモデリング機能は、iDesktopXの強力さと使いやすさを象徴しています。Project PLATEAUなどのオープンデータを活用すれば、誰でも今日から自分の街の3D都市モデルを作成・分析できます。

次回は、**第3回「GISデータの心臓部!iDesktopXのデータ管理を徹底解説」**です。GISの作業効率を左右する、ワークスペース、データソース、データセットといったデータの管理構造について詳しく解説します。


付録:サンプルコード(Python)


iDesktopXのPython IDEを使い、港区の地図レイヤー(例えば駅)のシンボルをプログラムで変更するサンプルコードです。

Python


# -*- coding: utf-8 -*-

from PySuperMap import *

def style_minato_station_layer():
    """
    港区の地図上の駅レイヤーのスタイルをプログラムで変更するサンプル
    """
    try:
        # ワークスペースとアクティブなマップを取得
        workspace = Workspace()
        map_view = workspace.get_active_map_view()
        if map_view is None:
            print("アクティブな地図がありません。")
            return
        map_obj = map_view.get_map()
       
        # 'Stations_Minato' という名前のポイントレイヤーを取得
        layer_name = "Stations_Minato"
        layer = map_obj.get_layers().get_item(layer_name)
       
        if layer is None or layer.get_type() != LayerType.VECTOR_POINT:
            print(f"ポイントレイヤー '{layer_name}' が見つかりません。")
            return

        # 新しいマーカーシンボルを作成
        style = GeoStyle()
        symbol_id = 31 # システムシンボルライブラリ内のID(例:鉄道駅)
       
        # マーカーシンボルのプロパティを設定
        marker_symbol = MarkerSymbol()
        marker_symbol.set_id(symbol_id)
        marker_symbol.set_size(Size2D(8, 8)) # シンボルサイズを8x8ピクセルに設定
        marker_symbol.set_color(Color(255, 0, 0)) # シンボルを赤色に設定
       
        style.set_marker_symbol(marker_symbol)
       
        # 変更したスタイルをレイヤーに適用
        layer.set_style(style)
       
        # 地図をリフレッシュして変更を反映
        map_obj.refresh()
        print(f"レイヤー '{layer_name}' のシンボルを変更しました。")

    except Exception as e:
        print(f"エラーが発生しました: {e}")

if __name__ == '__main__':
    style_minato_station_layer()

コメント

このブログの人気の投稿

【11月リリース予定】SuperMap iServer 2025 プレビュー:WebGIS体験を刷新する新機能とは?

「GIS」っていまだに「地理情報システム」の略?時代の変化と共に、その本当の意味を再定義してみた

「国土数値情報」を考える:それは日本のGISを支える“共通の土台”である