Viac

Vytvárate rastrový výstup na základe porovnania dvoch vstupných rastrov pomocou ArcGIS for Desktop?


Mám 2 vstupné rastre zrážok na leto/zimu a chcem vytvoriť 3. výstup, na základe ktorého bude mať pre danú bunku maximálnu hodnotu. Ak je teda maximálna hodnota v bunke leto, priradí novému výstupnému rastru 1 alebo zime 2. Tak budem mať raster ukazujúci, v ktorej sezóne je maximum zrážok v rôznych oblastiach regiónu.

Napríklad, ak

Leto (1) bolo,

200 300

300 350

a Winter (2) bol,

300 350

350 200

Výstupom by bolo,

2 2

2 1

Rozumiem, že logika by mala byť: Ak max = letný výkon = 1, inak max = zimný výkon = 2

Ale nie som si istý, ako to skutočne preložiť do niečoho ako podmienené príkazy rastrových kalkulačiek.

Aktuálne používam ArcMap 10.2


Ak ste mali v obsahu ArcMap načítaný raster predstavujúci letné zrážky s názvom „Summer.tif“ a raster predstavujúci zimné zrážky s názvom „Winter.tif“, v rastrovej kalkulačke by sa na získanie požadovaného výstupu mohol použiť nasledujúci podmienený príkaz :

Con ("Summer.tif"> "Winter.tif", 1,2)

Syntax je nasledovná:

Con (podmienené tvrdenie, skutočná hodnota, falošná hodnota)

To znamená, že rastrová kalkulačka vyhodnotí podmienené tvrdenie a ak je výsledok pravdivý, bunke bude priradená skutočná hodnota a ak je hodnota nepravdivá, priradí sa jej falošná hodnota.

Ak vaše rastre ešte nie sú načítané v obsahu ArcMap, budete musieť zadať úplné cesty k súborom. Okrem toho si uvedomte, že možno budete chcieť použiť hodnotu väčšiu alebo rovnú (>=) namiesto toho, aby bol väčší ako (>), aby sa predišlo nežiaducemu správaniu, keď sú obe hodnoty navzájom rovnaké.

Ďalšie informácie o tom, ako používať podmienený príkaz v rastrovej kalkulačke, nájdete v odkaze ESRI tu.


Aj keď odpoveď @JamesSLC funguje pre dva rastre, ak chcete urobiť to isté s ľubovoľným počtom rastrov, použil by som namiesto toho nástroj Najvyššia pozícia:

Určuje na základe buniek po bunkách polohu rastra s maximálnou hodnotou v sade rastrov.


Okrem odpovede @JamesSLC by ste mohli zahrnúť aj hodnotu pre rovnaký stav vnorením dvoch podmienených príkazov.

Con ("Summer.tif"> "Winter.tif", 1, Con ("Summer.tif" == "Winter.tif", 3, 2))

Toto vyhlásenie robí nasledovné:

  1. Ak je leto väčšia zima, priraďte 1
  2. Zostávajúci pixel skontrolujte pomocou druhého podmieneného príkazu
  3. Ak sa leto rovná zime, priraďte 3
  4. Zostávajúcemu pixelu priraďte 2 (Toto sú všetky pixely, kde je Summer


Pozri si video: The quest to understand consciousness. Antonio Damasio (Október 2021).