メインコンテンツ

siteviewer

サイト ビューアーの作成

説明

送信機サイトや受信機サイト、RF 伝播の可視化を表示するには、siteviewer オブジェクトを使用します。

サイト ビューアーには 2 つの可視化モードがあります。

  • 3-D globe — 地理座標を基準としてサイトを表示します。カスタム地形、高ズーム レベルやカスタムのベースマップ、および建物を使用して地球をカスタマイズできます。これは既定の可視化モードです。

  • 3-D model — 直交座標を基準としてサイトを表示します。glTF™ ファイル (R2023b 以降)、Standard Tessellation Language (STL) ファイル、または triangulation オブジェクトで表現された 3 次元モデルをインポートして表示することができます。名前と値の引数 SceneModel を使用して、3 次元モデルの名前を指定します。

サイト ビューアーには、WebGL™ のためのハードウェア グラフィックス サポートが必要です。

作成

説明

viewer = siteviewer は、サイト ビューアーを作成します。

viewer = siteviewer(Name=Value) は、名前と値の引数を使用して、CoordinateSystem および Materials を除くプロパティのうち 1 つ以上を設定します。たとえば、3 次元モデル ファイルをインポートして表示するには、名前と値の引数 SceneModel を使用します。

プロパティ

すべて展開する

サイト ビューアー

マップ ビューアー ウィンドウに表示するキャプション。文字ベクトルまたは string スカラーとして指定します。

データ型: char | string

マップ ビューアー ウィンドウのピクセル単位のサイズと位置。[left bottom width height] の形式で 4 要素の整数値ベクトルとして指定します。既定値は画面の解像度により異なり、ウィンドウは幅 800 ピクセル、高さ 600 ピクセルで画面の中央に配置されます。

データ型: double

この プロパティ は読み取り専用です。

座標参照系。'geographic' または 'cartesian' として指定します。CoordinateSystem の値はサイト ビューアーの作成方法に応じて異なります。

  • 既定の設定では、CoordinateSystem の値は 'geographic' で、WGS84 準拠楕円体が可視化に使用されます。

  • SceneModel 引数を指定してサイト ビューアーを作成するときは、CoordinateSystem の値を 'cartesian' とし、座標が 3 次元モデルの原点によって定義されるようにします。

CoordinateSystem'geographic' の場合、マップを右クリックして [Show Location] を選択すると、その位置の経度と緯度の座標を表示できます。位置を削除するには、右クリックして [Remove Location] を選択します。

データ型: char | string

R2023b 以降

この プロパティ は読み取り専用です。

シーンの材料。table として返されます。glTF ファイル、OpenStreetMap® ファイル、または地理空間テーブルからシーンを作成した場合、サイト ビューアーは、ファイルまたはテーブルに保存されている各材料名を、サポートされている材料名と照合することで、シーン内の表面に材料を割り当てます。raytracecoverage などの関数を使用してレイ トレーシング解析を実行した場合、既定では照合で一致した材料名が関数で使用されます。

シーンの材料テーブルには、ファイルまたは地理空間テーブルに保存されている各材料に関する次の変数が格納されます。

  • Material — ファイルまたは地理空間テーブルに保存されている材料の名前。string スカラーとして返されます。

  • MatchedCatalogMaterial — 一致した材料の名前。次のいずれかの値として返されます。

    • "" — 材料はサポートされていません。既定では、レイ トレーシング解析関数はサポートされていない材料の代わりにコンクリートを使用します。

    • 次の表内にある材料名。

      一般的な建物材料金属地上物質理論物質
      • "acrylic" — アクリル

      • "brick" — れんが

      • "ceiling-board" — 天井板

      • "chipboard" — チップボード

      • "concrete" — コンクリート

      • "floorboard" — 床板

      • "foam" — フォーム

      • "FR4" — FR-4 (グラスファイバー)

      • "glass" — ガラス

      • "marble" — 大理石

      • "metal" — 金属

      • "plasterboard" — 石こうボード

      • "plywood" — 合板

      • "polystyrene" — ポリスチレン

      • "Teflon" — Teflon® (PTFE)

      • "wood" — 木材

      • "aluminum" — アルミニウム

      • "brass" — 真鍮

      • "copper" — 銅

      • "gold" — 金

      • "Invar" — インバー

      • "iron" — 鉄

      • "lead" — 鉛

      • "silver" — 銀

      • "steel" — 鋼鉄

      • "tungsten" — タングステン

      • "zinc" — 亜鉛

      • "air" — 空気

      • "ice" — 氷

      • "loam" — 壌土

      • "seawater" — 海水

      • "snow" — 雪

      • "tree" — 木

      • "vegetation" — 植生

      • "water" — 水

      • "PEC" — 完全導体

      • "vacuum" — 真空 (自由空間)

