Network: Difference between revisions
mNo edit summary |
|||
Line 21: | Line 21: | ||
===Restrictions on networks=== | ===Restrictions on networks=== | ||
* Networks cannot contain any cycles. All networks should be defined as a tree. If the network is not structured as a tree, network generation other calculations may have unexpected results. | * Networks cannot contain any cycles. All networks should be defined as a tree. If the network is not structured as a tree, network generation and other calculations may have unexpected results. | ||
* A net node can be connected to 1, 2, or more [[net | * A net node can be connected to 1, 2, or more [[net line]]s, except when that node is a [[net load|load node]]. In that case, a net node can only be connected to exactly 1 net line. | ||
* Behavior for networks linked with buildings which are altered during a session are undefined. When using network functionality, the buildings linked to by the network should not be demolished, [[upgrade]]d, sold to other stakeholders, or otherwise changed. | * Behavior for networks linked with buildings which are altered during a session are undefined. When using network functionality, the buildings linked to by the network should not be demolished, [[upgrade]]d, sold to other stakeholders, or otherwise changed. | ||
Revision as of 07:24, 8 May 2018
What is a network
A network is broadly defined as an interconnected system of things. More specifically, networks used here are transport and distribution networks. These are systems composed of interconnected points of supply and demand for specific resources, and the routes connecting them.
How networks relate to the Tygron Engine
In the Tygron Engine, it is possible to add network information to a project.
Network functionality is currently an advanced feature, and not available to new projects by default. Please contact Tygron Support if you wish to make use of networks in your projects.
Network structure
Each network is related to a predefined resource type. The network then is the system through which that resource travels from elements of supply to elements of demand.
Networks in the engine consist first and foremost out of net lines and net nodes. The net lines are the principle element in this structure. The two ends of net lines are defined by net nodes. Each net node has at least one net line connected to it, but any arbitrary number of net lines can start or end at a node. The collection of net lines and net nodes between two arbitrary net nodes is called a path.
Networks also have net loads, which are a definition of supply and demand. These net loads are linked to net nodes, to indicate the supply and demand on that node. A net load is a geographical element, which should be connected to a net node, with data concerning the amount of supply or demand that net node represents. Not every net node needs to have a net load connected to it. However, net loads are only relevant and valid when they are connected to a net node.
Lastly, clusters are also used in conjunction with networks. Clusters group together net loads, and serve as an intermediary to use queries on the loads of networks, or to add panels to the network for reading out information and controlling the network. Clusters are not formally an element of the network. Their existence (or lack thereof) does not inherently influence the validity, functioning, or meaning of the network.
Restrictions on networks
- Networks cannot contain any cycles. All networks should be defined as a tree. If the network is not structured as a tree, network generation and other calculations may have unexpected results.
- A net node can be connected to 1, 2, or more net lines, except when that node is a load node. In that case, a net node can only be connected to exactly 1 net line.
- Behavior for networks linked with buildings which are altered during a session are undefined. When using network functionality, the buildings linked to by the network should not be demolished, upgraded, sold to other stakeholders, or otherwise changed.
Generating Networks
It is possible to have the Tygron Engine generate networks for your projects.
Load generation
Path generation
Cluster generation
There are a number of ways to have clusters generated by the Tygron Engine. When selecting this option, you can select which neighborhoods and stakeholders to cluster for. Net loads which are already clustered will not be removed from their clusters or moved to other clusters. Net loads which are not located in the selected neighborhoods are not taken into consideration (Note that this is the position of the net load and not of its connected net node). Net loads which are taken into consideration are not limited by their neighborhoods. This means net loads from different neighborhoods can be placed in the same cluster. No matter the used algorithm, clusters will always only contain net loads of the same stakeholder.
Map Sectors
The map is divided into squares of equal sides, dubbed "sectors". All loads in each sector are grouped together into the same cluster. This algorithm makes use of the following settings:
- The size of the sectors in which the map is divvied up. This is a numeric setting, indicating the side of one edge of the sectors in meters.
- Whether to cluster collective loads separately. This is a yes-or-no option. If this option is selected, collective net loads are placed in individual clusters, and not grouped into the cluster generated based on the sectors in which they reside.
- The default stakeholder. When a net load has an owner (because the net load is linked to a building), the net load is considered to be owner by that stakeholder. When the net load does not have an owner, it is considered to be owned by the default stakeholder selected.
Per attribute
An attribute of the net loads indicates in which cluster the net load is placed. Every net load with the same value for that attribute is placed in the same cluster. This algorithm makes use of the following settings:
- The attribute to use. When 2 or more loads have the same value for this attribute, they are placed in the same cluster. Net loads which do not have this attribute explicitly defined are ignored.
- Whether to cluster collective loads separately. This is a yes-or-no option. If this option is selected, collective net loads are placed in individual clusters, and not grouped in a cluster with other net loads which share the same attribute value.
- The default stakeholder. When a net load has an owner (because the net load is linked to a building), the net load is considered to be owner by that stakeholder. When the net load does not have an owner, it is considered to be owned by the default stakeholder selected.
Per building
All the net loads linked to the same building are placed in the same cluster. Each building with net loads will have their own cluster. Net loads which are not linked to buildings are not clustered. If a building already has a cluster and more unclustered loads exist linked to the same building, a new cluster is created for the loads which were not yet clustered. This algorithm makes use of the following settings:
- Whether to cluster collective loads separately. This is a yes-or-no option. If this option is selected, collective net loads are placed in individual clusters, and not grouped in a cluster with other net loads which share the same attribute value.
Per load
Each net load will be placed in a separate cluster. This algorithm makes use of the following settings:
- The default stakeholder. When a net load has an owner (because the net load is linked to a building), the net load is considered to be owner by that stakeholder. When the net load does not have an owner, it is considered to be owned by the default stakeholder selected.
Per load with unique stakeholders
Each net load will be placed in a separate cluster. Additionally, for each cluster created with this algorithm an additional stakeholder is added to the project. This algorithm makes use of the following settings:
- The default stakeholder. When a net load has an owner (because the net load is linked to a building), the net load is considered to be owner by that stakeholder. When the net load does not have an owner, it is considered to be owned by the default stakeholder selected.
Add to existing clusters by building
For each cluster, all net loads are checked for the buildings to which they are linked. Those buildings are checked for net loads which are linked to that building but are not yet clustered. If any unclustered net loads are found in buildings this way, those net loads are added to the existing cluster. If multiple net loads, part of different clusters, are linked to the same building, it is random to which cluster any unclustered net loads will be added. This algorithm does not have any settings.