Výpočet sklonu čáry přes povrch je jednoduchý pomocí nástroje Add Surface Information v ArcGIS Pro. Tento nástroj překrývá čárový prvek s povrchem, jako je LAS nebo rastrový dataset, aby extrahoval hodnoty nadmořské výšky a vypočítal hodnotu sklonu.<\/P>
Ale co dělat, když nemáte vrstvu povrchu pro výpočet? <\/STRONG><\/EM><\/P>Jak vypočítat sklon<\/H2>Nejprve si rozložme výpočet sklonu, abychom lépe pochopili vaše konkrétní datové potřeby. Sklon se vypočítá vydělením změny nadmořské výšky vodorovnou vzdáleností. Tomu se někdy říká „rise over run“. Výstupní hodnota tohoto výpočtu může být vynásobena 100, aby se získala procentuální hodnota.<\/P>
<\/span><\/P>Když není k dispozici vrstva povrchu pro výpočet hodnot nadmořské výšky, musíte použít buď atributové hodnoty, nebo Z-hodnoty z čárového prvku. Změna nadmořské výšky může být vypočtena odečtením počáteční nadmořské výšky od koncové a hodnota vzdálenosti je přístupná z délky tvaru.<\/P>Jakmile určíte dostupné hodnoty, můžete použít Arcade k výpočtu hodnoty sklonu.<\/P>Použití pro výpočet sklonu pomocí z-hodnot<\/H2>Představte si, že používáte mobilní zařízení k provádění terénního průzkumu. Jedním z datových bodů, které sbíráte, je odvodnění pozemku. To se provádí sběrem dvou bodů k vytvoření odvodňovací čáry. Obvykle jsou data shromážděna a poté přístupná editorovi, který ručně vypočítá sklon čáry a zadá jej do atributového pole.<\/P>Po naučení se trochu o ArcGIS Arcade zjistíte, že můžete použít atributové pravidlo a Arcade k výpočtu sklonu během sběru dat. Výpočetní pravidla mohou okamžitě spustit výraz pro sklon po sběru prvku. Tento je vypočten na základě z-hodnot počátečního a koncového vrcholu čáry. Návratová hodnota je pak zapsána do pole sklon v atributové tabulce.
Zde je příklad výrazu, který používá z-hodnoty k výpočtu sklonu:<\/P> <\/P> <\/P>\/\/ Pokud je geometrie prázdná nebo má délku nula, vrať původní hodnotu sklonu.
if (IsEmpty(Geometry($feature)) || Length(Geometry($feature)) == 0)
{
return $feature.SLOPE;
}
\/\/ Získej cestu čáry.
var paths = Geometry($feature)['paths'];
\/\/ Získej první a poslední vrchol a vyber nižší z nich.
var down_elevation = min(paths[0][0]['z'], paths[-1][-1]['z'])
\/\/ Získej první a poslední vrchol a vyber vyšší z nich.
var up_elevation = max(paths[0][0]['z'], paths[-1][-1]['z'])
\/\/ Vypočítej sklon pomocí těchto tří proměnných.
return ABS((up_elevation - down_elevation)\/Length(Geometry($feature))) <\/code><\/pre> <\/P> <\/P>Poznámka: Při použití tohoto výrazu aktualizujte pole tak, aby odpovídala vašim datům.<\/EM><\/P>Použití pro výpočet sklonu pomocí polí<\/H2>Představte si, že jste obdrželi třídu prvků potrubí a bylo vám požádáno přidat nové pole a vypočítat sklon pro každý prvek. Čárové prvky nejsou z-povolené a nemají hodnoty nadmořské výšky pro každý vrchol. Po kontrole atributové tabulky najdete dvě pole obsahující hodnoty nadmořské výšky pro začátek a konec každého potrubí.<\/P>Rozhodnete se vypočítat pole sklon pomocí Arcade výrazu. Výraz používá hodnoty z atributových polí UPELEV a DOWNELEV k výpočtu změny nadmořské výšky čáry. Vzdálenost každého potrubí je vypočtena pomocí geometrické funkce. Tyto tři hodnoty jsou vstupy do výpočtu sklonu a návratová hodnota je vypočtena do pole SLOPE. <\/P>Zde je příklad výrazu, který použil hodnoty polí k výpočtu sklonu:<\/P> <\/P> <\/P>\/\/ Pokud není některé pole vyplněno, vrať původní hodnotu sklonu.
if (IsEmpty($feature.UPELEV) || IsEmpty($feature.DOWNELEV))
{
return $feature.SLOPE;
}
\/\/ Pokud je geometrie prázdná nebo má délku nula, vrať původní hodnotu sklonu.
if (IsEmpty(Geometry($feature)) || Length(Geometry($feature)) == 0)
{
return $feature.SLOPE;
}
\/\/ Vypočítej sklon pomocí dvou polí a geometrické funkce.
return ABS(($feature.UPELEV - $feature.DOWNELEV)\/Length(Geometry($feature))); <\/code><\/pre> <\/P> <\/P>Poznámka: Při použití tohoto výrazu aktualizujte pole tak, aby odpovídala vašim datům.<\/EM><\/P>ArcGIS Arcade je výrazový jazyk používaný k formátování a manipulaci s daty v ArcGIS. Tyto případy použití pro výpočet sklonu v atributovém pravidle a kalkulaci polí jsou jen dva příklady Arcade. Tyto výrazy lze použít i v jiných aplikacích k vrácení hodnot sklonu, jako jsou popisky, vyskakovací okna a formuláře. Můžete tyto ukázkové výrazy znovu použít a upravit tak, aby vyhovovaly potřebám vašeho konkrétního projektu. <\/P>Pro další školení o jazyce Arcade si prohlédněte Esri Get Started with ArcGIS Arcade: <\/SPAN>https://go.esri.com/arcade-course<\/SPAN><\/SPAN><\/A> <\/SPAN><\/P>