データ型: table

地理座標系

サイトの可視化に使用するマップ画像。次の表のいずれかのベースマップの名前、または関数 addCustomBasemap を使用して定義されたカスタム ベースマップとして指定します。

'satellite' basemap.

'satellite' (既定)

高解像度の衛星写真で構成される地球全体のベースマップ。

Esri® によりホストされています。

'openstreetmap' basemap.

'openstreetmap'

OpenStreetMap が提供する市街地図。

'streets' basemap.

'streets'

道路と輸送網を正確で見やすいスタイルで強調した汎用道路マップ。

Esri によりホストされています。

'streets-light' basemap.

'streets-light'

地理コンテキストを提供し、明るい背景にユーザー データを強調表示するように設計されたマップ。

Esri によりホストされています。

'streets-dark' basemap.

'streets-dark'

地理コンテキストを提供し、暗い背景にユーザー データを強調表示するように設計されたマップ。

Esri によりホストされています。

'topographic' basemap.

'topographic'

地形的な特徴を示すスタイルを備えた汎用マップ。

Esri によりホストされています。

'landcover' basemap.

'landcover'

衛星からの地表データと陰影起伏および海底起伏を組み合わせたマップ。自然な淡色のパレットが主題図や一般図の作成に適しています。

Natural Earth を使用して作成されています。

'colorterrain' basemap.

'colorterrain'

地表パレットとブレンドされた陰影起伏マップ。湿度の高い低地は緑色、乾燥した低地は茶色で表示されます。

Natural Earth を使用して作成されています。

'grayterrain' basemap.

'grayterrain'

グレーの濃淡による地形マップ。陰影起伏表示で高い山と低地にある微細な地形の両方が強調されます。

Natural Earth を使用して作成されています。

'bluegreen' basemap.

'bluegreen'

陸地部分が薄い緑で水域が薄い青の 2 色の陸海マップ。

Natural Earth を使用して作成されています。

'grayland' basemap.

'grayland'

陸地部分がグレーで水域が白の 2 色の陸海マップ。

Natural Earth を使用して作成されています。

'darkwater' basemap.

'darkwater'

陸地部分が薄いグレーで水域が濃いグレーの 2 色の陸海マップ。このベースマップは MATLAB® と共にインストールされています。

Natural Earth を使用して作成されています。

Esri によってホストされるベースマップは定期的に更新されます。そのため、可視化で表示される内容は時間が経過すると変わることがあります。

境界と領域ラベルの配置はデータ ベンダーが提供する特徴を示すものであり、MathWorks® の承認を意味するものではありません。

このプロパティは CoordinateSystem'geographic' である場合にのみ適用されます。

データ型: char | string

サイト可視化と地形計算実行のためのデータ。addCustomTerrain を使用して前に追加した文字ベクトルまたはスカラー、または以下のいずれかのオプションとして指定します。

  • 'none' — すべての場所の地形標高が 0

  • 'gmted2010' — USGS GMTED2010 地形データ。このオプションには、インターネット接続が必要です。

