Wenn Sie gelesen haben, wie Tracing mit ArcGIS Utility Network funktioniert, ist Ihnen wahrscheinlich aufgefallen, dass viele der Funktionen Netzwerkattribute erfordern. Dies sind die Attribute, die verwendet werden, um zu definieren, ob ein Gerät offen/geschlossen, in Betrieb/außer Dienst oder eine andere Eigenschaft eines Features ist, die bei der Analyse des Systems berücksichtigt werden muss. Der Zweck dieses Artikels ist es, einige der technischen Implementierungen von Netzwerkattributen zu erläutern, damit Sie fundierte Entscheidungen darüber treffen können, wie Sie Ihr Utility Network konfigurieren.
Was ist ein Netzwerkattribut?
Ein Netzwerkattribut ist ein Attribut, das für die Analyse mit einem Utility Network konfiguriert wurde. Netzwerkattribute können als Traversierbarkeitsbarrieren wie Zustandsbarrieren oder Filterbarrieren verwendet werden. Sie können auch verwendet werden, um die Ausgabe des Tracings durch die Erstellung einer Ausgabebedingung oder für Zusammenfassungsfunktionen zu steuern. Die einzige Möglichkeit, ein Nicht-Netzwerkattribut im Tracing zu verwenden, besteht darin, den Feature-Ergebnistyp zu verwenden, um die mit einem Feature verknüpften Attribute zu exportieren.
Das Festlegen eines Netzwerkattributs ist ein zweistufiger Prozess. Zuerst müssen Sie ein Netzwerkattribut im Utility Network mit dem Netzwerkattribut hinzufügen Werkzeug definieren. Dies fügt keine Felder zu Ihren Feature-Classes hinzu, sondern definiert nur ein Attribut, das in der Analyse verwendet werden kann.
Um dieses Netzwerkattribut zu füllen, müssen Sie ein Feld aus einer oder mehreren Klassen Ihres Utility Networks mit dem Netzwerkattribut festlegen Werkzeug zuordnen. Die Felder, die dem Netzwerkattribut zugeordnet sind, müssen nicht denselben Namen haben, aber es gibt einige Einschränkungen bei der Zuordnung von Feldern zu einem Netzwerkattribut. Wenn das Feld, das Sie als Netzwerkattribut festlegen möchten, nicht im Dropdown-Menü angezeigt wird, liegt dies entweder daran, dass das Feld nicht den richtigen Datentyp hat oder das Feld nullable ist, das Netzwerkattribut jedoch nicht nullable. Felder, die für Netzwerkattribute verwendet werden und Domänen zugewiesen haben, sollten ähnliche Domänenwerte aufweisen, um das Verhalten während der Analyse sicherzustellen.
Wenn ein Feld als Netzwerkattribut bezeichnet wird, bedeutet dies, dass das Utility Network eine Kopie des Werts dieses Features in den Systemtabellen des Netzwerks speichert, um sie bei jeder Validierung des Features für die Analyse zu verwenden. Dies ermöglicht es dem Netzwerk, Analysen schneller durchzuführen, da alle Informationen zur Entscheidungsfindung während der Analyse vorliegen und keine Werte von einzelnen Features abgefragt werden müssen. Das Speichern von mehr Informationen im Netzwerk für die Analyse bedeutet jedoch auch, dass mehr Informationen von den Features beim Validieren gelesen werden müssen, mehr Informationen in den Systemtabellen gespeichert und mehr Informationen aus den Systemtabellen während der Analyse gelesen werden müssen.
Nicht alle Speicherungen sind gleichwertig. Im nächsten Abschnitt werden wir die verschiedenen Optionen zur Speicherung von Netzwerkattributen und deren Auswirkungen auf die Leistung besprechen.
Leistung
Die wichtigste Entscheidung bei der Erstellung eines Netzwerkattributs besteht darin zu entscheiden, ob es in-line gespeichert wird oder nicht. Netzwerkattribute, die in-line gespeichert werden, werden innerhalb der Netzwerktopologie zusammen mit der Konnektivität gespeichert. Dies ermöglicht den schnellstmöglichen Zugriff während des Tracings, da sie geladen werden, wenn die Konnektivität geladen wird. Netzwerkattribute, die nicht in-line gespeichert sind, werden weiterhin in Systemtabellen gespeichert, jedoch in einem sekundären Speicherbereich speziell für Netzwerkattribute.
Der Grund für zwei verschiedene Speichermechanismen für Netzwerkattribute ist der begrenzte Platz für in-line gespeicherte Netzwerkattribute. In-line-Speicherung sollte für Attribute reserviert sein, die für die Netzwerktraversierung erforderlich sind, wie z.B. Traversierbarkeitsbarrieren, und diese müssen Ganzzahlen sein. Netzwerkattribute, die für Zusammenfassungsfunktionen oder Ausgabebedingungen verwendet werden, profitieren weniger von einer in-line Speicherung.
Sie sollten auch berücksichtigen, wie oft ein Netzwerkattribut verwendet wird, bevor Sie es als in-line speichern festlegen. Netzwerkattribute, die Teil Ihrer Subnetzwerkdefinition sind oder häufig von benannten Trace-Konfigurationen referenziert werden, sind gute Kandidaten für eine in-line Speicherung. Netzwerkattribute wie Sommer- oder Winterkonfigurationen, die nur wenige Male im Monat verwendet werden, sind weniger wichtig für eine in-line Speicherung.
Eine wichtige Überlegung bei der Identifizierung von Netzwerkattributen ist zu bedenken, dass sie validiert sowie in der Datenbank geschrieben und gelesen werden müssen. Je mehr Netzwerkattribute vorhanden sind desto länger dauert es Ihre Netzwerktopologie zu aktivieren/validieren, Ihr Utility Network zu tracen und Ihr Subnetzwerk zu aktualisieren. Die Kosten jedes einzelnen Attributs sind relativ gering aber summieren sich schnell bei Netzwerken mit vielen Attributen. Es ist besser mit einer relativ kleinen Anzahl an benötigten Attributen zu starten und weitere nach Bedarf hinzuzufügen.
Wenn Sie ein Feld identifizieren möchten um es als in-line Netzwerkattribut zu verwenden sollten Sie eventuell Änderungen am Feld vornehmen um es besser geeignet für eine in-line Speicherung zu machen. Einige dieser Überlegungen besprechen wir im nächsten Abschnitt.
Speicherung
Da nur begrenzter Speicherplatz für in-line Attribute verfügbar ist lohnt es sich zu besprechen was bestimmt wie viel Speicherplatz einem in-line Netzwerkattribut zugewiesen wird damit Sie Ihre Felder optimal gestalten können für Speicher und Leistung. Folgendes ist eine Zusammenfassung des ArcGIS Hilfethemas zum Thema Berechnung der Bitgröße für in-line Netzwerkattribute.
Die erste Einschränkung bei der Speicherung eines Attributs in-line ist der Datentyp des Netzwerkattributs und seines Feldes. Während die meisten Datentypen als Netzwerkattribute verwendet werden können können nur Short Integer oder Long Integer Felder in-line gespeichert werden. Dies liegt daran dass das Netzwerk eine binäre Darstellung der Werte des Attributs speichert.
Die zweite Einschränkung ist dass ein in-line Netzwerkattribut eine Domäne haben muss. Die Werte dieser Domäne bestimmen den Speicherplatz der dem Feld im Netzwerkindextabellenbereich zugewiesen wird.
Der Speicherplatz entspricht dem binären Speicherbedarf zur Speicherung des größten Werts in der Domäne. Deshalb sollte die Domäne so kompakt wie möglich sein mit möglichst kleinem größtem Wert. Wenn das Attribut und seine Domäne bitweise Vergleiche unterstützen soll repräsentiert jeder Wert eine Zweierpotenz (1 2 4 usw.). Die anfängliche Speichergröße wird anhand der Domäne berechnet welche beim Erstellen des Attributs angegeben wurde kann sich aber erweitern je nachdem welche Domänen den Feldern verschiedener Klassen zugewiesen wurden.
Bit-Größe | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | … | 20 |
|---|
Maximaler Domänenwert | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | … | 1.048.575 |
Maximaler Domänenwert (nullable) | 0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | | |
Conclusion
Now that you’ve read this article you should have a foundational understanding of how to create and use network attributes in a utility network. You should also be able to understand the benefits and limitations of storing a network attribute in-line and determine how beneficial it is to store a particular network attribute an in-line. With this information you should be able to confidently make changes to your own model, configuring network attributes to meet the needs of your model.
You can learn more about network attributes by reading the Network Attributes topic in ArcGIS Help.
If you have specific questions about how to solve different workflows, please visit us on the ArcGIS Utility Network channel on the Esri Community site. This is an active community with thousands of active members.