1

Google マップから取得したビットマップ上で関心のある道路を強調表示するためにユーザーが線を引く (無料の描画) ことができるアプリケーション (WinForms C#) があります。

Mouse Down/Move/Up イベントを使用して GraphicsPath オブジェクトにポイントを追加しています。これは、2 つの点だけで表すことができる道路の直線区間に適しています。しかし、長時間ボタンを押したままマウスを回転させると、大量のポイント データが生成されます。

これは非効率であるだけでなく、曲線を描くのが面倒な方法でもあります (特にズーム レベルが低すぎる場合)。

質問:

  • パスが完成したら、精度を落とさずにポイントの数をプログラムで減らすにはどうすればよいでしょうか。
  • 何らかの形の幾何学的構造を使用してポイント情報を取得するより良い方法はありますか?
4

1 に答える 1

2

多角形曲線のポイント数を減らすために一般的に使用される方法は、Ramer–Douglas–Peucker アルゴリズムです。ルートなどのマップ描画でポイント数を減らすのに最適です。

于 2013-01-27T19:01:37.350 に答える