GeoCoach3D での DM データファイルのチェック順序
2004/07/13
ジオ・コーチ・システムズ
http://www.geocoach.jp/
info@geocoach.jp
GeoCoach3D で DM データファイルの問題点のチェックおよび修正する際に、効率的な手順を提案します。
GeoCoach3D には多数のチェック項目と確認・修正機能がありますが、どのような順序で使っていけば、最も効率よく確実にチェックと修正ができるか、順序づけて見たいと思います。

チェックから修正まで次のような流れになっています。
(1) [技術者]

ダイアログでチェックの内容を設定し、実行を指示する(2) [ソフトウェア]

チェックを実行(3) [ソフトウェア]

３D 表示パネルで該当するデータの位置を表示(位置や分布が確認できる）(4) [ソフトウェア]

該当するデータをリストで表示（データの数や内容を詳しく提示)(5) [技術者]

リストの項目（つまり該当するデータ）を選択する(6) [ソフトウェア]

選択されたデータの要素を３D 表示パネル中央に表示(7) [ソフトウェア]

選択されたデータの属性情報を表示(8) [技術者]

３D 表示パネルで形状を確認し、変更する(9) [技術者]

属性情報の値を確認し、変更する(10) [技術者]問題のあるデータについて、(5)から(9)で確認、修正する(11) [技術者]

再度、チェックを実行し、該当する項目がないことで、完了を確認(6)選択されたデータを表示(8)形状を確認し、変更する(7)選択されたデータの属性を表示(9)属性情報の値を確認し、変更する(4)該当するデータをリストで表示1/8

検出した問題箇所は[チェックリスト]パネルにリストアップします。問題箇所を自動で修正した場合、[確認リスト]パネルに修正したデータについてリストアップします。

GeoCoach3D はファイルチューザーで複数の DM データファイルをまとめて選択でき、開くことができます。Ｐ
Ｃのメモリーに余裕がある場合、複数のファイルを同時にチェックするほうが効率的です。１GB のメモリーが使える場合、地図データの大きさによりますが、砂防基盤地図 DM で 10 面から 50 面を同時に開いてチェックすることができます。開いているファイルをまとめて保存する機能もあります。

チェック項目によっては一時的にチェック用のデータ構造を作成しメモリーを使いますので注意が必要です。特に TIN の作成と表示には大量のメモリーを使用します。使用メモリーがＰＣに搭載されている物理メモリーを超えると、処理速度が極端に低下し、処理が止まったようになります。
「タスクマネージャー」の「パフォーマンス」
でメモリー使用状況を確認されることをお勧めします。GeoCoach3D はプログラムとデータあわせて 1.2G までの制限があります。

GeoCoach3D のメニューバーの[チェック]メニュは、上から順に実行すれば効率がよいと思われる順に並べています。一通りチェックと修正を済ませ、修正時に何か問題が発生していないことを確かめるため、再度上から順にチェックと確認されることをお勧めします。

１． ３次元要素を囲む矩形
GeoCoach3D は DM データファイルを開く際に、３次元要素(-999.0 以下を除く)を囲む矩形を計算し、３Ｄ表示します。もし、座標がおかしいデータがあれば、この矩形は本来の地図データの範囲より大きくなり、問題があることを示すことになります。例えば、標高値の数値入力時に小数点の位置がずれて、点要素の標高値が一桁大きい場合などは、矩形が上下に伸びます。点要素の表示サイズを大きくすることで、目視しやすくなります。この矩形は表示非表示を切り替えることができるので、非表示にして矩形の線上に載っている要素を目視しやすくすることができます。

2/8

２． TIN による目視チェック
TIN を作成した場合、標高値がおかしい箇所は突起や穴となって現れます。TIN の表示設定で、「ジェーディング」を「グーロー」にし、地図を非表示にすると見つけやすくなります。TIN の三角ポリゴンは表面しか表示していないので、地図データを下側(地下側)からみると、穴となっている箇所が見つけやすくなります。

TIN の作成と表示には大量のメモリーを使用するので、１枚あるいは数枚の DM ファイルを開いた状態で行ってください。

