Mein Ziel ist es, ein Skript zu schreiben, das zufällig eine gewünschte Anzahl von eingegebenen N Rasterzellen mit einem bestimmten Rasterwert/Klassifikation auswählt, wobei diese ausgewählten Zellen mindestens einen angegebenen Eingabeabstand zueinander haben. Nachdem ich diese Stichprobe zusammengestellt habe, möchte ich die Breiten- und Längengrade dieser ausgewählten Zellen in eine Tabelle exportieren.<\/P>
<\/P>
Ich verwende ArcMap 10.8 und schreibe in Python mit IDLE.<\/P>
Ich habe eine .tif Rasterdatei eines großen Gebiets. Die Größe eines ganzen Landes. Sie enthält Rasterzellen, die klein sind, 30 x 30 m, mit ungefähr 180.000.000 als 0 klassifizierten und 150.000.000 als 1 klassifizierten Zellen. Ich möchte ein Skript schreiben, bei dem ich eine Anzahl von Punkten eingebe, die ich zufällig aus der gewünschten Kategorie auswählen möchte, und dass diese Punkte mindestens einen von mir festgelegten Abstand zueinander haben. Sagen wir einfach, ich möchte 1000 Punkte der Rasterzellen, die als 1 klassifiziert sind, und dass sie mindestens 5 km voneinander entfernt sind. Ich möchte die Breiten- und Längengrade dieser Zellen erhalten – ich stelle mir vor, das Zentrum der Rasterzelle reicht aus, aber eine so genaue Positionierung ist nicht notwendig, da 30 x 30 m bereits sehr detailliert ist. Dann möchte ich die Breiten- und Längengrade dieser Punkte in eine .csv-Datei oder ein Excel-Blatt exportieren. Wie ist der beste Weg, dies zu tun? Ich vermute, Effizienz könnte ein Problem sein.<\/P>
<\/P>
Im Moment denke ich folgendermaßen:<\/P>
- Erstelle eine neue .tif nur mit den Zellen des gewünschten Werts/Kategorie (in diesem Fall 1).<\/LI>
- Zufällige Auswahl einer Zelle (ich bin mir nicht sicher, welches Tool ich verwenden soll).<\/LI>
- Füge die Koordinaten der ausgewählten Zelle in eine Tabelle ein (ich bin mir nicht sicher, welches Tool ich verwenden soll).<\/LI>
- Zeichne einen Puffer (in diesem Fall 5 km) um die ausgewählte Zelle.<\/LI>
- Erstelle eine neue .tif mit dem Pufferbereich um den zuvor ausgewählten Punkt ausgeschlossen von den zulässigen Punkten für die Auswahl.<\/LI>
- Wiederhole die Schritte 2–6 noch 999 Mal.<\/LI>
- Exportiere die Tabelle als .csv.<\/LI><\/OL>
<\/P>
<\/P>
Hat jemand Vorschläge für einen besseren Weg? Kennt jemand auch Tools, die für diese Aufgabe geeignet sind?<\/P>
<\/P>
Vielen Dank im Voraus für jede Weisheit, die Sie geben können.<\/P>