ラインの単純化(Simplify Line)の仕組み
単純化では、ラインの基本的な形状を壊すことなく余分な屈曲や細かな凹凸を取り除きます。[ラインの単純化(Simplify Line)] ツールは、2 つの単純化アルゴリズム(ポイント削除と屈曲の単純化)のいずれかを使用します。
使用する演算子の選択
ポイント削除
ポイント削除のオプションでは、強化された公開アルゴリズム(Douglas and Peucker、1973)が適用されます。これは高速でシンプルなライン単純化アルゴリズムです。このオプションは、ラインの基本的な形状を表す重要ポイントを保持し、他のすべてのポイントを削除します。アルゴリズムは、まずラインの端点を傾向線で接続します。各頂点から傾向線までの距離が垂直方向に計測されます。ラインまでの距離が許容値より近い頂点は除外されます。続いて、ラインが傾向線から最も遠い頂点によって分割され、2 本の新たな傾向線が生成されます。残りの頂点からこれらのラインに対する距離が計測され、許容値の範囲内にあるすべての頂点が除外されるまで、処理が継続されます。
ポイント削除はデータ圧縮や冗長な詳細の除外を行うのに効率的です。ただし、出力されるラインには、ラインのカートグラフィック品質を低下させる見栄えの悪い鋭角やスパイクが含まれる可能性があります。ポイント削除は、データの削減や圧縮が比較的少量である場合、および高いカートグラフィック品質が不要な場合に使用します。
屈曲の単純化
屈曲の単純化では、形状認識技術を適用して屈曲を検出し、その特性を分析して、重要でないものを除外します。線形フィーチャは一連の屈曲で構成されていると考えることができます(Wang, 1996)。このとき各屈曲は、連続する頂点において屈曲角度の符号(正または負)が同じであると定義されます。各屈曲の幾何学的プロパティの一部は、指定された単純化許容値に直径が等しい参照半円のプロパティと比較されます。これらの測定により、屈曲を保持または除去するかどうか、つまり屈曲をそのベースライン(屈曲の端点を接続したライン)で置き換えるかどうかを判定します。単純化は反復して実行され、先に小さい屈曲が除去され、結果として大きな屈曲が構成されます。生成されたラインは、ポイント削除で得られる結果よりも、元のラインの主要な形状に忠実で、カートグラフィック品質も高くなります。
結果の解析と品質向上
ツールはラインを 1 つずつ単純化します。ラインが長くなるほど、結果の見栄えは向上します。ソース データを収集または構築する際に、次のことに注意してください。可能な場合は常に、ラインの端点を屈曲のきついセクションではなく、長く滑らかなセクションに配置します。
[トポロジ エラーを解決] オプションを使用すると、プロセスはトポロジ エラー、ラインの交差、ラインの重複、または単純化された長さゼロのラインをチェックします。これらのエラーが 1 回目の単純化の後に検出された場合は、関連するライン セグメント(すべてのラインではなく)を特定して、前回の 50% の許容値を適用してセグメントをもう一度単純化します。この操作は、トポロジ エラーが検出されなくなるまで反復されます。出力フィーチャクラスには MaxSimpTol と MinSimpTol の 2 つの新しい属性が含まれ、これらは各ラインの単純化で実際に使用された許容値の範囲を表します。これらのフィールドは、プロセスでエラーが発生しなかった場合も追加されます。これらのフィールドを使用して、指定した許容値がデータにどのように影響したかを推定することができます。MaxSimpTol と MinSimpTol の値が、出力ラインの大部分で指定した許容値よりも小さい場合は、処理中に多数の競合が発生したことを表します。この場合は、許容値を小さくすることを検討してください。許容値よりも小さい MaxSimpTol および MinSimpTol の値は、幅の狭い 2 本の河川や接近した 2 つの境界線などの細部を表している場合があります。このような場合、単純化は理想的なカートグラフィの解決策ではありません。幅の狭いフィーチャは、たとえば 1 本の代表するラインで別々に表す必要があります。