R(または必要に応じてQGIS)のシェープファイルの解像度を下げる


12

NHGISの米国の州境の歴史のシェイプファイルを使用してRで地図を作成しています。これらのシェイプファイルは、国の規模で地図を作成するときに必要な解像度よりもはるかに高い解像度です。Rでこれらのシェープファイルの解像度を下げることができる方法はありますか?必要に応じて、代わりにQGISでそれを行うことができます。


もっと説明してもらえますか?解像度は画像に関連付けられています。ポリゴン内のノードが多すぎて、詳細が多すぎますか?または、ポイントシェープファイルに含まれるポイントが多すぎるのですか?
ライアンガーネット

2
@Ryan解像度は確かに画像に関連付けられていますが、ベクトルデータにも意味のある概念です。ポリラインおよびポリゴンフィーチャの場合、アークの単位長さあたりに使用される頂点の数で推定できます。通常、解像度は、適切なメタデータを参照することで見つけることができるため、ベクトルデータを検査することで常に正確に決定できるわけではありません(たとえば、高解像度ですが、間隔の広いポイントフィーチャのセットを検討してください)。
whuber

シェイプファイルには、国の地図を作成するのに必要なポイントよりも多くのポイントがあります。たとえば、都市の地図を作成するために、このレベルの詳細が必要です。これが私にとって重要な理由は、プロットの生成が遅くなり、反復に時間がかかるためです。
リンカーンミューレン

回答:


9

パッケージgSimplifyから使用できます。フラグrgeosを追加するtopologyPreserve=TRUEと、トポロジが保持されます。

それでも行が重複する可能性があることに注意してください-この堅牢なDPアルゴリズムをRで実装する必要があります。

http://www.sciencedirect.com/science/article/pii/S0098300413002380

[おそらく、ペイウォールの背後にあるリンク]


+1知って嬉しい。rgeosドキュメントがであるcran.r-project.org/web/packages/rgeos/rgeos.pdf
whuber

1

(ポリゴン境界を含む)線形形状を「間引く」ための標準的な方法は、ダグラスピーカーアルゴリズムです。少なくとも二つRのパッケージがこれを実装:dpシェープファイルのパッケージthinnedSpatialPolyGuerryパッケージ

通常、隣接するポリゴンを細くすると、それらの境界にわずかなギャップとオーバーラップが作成されることに注意してください。トポロジ間の関係は尊重されません。R間引き中にトポロジを維持するパッケージを知りません。これらのような小規模なマッピングの目的では、これは重大な問題ではありません。


ちなみに、ドイツ語の発音が誰にもわからないため、Tom Poikerは少し前に名前のスペルを変更しました。


ジオメトリを「薄くする」場合は、非常に注意する必要があります。境界を共有する複数のレイヤーがある場合、間引きによりギャップが生じ、視覚的および精度のエラーが発生する可能性があります。細くしすぎると、境界がギザギザになり、過度に単純化されます。単純化の範囲内で公差を再生してテストする必要があります。
ライアンガーネット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.