[ラインの単純化 (Simplify Line)] ツール、[ポリゴンの単純化 (Simplify Polygon)] ツール、および [共有エッジの単純化 (Simplify Shared Edges)] ツールは、ラインとポリゴンを単純化して、小さな縮尺でも表示できるようにフィーチャの複雑さを緩和します。これらのツールは、固有の特性と形状を維持しながらフィーチャの複雑さを緩和するために、比較的重要ではない頂点を識別および削除します。 単純化にはさまざまなアルゴリズムがあり、それぞれが少し異なる結果を生成します。
単純化のアルゴリズム
ポイント削除
ポイント削除オプションは、高速で単純なラインの単純化を行います。このオプションは、ラインの基本的な形状を表す重要ポイントを保持し、他のすべてのポイントを削除します。アルゴリズムは、まずラインの端点を傾向線で接続します。傾向線までの各頂点の距離が、垂直方向に計測されます。許容値よりも傾向線に近い頂点は削除されます。続いて、ラインが傾向線から最も遠い頂点によって分割され、2 本の新たな傾向線が生成されます。残りの頂点については、これらの傾向線までの距離が計測されます。このプロセスは、許容値内のすべての頂点が削除されるまで繰り返されます。このオプションは、Douglas と Peucker (1973) が定義したアルゴリズムに基づいています。
ポイント削除はデータ圧縮や冗長な詳細の除外を行うのに効率的です。ただし、出力されるラインには、ラインのカートグラフィック品質を低下させる見栄えの悪い鋭角やスパイクが含まれる可能性があります。ポイント削除は、データの削減や圧縮が比較的少量である場合、および高いカートグラフィック品質が不要な場合に使用します。
屈曲の単純化
屈曲の単純化オプションは、形状認識技術を適用して屈曲を検出し、その特性を分析して、重要でないものを除外します。線形フィーチャは一連の屈曲で構成されていると考えることができます (Wang, 1996)。このとき各屈曲は、連続する頂点において屈曲角度の符号 (正または負) が同じであると定義されます。各屈曲の幾何学的プロパティの一部は、指定された単純化許容値に直径が等しい参照半円のプロパティと比較されます。これらの測定により、屈曲を保持または除去するかどうか、つまり屈曲をそのベースライン (屈曲の端点を接続したライン) で置き換えるかどうかを判定します。単純化は反復して実行され、先に小さい屈曲が除去され、結果として大きな屈曲が構成されます。生成されたラインは、ポイント削除で得られる結果よりも、元のラインの主要な形状に忠実で、カートグラフィック品質も高くなります。このオプションは、Wang and Müller (1998) が定義したアルゴリズムに基づいています。
重み付けエリア
重み付けエリア アルゴリズムは、まず各頂点に対して有効なエリアの三角形を識別します。次に、各エリアの平坦度、歪度、凸性を比較するために、それらの三角形が一連のメトリクスによって重み付けされます。加重エリアを参考にしてそれらに対応する頂点を削除することで、可能な限り特徴を維持しながら、ラインを単純化します。このオプションは、Zhou and Jones (2005) が定義したアルゴリズムに基づいています。
トポロジ整合性の維持
このツールでは、処理中にトポロジが維持されます。トポロジ エラーは発生しません。単純化によってトポロジ違反が発生する場合、これらのツールはジオメトリを 2 つのパーツに分割してから、それぞれを別々に単純化します。これは、再帰的な処理です。サブパーツもさらに分割される場合があります。この方法でトポロジを維持できない場合は、そのフィーチャの処理を中断して、近隣フィーチャを処理してから再開し、トポロジを維持できるかどうかが確認されます。
[入力バリア レイヤー] パラメーターを使用すると、単純化されるラインまたはポリゴンとクロスしてはならないフィーチャを含む 1 つ以上のフィーチャクラスを定義できます。この例としては、単純化された道路を配置できない湖と河川、等高線がクロスできない標高点やその他の測量マーカー、単純化されたデータが完全に内部に留まる必要がある行政区分などが挙げられます。
結果の解析と品質向上
ツールはラインとポリゴンのアウトラインを 1 つずつ単純化します。ラインまたはアウトラインが長くなるほど、結果の見栄えは向上します。ソース データを収集または構築する際に、次のことに注意してください。可能な場合は常に、ラインの端点を鋭角なセクションではなく、長く滑らかなセクションに配置します。
入力フィーチャクラスにおけるトポロジの問題 (交差ポイントがない状態で他のフィーチャとオーバーラップするフィーチャ) には、入力フィーチャクラス内のフィールドにフラグが付けられます。このフィールドの名前は、SimPgnFlag ([ポリゴンの単純化 (Simplify Polygon)] の場合) と SimLinFlag ([ラインの単純化 (Simplify Line)] の場合) です。これらのフィールドの 1 という値は、入力フィーチャクラス内のそのフィーチャにトロポジ エラーが存在することを示しています。
参照用に、入力フィーチャのオブジェクト ID に対応する ID フィールドも出力フィーチャクラスに追加されています。このフィールドは、InPoly_FID ([ポリゴンの単純化 (Simplify Polygon)] ツールの場合) または InLine_FID ([ラインの単純化 (Simplify Line)] ツールの場合) と呼ばれます。また、使用された許容値を格納するために、MinSimpTol および MaxSimpTol フィールドが出力に追加されています。
長さがゼロのラインに単純化されたラインの端点 ([ラインの単純化 (Simplify Line)] の場合)、または面積がゼロのポリゴンや [最小エリア] パラメーターで定義された最小エリアより小さなポリゴンに単純化されたポリゴン ([ポリゴンの単純化 (Simplify Polygon)] の場合)、あるいは両方 (共有エッジの単純化 (Simplify Shared Edges) の場合) を表すポイント フィーチャのポイント出力フィーチャクラスが作成されます。空のジオメトリまたは [最小エリア] パラメーターで定義された最小エリアより小さなポリゴンに単純化されたポリゴン。
大規模データセットの操作
これらのツールにおけるトポロジの処理では、複数のフィーチャを同時に考慮する必要があります。大規模なデータセットを操作するとき、メモリ制限を超える可能性があります。この場合、パーティションごとに入力データを処理することを検討してください。これには、[カートグラフィック パーティション] 環境設定で、入力データをカバーおよび分割する、関連のポリゴン フィーチャを特定します。パーティションの境界によって定義されたデータの一部が順次単純化されますが、出力フィーチャクラスはパーティションのエッジにおいてシームレスかつ一致しています。詳細については、「パーティションを使用した大きなデータセットのジェネラライズ」をご参照ください。
参照
Douglas David H. and Peucker、Thomas K. (1973) 「Algorithms for the Reduction of the Number of Points Required to Represent a Digitized Line or Its Caricature」、『Canadian Cartographer』、10(2)、pp112-122。
Wang, Zeshen and Müller、Jean-Claude (1998) 「Line Generalization Based on Analysis of Shape Characteristics」、 『Cartography and Geographic Information Systems』 25(1)、pp3-15。
Zhou, Sheng and Jones、Christopher B. (2005) 「Shape-Aware Line Generalisation with Weighted Effective Area」、Fisher, Peter F. (Ed.) 『Developments in Spatial Handling 11th International Symposium on Spatial Handling』、pp369-80。