Sensor network generator

User manual

This tool allows you to visualize sensor network coverage.

Loading data

To load data select the "Choose File" button. Browse for the file you wish to load and select "Open". Files must be in CSV format with the column headers: LocationID, xf, yf. LocationID is a string containing the label of the node while xf and yf refer to the actual node locations.

Saving data

To save your work select the "Save" button. You will be prompted to save the node locations along with several additional files containing information on the generated complexes. File naming must be consistent. You may name the primary file whatever you like but the supporting file names must not be changed or else they will not load.

Random data generation

You may generate a set of randomly distributed nodes by selecting the "Generate random data" button. Enter the number of desired nodes in the "# sensors" box up to 250. Note that selecting a number of nodes greater than approximately ~150 will slow down all computations.

Data Editing

Moving nodes. To move a node simply drag and drop. The location and coverage circle will move along with the mouse. After you have dropped the node into the new location the complex will be recalculated and rendered.

Deleting nodes. To delete nodes simply click to highlight each node you wish to remove and press the "Delete" key. To cancel press the "Esc" key.

Adding nodes. To add nodes click the "Add nodes" button. The cursor will change to a crosshair. Click the location for each node you would like to add. When you are done press the "Esc" key.

Changing coverage radius.

Dragging the "Radius" slider will dynamically change the coverage radius for all nodes and update the complex accordingly.

View options

There are several options for visualizing network coverage. To add or remove each layer from the canvas simply toggle the corresponding checkbox.

Zooming and panning. To enter zoom mode, press the "Z" key. While in zoom mode you may pan the plot view by left-clicking, holding the mouse button down and moving the mouse in the plot area. To zoom in or out use the mouse wheel.

Nodes correspond to sensor locations. Hovering over a node will highlight the coverage radius for that individual sensor.

Edges correspond to the lines connecting each node. An edge only exists if the coverage radii overlap for two nodes. Hovering over an edge will highlight the edge and its corresponding nodes.

Faces correspond to filled triangles indicating where three points are mutually connected. Hovering over a face will highlight the face along with the corresponding three points and edges that form the triangle. The presence of a face depends on which complex type you select:

Čech pertains to a simplicial complex constructed such that where the coverage for each of the three nodes overlaps, we can guarantee "good" coverage and represent this geometric area as a face or 2-simplex in topological space. ( Reference)

Vietoris-Rips is another, less computationally expensive way of calculating coverage. In this simplicial complex, faces are generated when 3 points are all pairwise within range of each other with no requirement that all three nodes simultaneously overlap. The advantage of this over the Čech complex is that it is computationally much less expensive. The disadvantage lies in the fact that there is the possibility of small coverage gaps within each face where the coverage radii do not all intersect the circumcenter of the resulting triangle in geometric space. (Reference)