Pokud jste četli o tom, jak funguje trasování v ArcGIS Utility Network, pravděpodobně jste si všimli, že mnoho funkcí vyžaduje síťové atributy. Jsou to atributy, které se používají k definování, zda je zařízení otevřené/zavřené, v provozu/odstavené nebo jakákoli jiná charakteristika prvku, kterou je třeba zohlednit při provádění analýzy systémem. Cílem tohoto článku je diskutovat některé technické implementace síťových atributů, abyste mohli činit informovaná rozhodnutí o tom, jak nakonfigurovat svou utility network.
Co je to síťový atribut?
Síťový atribut je atribut, který byl nakonfigurován pro použití v analýze s utility network. Síťové atributy lze použít jako překážky průchodnosti jako jsou podmínkové překážky nebo filtrační překážky. Mohou být také použity k řízení výstupu trasování vytvořením výstupní podmínky nebo pro souhrnné funkce. Jediný způsob, jak použít ne-síťový atribut při trasování, je použít typ výsledku prvku k exportu atributů spojených s prvkem.
Nastavení síťového atributu je dvoukrokový proces. Nejprve musíte definovat síťový atribut v utility network pomocí nástroje Přidat síťový atribut. Tím se nepřidají žádná pole do vašich tříd prvků, pouze se definuje atribut, který lze použít v analýze.
Pro naplnění tohoto síťového atributu musíte namapovat pole z jedné nebo více tříd ve vaší utility network pomocí nástroje Nastavit síťový atribut. Pole namapovaná na síťový atribut nemusí mít stejný název, ale existují určitá omezení při mapování polí na síťový atribut. Pokud pole, které chcete nastavit jako síťový atribut, není viditelné v rozbalovacím seznamu, je to buď proto, že pole nemá správný datový typ, nebo pole může být nullovatelné, ale síťový atribut není nullovatelný. Pole používaná pro síťové atributy s přiřazenými doménami by měla mít podobné hodnoty domén, aby byla zajištěna správná funkčnost během analýzy.
Když je pole označeno jako síťový atribut, znamená to, že utility network uloží kopii hodnoty tohoto prvku do systémových tabulek sítě pro použití v analýze pokaždé, když je prvek validován. To umožňuje síti provádět analýzu rychleji, protože všechny informace potřebné k rozhodování během analýzy jsou dostupné bez nutnosti dotazovat se na hodnoty jednotlivých prvků. Ukládání více informací v síti pro analýzu znamená, že při validaci prvků bude potřeba přečíst více informací z prvků, více informací musí být uloženo v systémových tabulkách a více informací musí být načteno ze systémových tabulek během analýzy.
Ne všechno ukládání je stejné a v následující části budeme diskutovat různé možnosti ukládání síťových atributů a jak ovlivňují výkon.
Výkon
Nejdůležitějším rozhodnutím při vytváření síťového atributu je rozhodnout se, zda bude uložen in-line nebo ne. Síťové atributy uložené in-line jsou uloženy uvnitř síťové topologie, vedle konektivity, což umožňuje nejrychlejší možný přístup během trasování, protože jsou načítány současně s konektivitou. Síťové atributy uložené mimo in-line jsou stále uloženy v systémových tabulkách, ale jsou uloženy ve vedlejším úložišti věnovaném síťovým atributům.
Důvodem existence dvou různých mechanismů ukládání pro síťové atributy je omezené množství místa dostupného pro in-line síťové atributy. In-line ukládání by mělo být vyhrazeno pro atributy nezbytné pro průchodnost sítě, jako jsou překážky průchodnosti, a musí být celočíselné hodnoty. Síťové atributy používané pro souhrnné funkce nebo výstupní podmínky nebudou mít tak velký přínos z in-line ukládání.
Měli byste také zvážit, jak často je síťový atribut používán před tím, než ho určíte k in-line ukládání. Síťové atributy součástí vaší definice podsítě nebo odkazované často používanými pojmenovanými konfiguracemi trasování jsou dobrými kandidáty pro in-line ukládání. Síťové atributy jako letní nebo zimní konfigurace používané jen několikrát za měsíc nejsou tak důležité pro in-line ukládání.
Důležitým faktorem při identifikaci síťových atributů je pamatovat na to, že musí být validovány, zapisovány a čteny z databáze. Čím více máte síťových atributů, tím déle bude trvat povolení/validace vaší síťové topologie, trasování utility network a aktualizace podsítě. Náklady na každý jednotlivý atribut jsou relativně malé, ale náklady se mohou rychle nasčítat u sítí s mnoha síťovými atributy. Je lepší začít s relativně malým počtem potřebných síťových atributů a postupně přidávat další podle potřeby.
Pokud identifikujete pole, které chcete použít jako in-line síťový atribut, možná budete chtít provést některé změny tohoto pole tak, aby bylo vhodnější pro ukládání jako in-line síťový atribut. Některé z těchto úvah budeme diskutovat v následující části.
Ukládání
Vzhledem k tomu, že existuje omezené množství úložiště pro in-line atributy, stojí za to diskutovat o tom, co určuje velikost přidělenou pro in-line síťový atribut tak, abyste mohli navrhnout pole podporující vaše síťové atributy pro ideální ukládání a výkon. Následuje shrnutí tématu nápovědy ArcGIS o tom, jak vypočítat velikost bitu pro in-line síťové atributy.
Prvním omezením pro ukládání atributu in-line je datový typ síťového atributu a jeho pole. Zatímco většina datových typů může být použita jako síťové atributy, pouze krátká celá čísla (short integer) nebo dlouhá celá čísla (long integer) mohou být uložena in-line. Děje se tak proto, že síť ukládá binární reprezentaci hodnot pro daný síťový atribut.
Druhým omezením je to, že in-line síťový atribut musí mít přiřazenou doménu. Hodnoty v této doméně určují množství prostoru přiděleného poli v indexu sítě.
Množství prostoru přiděleného pro síťový atribut odpovídá množství binárního úložiště potřebného k uložení největší hodnoty v doméně. Proto je nejlepší mít doménu co nejkompaktnější s co nejmenší největší hodnotou. Pokud jsou síťový atribut a doména navrženy pro bitové porovnávání (bitwise comparisons), pak každá hodnota v doméně představuje mocninu dvou (1, 2, 4 atd.). Počáteční velikost úložiště se vypočítává pomocí domény specifikované v nástroji Vytvořit síťový atribut (Create Network Attribute), ale jakmile je tento atribút přiřazen různým třídám prvků může se zvětšit podle domén přiřazených polím.
Velikost bitu | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | … | 20 |
|---|
Maximální hodnota domény | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | … | 1 048 575 |
Maximální hodnota domény (nullable) | 0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | … | 524 287 |
Pokud pole přiřazená k síťovému atribútu mohou být nullovatelná (nullable), pak potřebuje tento atribút další úložiště k reprezentaci prázdné hodnoty sítě. Při navrhování modelu jeho sítových atribútů je dobré zvážit nastavení polí používaných jako sítové atribúty na non-nullable (nepovolit null), aby se ušetřilo místo na disku. Proto mají pole a domény přiřazené k sítovým atribútům často hodnotu 0 pro neznámé (unknown), protože to umožňuje označit pole jako non-nullable.
Závěr
Nyní když jste si přečetli tento článek měli byste mít základní pochopení toho jak vytvářet a používat sítové atribúty v utility network. Měli byste také rozumět výhodám a omezením ukládání sítového atribútu in-line a umět určit jak užitečné je uložit konkrétní sítový atribút in-line. S těmito informacemi byste měli být schopni sebevědomě provést změny ve svém vlastním modelu a konfigurovat sítové atribúty tak aby vyhovovaly potřebám vašeho modelu.