３． 全ての点が同一座標[チェック]-[点列チェック]の[すべての点が同一座標(XYZ)]で、全ての座標点が一点に縮退した面要素と線要素を検出します。ほとんどの場合、線要素が他の線要素の端点に重なっているようです。一点なので、表示や印刷で検出することはほとんど不可能です。[線・面要素を削除する]で一括して削除することができます。

他の線要素の端と重なって、全て同一座標の線要素がある

４． 次の点が同一座標[チェック]-[ 点列チェック]の[次の点が同一座標(XYZ)]で、点の重なりをチェックします。同一座標点が連続する
ケースは CAD 系のソフトウェアで DM を編集して、DM ファイルに出力する時点で座標の丸めなどの結果起こると考えられます。同一座標点は必要ないので、[同一座標点を削除する]を指定し、一括して削除することができます。
1,2345

1 番目と２番目の点が同一座標[次の点が同一座標(XY)]は、同一ＸＹ座標が連続する箇所を検出します。上記チェックの修正後では、垂直な線を検出することになります。砂防基盤地図では基本的に垂直なデータはないはずなので、状況を確認しながら修正することをお勧めします。線要素と線要素を接続した際に、端点のＺ値にずれがあったと思われるケースがあります。

3/8

５． 自己交差[チェック]-[ 点列チェック]の[自己交差]で、面と線要素の点列について、自分自身と交差あるいは接触する箇所をリストアップします。

交差

接触

６． Z が-999.0 の点[チェック]-[ 点列チェック]の[-999 以下とそれ以外の Z 値の混在]で、３次元の面・線要素の点列について Z 値の混在をチェックします。一部の点だけが-999.0 になっている点とか、ほとんど点が-999.0 なのに-999.0 以上の点がある場合を検出します。

７． 図郭外[チェック]-[２Ｄチェック]の[図郭外]で図郭の外に出ている点を検出します。次の[図郭間の接合(XYZ)]チェックの前に行い、修正しておく必要があります。

端点が図郭の外に出ている

８． 図郭間の接合[チェック]-[２Ｄチェック]の[図郭間の接合(XYZ)]で図郭間の接合をチェックします。図郭上に端点がある線要素について、隣接する図郭の要素と繋がっていないものをリストアップします。また、隣接する図郭の要素が複数の場合も検出します。複数の DM データファイルが読み込まれている状態で、このチェックが使えます。上記の[図郭外]チェックで、図郭の外に出ている要素を修正した後、このチェックを実行します。

ずれている場合

複数の要素に接続している場合

９． 図郭間の接合点での方向(XYZ)[チェック]-[２Ｄチェック]の[図郭間の接合点での方向(XYZ)]で図郭間の接合点での線要素の点列の方向が異なる場合を検出します。[座標値]パネルのポップアップメニュー[点列の順序を反転]で修正できます。上記、図郭間の接合でずれを修正した後のチェックになります。

4/8

方向が一致しているので検出されない

１０．

方向が逆なので検出される

等高線の標高値[チェック]-[等高線チェック]の[異なる標高値を持つ等高線]で、最初の点のＺ値と異なるＺ値を持つ点をリストアップします。DM データファイルの中で、等高線が三次元座標レコードで記録されている場合、この問題が出る可能性があります。CAD 系のソフトウェアで XYZ の値がそのまま DM データファイルに出力された場合だとおもわれます。等高線が二次元座標レコードで記録されている場合、標高値は属性数値に記録されるので、この問題は現れません。これを修正した後、[標高値に端数がある計曲線・主曲線]で、端数がある等高線をリストアップします。最初の点の Z 値についてチェックします。等高線の標高値に端数がある場合、DM データファイルリード時に個数をレポートします。GeoCoach3D では等高線が３次元座標レコードで記録されている場合、最初の点のＺ値を標高値としています。

１１．

等高線の種類に対する等高線の間隔

