私の目標は、入力されたN個のラスターセルのうち、特定のラスター値/分類に該当するものをランダムにサンプリングし、これらのサンプルセルが少なくとも指定された距離以上離れているようにするスクリプトを書くことです。このサンプルを作成した後、これらのサンプルセルの緯度と経度をスプレッドシートにエクスポートしたいと考えています。<\/P>
<\/P>
私はArcMap 10.8を使用しており、IDLEでpythonを書いています。<\/P>
大きな地域、国全体の.tifラスター ファイルを持っています。セルサイズは小さく30 x 30 mで、約1億8千万が0に分類され、1億5千万が1に分類されています。私は、希望するカテゴリからランダムにサンプリングしたいポイント数を入力し、それらのポイントが互いに少なくとも指定した距離だけ離れているようにするスクリプトを書きたいと思っています。例えば、分類が1のラスターセルから1000ポイント欲しくて、それらが互いに少なくとも5km離れているとします。これらのセルの緯度と経度を取得したいです—ラスターセルの中心で十分だと思いますが、30 x 30 mという精度で既に詳細なので厳密な精度は必要ありません。その後、これらのポイントの緯度と経度を.csvファイルかExcelシートにエクスポートしたいです。これを行う最良の方法は何でしょうか?効率性が問題になるかもしれないと考えています。<\/P>
<\/P>
現在の私の考えは以下の通りです:<\/P>
- 希望する値/カテゴリ(この場合は1)のセルだけを含む新しい.tifを作成する。<\/LI>
- セルをランダムにサンプリングする(どのツールを使うべきかわかりません)。<\/LI>
- サンプリングしたセルの座標をテーブルに入れる(どのツールを使うべきかわかりません)。<\/LI>
- サンプリングしたセルの周囲にバッファー(この場合5km)を描く。<\/LI>
- 前回サンプリングしたポイント周辺のバッファー領域を除外した新しい.tifを作成し、サンプリング可能なポイントから除外する。<\/LI>
- ステップ2〜6をあと999回繰り返す。<\/LI>
- テーブルを.csvにエクスポートする。<\/LI><\/OL>
<\/P>
<\/P>
より良い方法について何か提案はありますか?また、このタスクを達成するためにどんなツールが必要かご存知でしょうか?<\/P>
<\/P>
事前にご助言いただける方には大変感謝いたします。<\/P>