ArcView GIS
ArcView GIS Version 3.1. © 1992 – 1998 Enviromental Systems Research Institute, Inc.
V ArcView GIS je obsažen příkaz aGrid.FlowDirection, který počítá směr odtoku z každého pixelu do jednoho z osmi sousedů. FD i FA jsou grid-based algoritmy, takže je lze použít pouze s aktivní extenzí Spatial Analyst. Postup přiřazování hodnot flow direction z modelu terénu čerpá ArcView GIS z přístupu Jensona a Dominguea (1988). Výstupem z tohoto příkazu je grid celých čísel, kde hodnoty pixelů nabývají hodnot od 1 do 255. Směr odtoku je určen ve směru pixelu s největším pozitivním gradientem (změnou nadmořské výšky váženou vzdáleností centroidů pixelů) – jedná se o algoritmus D8.
Jestliže pixel tvoří jednobuněčný sink (centrální pixel je menší než každý z jeho osmi sousedů), směr odtoku je určen ve směru nejnižšího z osmi okolních pixelů. Tímto postupem se algoritmus vypořádává s jednobuněčnými sinky, které považuje za šum v datech. Pokud existuje více pixelů v okolí jednobuněčného sinku, které mají stejnou a zároveň nejnižší nadmořskou výšku, centrálnímu pixelu je přiřazena hodnota jednou z metod uvedených níže.
Jestliže je gradient stejný ve více směrech a centrální pixel je součástí sinku, je směr odtoku určen jako nedefinovaný a v takovém případě je hodnota ve výstupní vrstvě flow direction rovna součtu kódovacích hodnot těchto více směrů. Např. když bude změna stejná ve směru východ a jih, pak bude výstupní hodnota 1 + 4 = 5. Pixely s nedefinovaným směrem odtoku lze vymaskovat pomocí příkazu aGrid.Sink.
V tomto případě bude tedy teoretický rozsah hodnot flow direction na výstupu 1 až 255, jak je uvedeno výše. Použijeme-li však příkaz aGrid.FlowDirection na výškový grid, který je již očištěn od sinků, ve výstupní vrstvě se objeví pouze osm hodnot flow direction pro osm základních směrů.
Jestliže je gradient stejný ve více směrech a centrální pixel není součástí sinku, je směr odtoku přiřazen logicky za použití vyhledávací funkce definující nejpravděpodobnější směr odtoku. Např. pokud tři sousední pixely podél jednoho okraje okolí centrálního pixelu mají stejný gradient, za směr odtoku je vybrána prostřední buňka (a). Pokud mají dvě protilehlé buňky stejný gradient, jedna je náhodně vybrána (b). Pokud je pozitivní gradient stejný ve všech osmi směrech, je okolí rozšiřováno, dokud není nalezen nejnižší soused.
(upraveno podle Jenson a Domingue, 1988)
Další volbou při výpočtu flow direction pomocí funkce aGrid.FlowDirection je tzv. forceEdge – logická proměnná nabývající hodnot true nebo false. Pokud je použito false, pixely na okraji terénu potečou ve směru vnitřního pixelu s největším pozitivním gradientem. Když však bude gradient menší nebo roven nule, odtok bude směřovat za hranici povrchu. Pokud je nastaveno true, pak všechny pixely na okraji povrchu budou mít směr odtoku definován ven z povrchu.
V ArcView GIS je přímo zaveden algoritmus D8. Kromě něj lze nepřímo použít i algoritmus podobný algoritmu Leaho, který je vedený sklonem reliéfu – nikoli největším gradientem k sousední buňce. Rozdíl však bude v tom, že příkaz aGrid.Slope, který v ArcView GIS vypočítává sklon pixelu, nasazuje rovinu na všechny pixely v okně 3×3, zatímco algoritmus Lea pouze na 4 body. Orientace vektoru sklonu roviny je pak výstupem příkazu aGrid.Aspect (výstupní hodnoty jsou spojité od 0 do 2p). Reklasifikací vrstvy orientace do osmi základních směrů lze dojít k alternativnímu gridu FD, který je veden sklonem reliéfu.