等高線の種類（計曲線、主曲線、補助曲線、特殊補助曲線）に対して、それぞれの等高線の間隔（標高値）についてチェックし、マッチしない場合リストアップします。例えば、1/2500 で主曲線の標高値が 10.0m の場合、これは計曲線になるべきだとリストアップします。逆に計曲線の標高値が 2.0m の場合、これは計曲線としての標高値ではないとリストアップします。

１２．

標高値（隣接関係で TIN 参照）

隣接する等高線(計曲線、主曲線)との標高値の差を比較し、標高値に問題があるケースをリストアップします。
縮尺
判定方法
1/250, 1/500, 1/1000 隣接する等高線との標高値が同じか、差が±1.0 の場合以外
1/2500
隣接する等高線との標高値が同じか、差が±2.0 の場合以外
1/5000
隣接する等高線との標高値が同じか、差が±5.0 の場合以外
1/10000
隣接する等高線との標高値が同じか、差が±10.0 の場合以外
等高線の隣接関係を得るために TIN を参照するので、あらかじめ TIN を作成あるいは開いておく必要があります。
処理の詳しい内容は操作説明書を参照してください。

１３．

座標のずれ対応

チェックではありませんが、この段階で、[一括処理]-[座標のずれ対応]を実行し、地図データの精度程度(1/2500で 1cm)程度しか離れていない点を一箇所にまとめます。一度実行した後、２度目の実行での処理化については目視で確認するようにしてください。ほとんど平行な線について、点が挿入や移動されているケースがあります。
また、この処理で、面・線要素に垂直な線が発生することがあります。もともと水平方向に 1cm 程度しか離れていないほとんど垂直な２点が、同一 XY 座標になったためです。[チェック]-[ 点列チェック]の[次の点が同一座標(XY)]でチェックしてください。

5/8

１４．

次の点が近接[チェック]-[２Ｄチェック]の[次の点が近接(XYZ)]で、地図データの精度程度(1/2500 で 1cm)しか離れていない点の連続を検出します。編集時に点のスナップのつもりが線のスナップになってしまったような箇所だと思われます。短い線がＸ軸やＹ軸に平行になっているため、点列がここで変化しています。このような箇所があると、TIN発生で針のような細長い三角ポリゴンができ、ポリゴンの数を増やしてしまいます。また、地形の断面を取得する際に、微小な凸凹が発生する恐れがあります。

但し、このような箇所は[一括処理]-[座標のずれ対応]で解消できます。

１５．

オーバーシュート・アンダーシュート[チェック]-[オーバーシュート・アンダーシュート]で、オーバーシュートとアンダーシュートをリストアップします。CAD 系のエディタで編集した場合、スナップなどで端点を他の要素の線上にのせても、DM データにする際に 2500 分の１なら 1cm 単位に座標が丸められています。そのため、端点も線も微妙に動いてしまいます。
（スナップ時に相手の線にもノードが追加されていれば、同じ位置に丸められるのはずなので、ずれは生じません）このような箇所は大量にあるケースが多いので、GeoCoach3D では自動的に相手の線にノードを挿入し、オーバーシュート、アンダーシュートを解消する機能を提供しています。一旦自動で処理し、残った箇所について状況を確認しながら修正します。Ｚ値が大きく異なるところ、線の勾配が大きく変わっているところや、オーバーハングになっているところなどが残ります。

DM 標準フォーマットファイル

１６．

ノードチェック（他の要素の点に近接する点）[チェック]-[ノードチェック]の[他の要素の点に近接する点]で、近接する点をリスアップします。本来一致しておくべき点が離れている状況がリストアップされます。それぞれの箇所を目視で確認しながら、 [移動して座標を一致させる]で一括して修正できるケースは保留し、そうでないケースはその場で修正します。複数の要素の端点が集まっている箇所で、ひとつだけ端点が離れている場合、そのひとつを修正するなどは、見ながらでないとできません。また真幅道路と被覆のどちらの点を移動させるかなど、要素の関係をみながら修正する必要があります。

１７．