このプロパティは CoordinateSystem'geographic' である場合にのみ適用されます。

このプロパティはサイト ビューアーの作成後は読み取り専用になります。

制限については、制限を参照してください。

データ型: char | string

建物データ。次のいずれかのオプションとして指定します。

  • OpenStreetMap ファイル (.osm) の名前を指定する string スカラーまたは文字ベクトル。

  • 地理空間テーブル。"地理空間テーブル" は、table 変数 Shape および属性の table 変数をもつ table または timetable です。table 変数 Shape には geopolyshape (Mapping Toolbox) オブジェクトが含まれていなければなりません。このオプションを使用するには Mapping Toolbox™ が必要です。

OpenStreetMap ファイルの名前を指定する場合、ファイルの指定方法はファイルの場所によって異なります。

  • ファイルが現在のフォルダーまたは MATLAB パス上のフォルダーにある場合、"myFile.osm" のようにファイルの名前を指定します。

  • ファイルが現在のフォルダーまたは MATLAB パス上のフォルダーにない場合、"C:\myfolder\myFile.osm""dataDir\myFile.osm" のように絶対パス名または相対パス名を指定します。

このプロパティは、CoordinateSystem プロパティを "geographic" に設定した場合にのみ適用されます。

このプロパティはサイト ビューアーの作成後は読み取り専用になります。

制限については、制限を参照してください。

データ型: char | string | table

直交座標系

3 次元モデル ファイルの名前または三角形分割。string スカラー、文字ベクトル、または triangulation オブジェクトとして指定します。

サイト ビューアーは次の 3 次元モデル ファイル形式をサポートします。

  • glTF (.gltf, .glb) (R2023b 以降)

  • STL (.stl)

ファイルの指定方法は、ファイルの場所によって異なります。

  • ファイルが現在のフォルダーまたは MATLAB パス上のフォルダーにある場合、"myFile.stl" のようにファイルの名前を指定します。

  • ファイルが現在のフォルダーまたは MATLAB パス上のフォルダーにない場合、"C:\myfolder\myFile.stl""dataDir\myFile.stl" のように絶対パス名または相対パス名を指定します。

このプロパティは、CoordinateSystem プロパティを "cartesian" に設定した場合にのみ適用されます。

このプロパティはサイト ビューアーの作成後は読み取り専用になります。

データ型: char | string

R2023b 以降

3 次元モデルのスケール。正のスカラーとして指定します。glTF ファイル、STL ファイル、または triangulation オブジェクトから 3 次元モデルをインポートした場合、サイト ビューアーは、モデルに保存されている直線距離にこの値を乗算してシーンを作成します。たとえば、モデル内の 2 つの頂点の距離が 10 単位のとき、この値を 2 として指定すると、その距離が 20 単位に増加します。

既定では、サイト ビューアーはメートル単位かつ等倍スケールでシーンのモデルを解釈します。

このプロパティは、CoordinateSystem プロパティを "cartesian" に設定した場合にのみ適用されます。

このプロパティはサイト ビューアーの作成後は読み取り専用になります。

モデルの透明度。範囲 [0,1] のスカラーとして指定します。ここで、0 は透明、1 は不透明です。

既定値は ShowEdges プロパティおよび SceneModel プロパティの値によって異なります。

  • ShowEdges1 (true) の場合、既定値は 0.1 です。ShowEdges0 (false) の場合、既定値は 1 です。

  • SceneModel に glTF ファイルの名前が含まれている場合、既定の設定は 1 です。

このプロパティは、CoordinateSystem プロパティを "cartesian" に設定した場合にのみ適用されます。

データ型: double

モデルの原点を表示するオプション。数値または logical の 1 (true) または 0 (false) として指定します。x 軸は赤、y 軸は緑、z 軸は青で表示されます。シーンの z 軸が上方向になります。

このプロパティは CoordinateSystem'cartesian' である場合にのみ適用されます。

データ型: logical

