# Difference between revisions of "Creating a new Graph"

(→Creating a Graph of Seasonal Migration Edges) |
(→Creating a Graph of Seasonal Migration Edges) |
||

Line 57: | Line 57: | ||

The '''Seasonal Migration Edge Graph Generator''' works together with a [[STEM_Population_Models#Seasonal_Migratory_Population_Model|Seasonal Migratory Population Model]] to allow uses to create models where animals migrate seasonally between regions. The edges are just ordinary migration edges. Migratory Population Model simply modulates the migration rate with a sinusoidal function. As such, negative migration rates are simply ignored by the population model and the population moves only along edges with positive rates. At the end of the season, when the sign of the migration rates changes on some nodes, so does the direction of migration. The Seasonal Migration Edge Graph Generator is a simple way to create a suitable collection of migration edges between two regions. Users are free to create their own sub-graph by other means including pajek. In the example below we show how a migratory sub-graph was constructed for an existing square lattice. | The '''Seasonal Migration Edge Graph Generator''' works together with a [[STEM_Population_Models#Seasonal_Migratory_Population_Model|Seasonal Migratory Population Model]] to allow uses to create models where animals migrate seasonally between regions. The edges are just ordinary migration edges. Migratory Population Model simply modulates the migration rate with a sinusoidal function. As such, negative migration rates are simply ignored by the population model and the population moves only along edges with positive rates. At the end of the season, when the sign of the migration rates changes on some nodes, so does the direction of migration. The Seasonal Migration Edge Graph Generator is a simple way to create a suitable collection of migration edges between two regions. Users are free to create their own sub-graph by other means including pajek. In the example below we show how a migratory sub-graph was constructed for an existing square lattice. | ||

− | [[Image:MigBirdGraph.png|400px]] | + | [[Image:MigBirdGraph.png|400px]][[Image:STEM_Migration1.png|400px]] |

'''Creating a sub-graph of seasonal migration edges''' | '''Creating a sub-graph of seasonal migration edges''' |

## Revision as of 06:42, 17 June 2013

# Custom Graphs

The world wide administrative data built into STEM is represented as a graph. It is also possible for users to create their own custom graphs using the new graph wizard. The New Graph wizard supports user creation of custom lattices based on a set of "Graph Generators." A graph generator is a pluggable component able to generate a graph (a collection of nodes and edges) either algorithmically or from an external file. Currently, we have implemented an abstract Lattice Graph Generator with a Square Lattice Implementation. A user can specify the size of the lattice as well as several options for how the nearest neighbor (Common Border) are organized. In the future we plan to also support creating a New Graph From File. A graph generator can also be used to create a collection of edges (or other graph components) that can be optionally added to another graph. To use this feature, begin by launching the new graph wizard.

**Button to launch the New Graph Wizard**

## Creating a Square Lattice Graph

This wizard makes it possible to study the propagation of a disease model on (for example) a simple lattice instead of the more complex geographical administrative divisions.

1) Click on New Graph

2) Name your project

3) Click on TestSquareLattice

4) Specify the size of the lattice

5) Select from the options available how you want the nearest neighbor mixing edges to be organized

6) Click "Finished"

*save your work at this point by hitting <ctrl>S*

In the future we plan to also support creating a New Graph From File.

*Figure 8. A disease spreading on a square lattice*

*Figure 7. The New Graph Wizard*

## Creating a Graph from a Pajek File

The New Graph wizard also makes it possible to import files in a format similar to Pajek. For information on this format and how to import graph, **please see the page on****Importing a Pajek Graph**.

## Creating a Graph of Migration Edges

See also Migration Edges: When working with an existing graph, you can create another graph of components you may want to add to the original graph. For example, you can use the Migration Edge Graph Generator to create a graph of migration edges. If you add these to a model containing the original graph, migration of a population will be enabled. Migration edges are created for a specified population and, at the current time, with a single migration rate. If you do not specify a location, a migration edge is created for every physically adjacent region of every node within the graph. If you specify a location, migration edges are created for every physically adjacent region the selected location (i.e., node) contains. For example, if you are working with a graph of the United States, specifying California will create migration edges for every county in California. In the future, we will provide a graphical editor to allow creation of specific edges.

**Migration Edge Graph Generator**

## Creating a Graph of Seasonal Migration Edges

(new)

The **Seasonal Migration Edge Graph Generator** works together with a Seasonal Migratory Population Model to allow uses to create models where animals migrate seasonally between regions. The edges are just ordinary migration edges. Migratory Population Model simply modulates the migration rate with a sinusoidal function. As such, negative migration rates are simply ignored by the population model and the population moves only along edges with positive rates. At the end of the season, when the sign of the migration rates changes on some nodes, so does the direction of migration. The Seasonal Migration Edge Graph Generator is a simple way to create a suitable collection of migration edges between two regions. Users are free to create their own sub-graph by other means including pajek. In the example below we show how a migratory sub-graph was constructed for an existing square lattice.

**Creating a sub-graph of seasonal migration edges**

The user specifies two target nodes (A and B) in the parent graph. The user also specifies the angle for two rays from nodes A (+/- 45 degrees in the example) and two rays from node B (+/- 30 degrees in the example). The Seasonal Migration Edge Graph Generator creates migration edges based on the existing nearest neighbor edges contained in the quadrilateral with vertices as A & B and at the intersection of the rays constructed from each. The nodes are selected by the 'PICK' buttons. This launches a separate dialog where uses can chose a node first by selecting 'choose from within project' as shown below.

**Picking a node from the set defined in a graph within your existing project**

## Creating a Graph of Custom Mixing Edges

See also Mixing Edges: When working with an existing graph, you can create another graph of components you may want to add to the original graph. For example, you can use the Mixing Edge Graph Generator to create a user customizable graph of mixing edges with a fixed (default) mixing rate or even individually specified mixing rates. Mixing rates can be specified as a fraction of the population or as a absolute number. If you add mixing edges to a model containing the original graph, mixing of a population will be enabled based on these rates (and the default model for mixing human populations will NOT be run). Mixing edges are created for a specified population and with a user specified mixing rate. Users can then edit the generate .graph file to tailor each and every rate based on their own algorithms or data. If you do not specify a location, a mixing edge is created for every physically adjacent region of every node within the graph. If you specify a location, mixing edges are created for every physically adjacent region the selected location (i.e., node) contains. For example, if you are working with a graph of the United States, specifying California will create mixing edges for every county in California. In the future, the graphical editor will also allow creation of specific edges.

**Mixing Edge Graph Generator**

## Creating a Graph from an Esri Shapefile

For information on how to create a graph from an Esri shapefile, please see the page on **Importing an Esri Shapefile**.