ラインまたはポリゴンの単純化(Simplify Line Or Polygon)の仕組み
ライン フィーチャまたはポリゴン境界の単純化(Esri、1996)は、一般化の操作の種類の 1 つです。この操作では、ラインまたはポリゴン境界の基本的な形状を壊すことなく余分な湾曲や細かな凹凸を取り除きます。[ラインまたはポリゴンの単純化(Simplify Line Or Polygon)] ツールでは、POINT_REMOVE および BEND_SIMPLIFY 演算子を使用してライン フィーチャおよび直交していないポリゴン境界の両方を単純化します。
使用する演算子の選択
POINT_REMOVE では強化された公開アルゴリズム(Douglas and Peucker、1973)を適用します。これは高速でシンプルなライン単純化アルゴリズムです。この演算子では、ラインの基本的な形状を表す、いわゆる重要ポイントを保持し、他のすべてのポイントを削除します。このアルゴリズムでは、アークの終端ノード間を「傾向線」で接続します。各頂点から傾向線までの距離が垂直方向に計測されます。ラインまでの距離が許容値より近い頂点は除外されます。アークは傾向線から最も遠い頂点によって分割され、2 本の新たな傾向線が生成されます。残りの頂点からこれらのラインに対する距離が計測され、許容値の範囲内にあるすべての頂点が除外されるまで、処理は継続されます(以下のダイアグラムをご参照ください)。
POINT_REMOVE はデータ圧縮や冗長な詳細の除外を行うのに効率的です。ただし、出力されるラインには、ラインのカートグラフィック品質を低下させる鋭角およびスパイクを含んでいる可能性があります。高いカートグラフィック品質が不要な場合、POINT_REMOVE を使用して少量のデータ削減または圧縮が可能です。
BEND_SIMPLIFY は形状認識技術を適用して湾曲を検出し、その特性を分析して、重要でないものを除外します。狭すぎる湾曲は許容値を満たすように少し広げられます。出力されるラインは元のラインにより忠実で、より良いカートグラフィック品質で表現されます。
適切な許容値の選択
[単純化許容値] で設定する許容値によって、単純化の度合いを決定します。カートグラフィック出力を生成するには、これらの演算子の許容値を間隔の閾値(グラフィック エレメント間で許容される最短の距離)と同じかそれ以上に設定します。他の表示またはデータ削減には、適切な許容値を見つけるために試行錯誤が必要になる場合があります。同じ許容値を使用して、POINT_REMOVE は BEND_SIMPLIFY より粗い精度のシンプルな出力を生成します。
出力の改善
POINT_REMOVE および BEND_SIMPLIFY を使用すると、次の 2 つの操作によって出力を改善することができます。まず最初に、各アークをできるだけ多くの頂点(最大 500 個)で構築します。2 つの演算子が各アークに作用し、アークが長ければ長いほど、出力は改善されます。次に、ノードをアークの非常に湾曲したセクションではなく、長く滑らかなセクションに配置します。
制限と提案
比較的大きな単純化許容値を設定すると、大きなポリゴンの近くにある小さなポリゴンが、大きなポリゴンの内部に取り込まれる可能性があります。このトポロジ エラーはプログラムでは検出されません。
[ラインまたはポリゴンの単純化(Simplify Line Or Polygon)] を使用する前に、(サイズまたは他の要件によって)すべての不要なポリゴンとホールを除外します。これによって処理時間が削減され、トポロジ エラーになる可能性が少なくなります。
参考文献
テクニカル ペーパー、Esri、「Automation of Map Generalization:The Cutting-Edge Technology」、1996。Esri サポート センターの「White Papers」セクション(以下の URL)にあります。http://downloads.esri.com/support/whitepapers/ao_/mapgen.pdf
Douglas David H、Thomas K. Peucker 共著「Algorithms for the Reduction of the Number of Points Required to Represent a Digitized Line or Its Caricature」、Canadian Cartographer、10、No. 2(1973 年 12 月)。