モデルのエッジを黒い線で表示するオプション。数値または logical の 1 (true) または 0 (false) として指定します。サイト ビューアーでは、エッジを法線の差が 2 度を超える 2 つの隣接する小平面と定義しています。

このプロパティは CoordinateSystem'cartesian' である場合にのみ適用されます。

このプロパティはサイト ビューアーの作成後は読み取り専用になります。

データ型: logical

オブジェクト関数

camposSet or query position of camera for Site Viewer
camheightSet or query height of camera for Site Viewer
camheadingSet or query heading angle of camera for Site Viewer
campitchSet or query pitch angle of camera for Site Viewer
camrollSet or query roll angle of camera for Site Viewer
clearMapプロットのクリア
closeサイト ビューアーを閉じる

すべて折りたたむ

既定のサイト ビューアーを作成します。

viewer = siteviewer;

Satellite imagery of Earth

パンするには左クリックしてドラッグします。ズームするには右クリックしてドラッグするかスクロール ホイールを使用します。表示を回転させるには、中央ボタンをクリックしてドラッグするか、"Ctrl" を押しながら左クリックしてドラッグします。右クリックして [Show location] を選択すると、その位置の座標が表示されます。

この例では、ニュー・イングランドを含む地域に移動し、ケープ・コッド付近の場所の座標を表示します。

Satellite imagery of a region in the northeast United States

選択した位置に灰色のマーカーが表示されます。その位置を右クリックして [Remove Location] を選択し、マーカーを削除します。

R2023b 以降

RoadRunner を使用して作成された glTF ファイルから 3 次元モデルを表示します。RoadRunner は、自動運転システムをシミュレートおよびテストするための 3 次元シーンを設計できる対話型エディターです。

サンプルの glTF ファイルを保存するための一時フォルダーを作成します。downloadGLTFFile 補助関数を使用し、ファイルをフォルダーにダウンロードします。この補助関数は、この例にサポート ファイルとして添付されています。

dataDir = fullfile(tempdir,"IntersectionAndBuildings");
if ~exist(dataDir,"dir")
    mkdir(dataDir)
end
downloadGLTFFile(dataDir)

glTF ファイルは、モデルの構造を定義する 1 つのメイン ファイルと、モデルの色とテクスチャを定義する複数のイメージ ファイルで構成されます。メイン ファイルの名前を指定します。次に、サイト ビューアーを使用し、glTF ファイルをインポートして表示します。

filename = fullfile(dataDir,"IntersectionAndBuildings.glb");
viewer = siteviewer(SceneModel=filename,ShowEdges=false,ShowOrigin=false);

サイト ビューアーは、ファイルに保存されている色とテクスチャを使用してモデルを表示します。パンするには左クリックしてドラッグします。ズームするには右クリックまたはスクロール ホイールを使用します。表示を回転させるには、中央ボタンをクリックしてドラッグするか、Ctrl を押しながら左クリックしてドラッグします。

A city intersection with brick and concrete buildings

STL ファイルをインポートして表示します。このファイルはテーブル 1 台と椅子が 4 脚ある小さい会議室をモデル化したものです。

viewer = siteviewer(SceneModel="conferenceroom.stl");

パンするには左クリックします。ズームするには右クリックまたはスクロール ホイールを使用します。表示を回転させるには、中央ボタンをクリックしてドラッグするか、"Ctrl" を押しながら左クリックしてドラッグします。

3-D model of a table and four chairs

Manhattan のベースマップおよび建物ファイルを使用してサイト ビューアーを起動します。サイト ビューアーは、ファイルに保存されている色を使用して建物を表示します。OpenStreetMap® ファイルの詳細については、[1] を参照してください。

viewer = siteviewer(Basemap="openstreetmap",Buildings="manhattan.osm");

3-D buildings displayed over an OpenStreetMap basemap

建物の上に送信機サイトを表示します。