ノードチェック（他の要素の線分上にある点）[チェック]-[ノードチェック]の[他の要素の線分上にある点]で、他の要素の線分上にある点をリストアップします。
該当する点は、他の要素の線分上にあり、かつ相手の要素にノードがないケースです。一通り状況を目視した後[相手要素に点を挿入する]を指定して、相手にノードを挿入します。一括して挿入した後、標高値の差が大きくて残6/8

った箇所について、状況を確認しながら修正します。
Ａ２Ａ１

Ｂ３
Ｂ２Ｂ１

点 A1 と B1、A2 と B3 は同一座標だとします。点 B2 は見かけ上、線 A1A2 上にあるように見えますが、DM データフ
ァイルの精度のため、cm あるいは mm に丸められて、実質的に線 A1A2 からずれています。従って、ずれをなくすためには、A1A2 の間に B2 と同じ座標の点を挿入しなければなりません。

１８．

ノードチェック（他の要素の点に近接する点）

上記 16 の処理で、線が動いたため、新たに近接する点が出てくる場合があります。ここで、再度チェックします。
１９．

分岐[チェック]-[ネットワークチェック]の[分岐(2D)]で、線要素の分岐箇所をチェックします。[等高線チェック]の[分岐]も同じ処理を行ないます。分岐部分にはノードがあります。CAD 系の編集ソフトで等高線の端点を会わせる際に、点のスナップではなく、線のスナップになってしまったと思われるケースがあります。ほとんどの場合、短い線が分岐しています。ノードがない場合、下の[等高線の端点間の隙間]で検出されることがあります。

２０．

端点間の隙間[チェック]-[ネットワークチェック]の[端点間の隙間(2D)]で、線要素端点と端点が離れている箇所を検出します。
[等高線チェック]の[等高線の端点間の隙間]も同じ処理を行ないます。線要素の端点を合わせたはずなのに、厳密に端点の XY 座標が一致していないケースがあります。単に端点が離れている場合と、端の線が交差している場合があります。図郭間での隙間を検出するために、隣接する図郭も読み込んでチェックすることをお勧めします。
上記の[図郭間の接合]では、端点が図郭上にある要素のみをチェックするので、両方の端点が図郭上にない場合、検出できません。この端点間の隙間では、図郭線に乗っている端点はチェックの対象としていません。

２１．

線の重なり

[チェック]-[線の重複チェック]で、線の重なりを検出しします。先に、チェックパターンの[同一分類コード内での重複検出]で実行します。等高線など同じ要素同士が一部分重なったり、同一要素内で線分が重なっているケースがあります。 [表示]-[アップシフト表示:]メニューで、選択されている要素を一時的に少しだけ上に表示することで、線の重なり状況が確認しやすくなります。また、３次元の要素と２次元の要素の XY が重なっている場合、ツールバーの[鉛直方向スケール]で 0.0001 を指定することで、ほとんど同一平面上に表示され、位置関係が把握しやすくなります。上記のノードチェックで座標のずれを修正してから、線の重なりをチェックされることを勧めます。順序が逆になると、座標のずれ修正のため、重なりが新たに発生することがあります。

7/8

同一分類コードの要素の重なりは[一括処理]-[重複削除]で削除することができます。

次に、チェックパターンの[垂直な面(Z 値が異なる重なり)検出]で実行します。同一 XY で、Z 値が異なる重なりのみ検出します。真幅道路と重なる人工斜面、河川と重なる護岸被服などの組み合わせで、Z 方向のずれを検出します。

２２．

３Ｄチェック[チェック]-[３Ｄチェック]で、標高値が矛盾している箇所をリストアップ、修正します。標高値の許容誤差を設定し、それより大きい箇所から順に修正していきます。要素が交差する箇所で、パターンがわかっているケースについては、[３次元化]-[３次元化(一括:：面・線)]でまとめて修正できます。

２３．

点要素の標高値[チェック]-[点要素チェック]で、点要素の標高値に誤りがないかチェックします。チェックの前に線要素と面要素を使い、チェックしようとされている点要素を使わずに TIN を発生しておきます。点要素の標高値と TIN 上での標高値とのずれで判定します。ずれが大きい点からリストアップされるので、上位の点について目視で確認します。

8/8