サーフェスの起伏に沿ってベクタージオメトリの各頂点にZ座標を与える処理は「ドレープ」 (drape) と呼ばれています。FMEでは、サーフェスデータがない場合でも、3Dポイント/ライン、DEM (数値標高モデル) ラスター、あるいは点群 (ポイントクラウド) があれば、それに基づいてTIN - 不規則三角網サーフェスを作成したうえで、ベクタージオメトリのドレープを行うことができます。
ここでは、利尻島 (北海道北部) の区域をサンプルとして、基盤地図情報数値標高モデル (10mメッシュDEM) に基づくサーフェスを作成するとともに、それによって道路中心線 (2Dライン) をドレープするワークスペース例を掲げます。
FME 2016.0.1.1 build 16177
ソースデータ
1. 数値標高モデル (XML): 利尻島を含む範囲について、基盤地図情報ダウンロードサイトからダウンロードした2次メッシュ5区画分 (メッシュコード: 6741-51, -52, -61, -62, -71) の10mメッシュDEMデータ
2. 道路中心線 (Esri Shapefile): 利尻島を含む範囲について、国土地理院ベクトルタイル提供実験「道路中心線」データを FME によって取得、Shapefile 形式で保存したデータ (2Dライン)
国土地理院「地理院タイル」データ (ベクトルタイル提供実験で提供されているデータを含む) の取得に関しては、次の記事を参照してください。
> 地理院タイルデータの取得 - 西之島付近噴火活動 正射画像の例
> ベクタージオメトリの色 - 国土地理院「地形分類」
FMEワークスペース例
(ブックマーク上)
[JP_FGD_DEM] リーダー (FME Store カスタムフォーマット): 基盤地図情報DEM (XML) をラスターとして読み込む。
RasterMozaicker: 複数のラスターを結合してひとつのラスターに変換する。
Reprojector: 座標系を変換する (この例ではJGD2000平面直角座標第XII系に変換)。
(ブックマーク下)
[ESRISHAPE] リーダー: 道路中心線データ (Shapefile, 2Dライン) を読み込む。
Reprojector: 座標系を変換する (この例ではJGD2000平面直角座標第XII系に変換)。
SurfaceModeller: DEMラスターに基づいてサーフェスを作成するとともに、それによって道路中心線をドレープする。
[ESRISHAPE] ライター: ドレープ後の道路中心線、サーフェスをそれぞれ Shapefile 形式のファイルに保存する。
SurfaceModeller の TINSurface ポートから出力されるTINサーフェスのデータ構造は Mesh ですが、[ESRISHAPE] ライターは、それを Shapefile (Multipatch タイプ) 形式のファイルに保存することができます。3Dモデル (サーフェス、ソリッド) のデータ構造に関しては、次の記事を参照してください。
> Esri Shapefile 形式による3Dモデルの保存
なお、国土地理院ベクトルタイル提供実験サーバーから道路中心線データを取得する処理をこのワークスペースに組み込んで同時に実行することもできますが、それは今回の主題ではないので、データフローを簡素にするため、あらかじめ別のワークスペースによって取得して Shapefile 形式のファイルに保存したデータを使いました。
結果: 基盤地図情報DEMに基づいて作成したサーフェスとドレープ後の道路中心線 (オレンジ色のライン)
FME Data Inspector による3D表示。サーフェス (地形) の起伏に沿って道路中心線が3D化されました。
利尻島の区域について、基盤地図情報数値標高モデル (10mメッシュDEM)、および、国土地理院ベクトルタイル提供実験「道路中心線」データに基づいて作成
SurfaceModeller は、Points/Lines ポートから入力された3Dポイント/ライン、DEMラスター、あるいは点群 (ポイントクラウド) に基づいてTINサーフェスを作成し、DrapeFeautres ポートからベクタージオメトリを持つフィーチャーが入力された場合には、それに対するドレープを同時に行います。
このトランスフォーマーは多機能で、TINサーフェスの作成とドレープのほかに、等高線、DEMポイント、DEMラスター、ボロノイ図の作成も同時に行うので、場合によってはオーバースペックかも知れません。次のように機能ごとのトランスフォーマーが用意されているので、目的に応じて使い分けることもできます。
トランスフォーマー | 機能概要 |
ContourGenerator | 等高線 (3Dライン) の作成 |
DEMGenerator | DEMポイントの作成 |
RasterDEMGenerator | DEMラスターの作成 |
SurfaceDraper | ベクタージオメトリのドレープ |
TINGenerator | TIN (不規則三角網) サーフェスの作成 |
VoronoiDiagrammer | ボロノイ図 (ボロノイ領域を表すポリゴン) の作成 |
例えば、上記の例で道路中心線のドレープだけを行う場合には SurfaceDraper、サーフェスの作成だけを行う場合には TINGenerator が使えます。TINGenerator に関しては、次の記事も参照してください。
> TIN (不規則三角網) の作成
> TIN (不規則三角網) の作成
0 件のコメント:
コメントを投稿