tx = txsite(Latitude=40.7107,Longitude=-74.0114,AntennaHeight=50);
show(tx) 

Transmitter site on a building

付録

[1] OpenStreetMap ファイルは、クラウドソーシングによる世界中の地図データへのアクセスを提供する https://www.openstreetmap.org からダウンロードされたものです。このデータは Open Data Commons Open Database License (ODbL) https://opendatacommons.org/licenses/odbl/ によりライセンスされています。

OpenStreetMap® ファイルに保存されている建物を地理空間テーブルに読み取り、地理空間テーブルを編集し、地理空間テーブルをサイト ビューアーにインポートして、この建物をカスタマイズします。

関数readgeotable (Mapping Toolbox)を使用して、OpenStreetMap ファイル [1] から建物のパーツを読み取ります。この関数は、建物に関する情報をファイルから取得し、地理空間テーブルに結果を保存します。table 変数 Shape は、地理座標系内で多角形の形状を使用して建物を表します。

buildings = readgeotable("manhattan.osm",Layer="buildingparts");
buildings.Shape
ans=2821×1 geopolyshape array with properties:
              NumRegions: [2821×1 double]
                NumHoles: [2821×1 double]
                Geometry: "polygon"
    CoordinateSystemType: "geographic"
           GeographicCRS: [1×1 geocrs]
      ⋮

OpenStreetMap ファイルによって返される一意の建物材料を調べます。

uniqueMaterials = unique(buildings.Material)
uniqueMaterials = 8×1 string
    ""
    "brick"
    "concrete"
    "copper"
    "glass"
    "metal"
    "plaster"
    "stone"

各材料に色を関連付けるディクショナリを作成します。16 進数カラー コードを使用して色を指定します。指定されていない材料とコンクリートには灰色、れんがには赤、銅にはオレンジ、ガラスには青、金属には黒、石こうには白、石には紫を使用します。

materials = ["","brick","concrete","copper","glass","metal","plaster","stone"]; 
colors = ["#D3D3D3","#AA4A44","#D3D3D3","#B87333","#35707E","#151513","#FFFFFF","#301934"];
dict = dictionary(materials,colors)
dict =

  dictionary (string ⟼ string) with 8 entries:

    ""         ⟼ "#D3D3D3"
    "brick"    ⟼ "#AA4A44"
    "concrete" ⟼ "#D3D3D3"
    "copper"   ⟼ "#B87333"
    "glass"    ⟼ "#35707E"
    "metal"    ⟼ "#151513"
    "plaster"  ⟼ "#FFFFFF"
    "stone"    ⟼ "#301934"

テーブル内の各建物については、建物の材料に基づいて建物の色を設定します。

numBuildings = height(buildings);
for n = 1:numBuildings
    material = buildings.Material(n);
    buildings.Color(n) = dict(material);
end

サイト ビューアーで建物を表示します。複数の建物の色が示されているエリアに移動します。

viewer = siteviewer(Buildings=buildings);

Site Viewer with buildings in gray, red, blue, and purple colors

Site Viewer オブジェクトの Materials プロパティのクエリを実行し、サイト ビューアーに格納されている建物材料を表示します。既定では、レイ トレーシング解析関数は table 変数 MatchedCatalogMaterial に格納されている材料を使用します。

viewer.Materials
ans=7×2 table
     Material     MatchedCatalogMaterial
    __________    ______________________

    "brick"           "brick"           
    "concrete"        "concrete"        
    "copper"          "copper"          
    "glass"           "glass"           
    "metal"           "metal"           
    "plaster"         "plasterboard"    
    "stone"           "marble"          

[1] OpenStreetMap ファイルは、クラウドソーシングによる世界中の地図データへのアクセスを提供する https://www.openstreetmap.org からダウンロードされたものです。このデータは Open Data Commons Open Database License (ODbL) https://opendatacommons.org/licenses/odbl/ によりライセンスされています。

