Mijn doel is om een script te schrijven dat willekeurig een gewenst aantal ingevoerde N rastercellen met een bepaalde rasterwaarde\/classificatie selecteert, waarbij deze geselecteerde cellen minimaal een gespecificeerde ingevoerde afstand van elkaar verwijderd zijn. Nadat ik deze steekproef heb samengesteld, wil ik de breedte- en lengtegraad van deze geselecteerde cellen exporteren naar een spreadsheet.<\/P>
<\/P>
Ik gebruik ArcMap 10.8 en schrijf in python met IDLE.<\/P>
Ik heb een .tif rasterbestand van een groot gebied. De grootte van een heel land. Het heeft rastercellen die klein zijn, 30 x 30 m met ongeveer 180.000.000 geclassificeerd als 0 en 150.000.000 geclassificeerd als 1. Ik wil een script schrijven waarin ik een aantal punten invoer die ik willekeurig wil laten selecteren uit de categorie die ik wens en dat deze punten minimaal een door mij bepaalde afstand van elkaar verwijderd zijn. Laten we zeggen dat ik 1000 punten wil van de rastercellen die geclassificeerd zijn als 1 en dat ze minimaal 5 km van elkaar verwijderd zijn. Ik wil graag de breedte- en lengtegraad van deze cellen verkrijgen—ik neem aan dat het midden van de rastercel volstaat, maar zo'n precisie is niet noodzakelijk aangezien 30 x 30 m al erg gedetailleerd is. Daarna wil ik de breedte- en lengtegraad van deze punten exporteren naar een .csv-bestand of een Excel-sheet. Wat is de beste manier om dit aan te pakken? Ik vermoed dat efficiëntie misschien een probleem kan zijn.<\/P>
<\/P>
Op dit moment is mijn gedachtegang als volgt:<\/P>
- maak een nieuwe .tif aan met alleen de cellen met de gewenste waarde\/categorie (in dit geval 1).<\/LI>
- willekeurig een cel selecteren, (niet zeker welke tool te gebruiken).<\/LI>
- zet de coördinaten van de geselecteerde cel in een tabel (niet zeker welke tool te gebruiken)<\/LI>
- teken een buffer (5 km in dit geval) rond de geselecteerde cel.<\/LI>
- maak een nieuwe .tif waarbij het buffergebied rond het eerder geselecteerde punt wordt uitgesloten van de punten die geselecteerd mogen worden.<\/LI>
- herhaal stappen 2-6 nog 999 keer.<\/LI>
- exporteer tabel naar .csv<\/LI><\/OL>
<\/P>
<\/P>
Heeft iemand suggesties voor een betere methode? Weet ook iemand welke tools ik zou moeten gebruiken om deze taak uit te voeren?<\/P>
<\/P>
Alvast hartelijk dank voor alle wijsheid die u kunt delen.<\/P>