OpenTopoMap® ベースマップ上の位置を表示するカスタム ベースマップを追加します。その後、カスタム ベースマップを削除します。

次の引数の値を指定します。

  • カスタム ベースマップを識別する名前。

  • マップ タイルの URL。負荷分散のために、このプロバイダーには使用可能な 3 つのサーバー (ab、または c) があります。

  • マップ タイルのプロバイダーのクレジットを示すための属性。データをプロットすると、この属性がマップの下部に表示されます。マップ タイルのプロバイダーが、属性に関する特定の要件を定義している場合があります。

  • カスタム ベースマップの表示名。この名前はサイト ビューアーの [Imagery] タブに表示されます。

name = "opentopomap";
url = "a.tile.opentopomap.org/${z}/${x}/${y}.png";
attribution = "©OpenStreetMap contributors";
displayName = "Open Topo Map";

addCustomBasemap を使用してカスタム ベースマップを読み込んでから、カスタム ベースマップを使用するサイト ビューアーを作成します。

addCustomBasemap(name,url,Attribution=attribution,DisplayName=displayName)
viewer = siteviewer(Basemap=name);

Site Viewer with the OpenTopoMap basemap

カスタム ベースマップを追加すると、新しいサイト ビューアー ウィンドウにカスタム マップが表示されます。[Imagery] タブの [Open Topo Map] ベースマップ アイコンに注目してください。

viewer2 = siteviewer;

A new Site Viewer. The Imagery tab shows a selection of basemaps, including the OpenTopoMap basemap..

removeCustomBasemap を使用して、カスタム ベースマップを削除します。その後、新しいサイト ビューアーを開きます。[Imagery] タブから [Open Topo Map] ベースマップ オプションが消えていることに注目してください。

removeCustomBasemap(name)
viewer3 = siteviewer;

The Imagery tab in a new Site Viewer. The tab does not show the OpenTopoMap basemap.

2 つのサイト ビューアー ウィンドウを起動します。一方は USGS および NGA の GMTED2010 モデルから派生した地形データを使用するもの、他方は地形データを使用しないものです。

viewer1 = siteviewer(Terrain="gmted2010",Name="Site Viewer (GMTED2010)");
viewer2 = siteviewer(Terrain="none",Name="Site Viewer (No Terrain Data)");

送信機サイトを作成します。

tx = txsite;

各ウィンドウ上にカバレッジ マップを生成します。地形のあるマップは、既定で Longley-Rice 伝播モデルを使用します。

coverage(tx,Map=viewer1)

地形のないマップは、既定で自由空間モデルを使用します。

coverage(tx,Map=viewer2)

制限

地形

  • 既定の地形にアクセスするには、インターネット接続が必要です。インターネット接続が存在しない場合、サイト ビューアーはプロパティ Terrain'none' を自動的に使用します。

  • addCustomTerrain で使用するカスタム DTED 地形ファイルは、USGS EarthExplorer などを使用して MATLAB 外から取得しなければなりません。

  • カスタム地形を使用する場合、解析は地形領域に制限されます。たとえば、送信機サイトまたは受信機サイトを領域外に表示しようとすると、エラーが発生します。

建物

  • https://www.openstreetmap.org から取得した OpenStreetMap ファイルは、クラウドソーシングによる地図データであり、建物データの完全性と正確性は地図上の位置によって異なる場合があります。

  • https://www.openstreetmap.org からデータをダウンロードする場合、期待される建物の特徴をすべて確実に取得できるように、必要な領域よりも広いエクスポート領域を選択します。選択したエクスポート領域の端にある建物の特徴が失われる場合があります。

  • 建物の形状と特徴は、3 次元の建物に関する OpenStreetMap の推奨事項に従って、ファイルから解釈されます。

MATLAB Online

  • MATLAB Online™ では、URL を更新すると、サイト ビューアー ウィンドウは開いたままですが可視化は消えます。

詳細

すべて展開する

バージョン履歴

R2019b で導入

すべて展開する