by a set of nodes which are not capable of breaking
the graph apart if taken individually. Up to this date
there is no open source code that has implemented a
way to detect cut nodes or virtual cut nodes clearly
and efficiently, even though some logic has been the-
orized.
Tools such as QGIS (Team et al., 2015) (Jenson
and Domingue, 1988) and its libraries are extremely
valid for the study and standardization of landscape.
QGIS provides a valid representation of raster and
vector maps and is able to query the attributes of the
layers so that useful information is displayed. The
tool also allows to run scripts developed in Python 3
in a console integrated with the program, but this can
quickly become limiting for our purposes.
ECGraph, the software described in this paper, is
proposed as a tool to identify critical points of the
network, such as cut nodes and virtual cut nodes.
Furthermore, the software also saves in the output
additional information that allows both to have an
overview of the network and to focus on the proper-
ties of the node (patch) in relation to the network it-
self. We decided to develop ECGraph with JavaScript
to be easily integrable by npm (Tilkov and Vinoski,
2010), to simplify future integration in projects with
a graphical interface that can offer features difficult to
implement on QGIS at the moment. The paper will
also present the ECGraph output obtained from the
ecological corridor designed in previous studies (Can-
nas and Zoppi, 2017). The covered area refers to the
metropolitan area of Cagliari, an Italian municipality
located in the south of the island of Sardinia, of which
it is capital.
2 HOW ECGraph WORKS
The software, available on GitHub
1
, shows the algo-
rithm. Given as input an ecological corridor and the
areas it connects, ECGrapgh produces an output co-
incident to the same ecological corridor, but provided
with additional properties.
In the README of the repository, there is also a
link to download the input area. These areas are the
ones distributed by the Natura 2000 project, but ready
to run with the code. Information on how to use the
code and on the allowed commands is also shown in
the README.
It is important to point out that the steps described
below must be performed in the exact order they will
be presented. This will prevent the algorithm from
unnecessary and very time-consuming computations.
1
https://github.com/epilurzu/ecgraph
Furthermore, it assures to return values that would not
be correct otherwise. It should also be specified that
the main role of the software is to act as a valuable
tool for reading the complex relationships shown in
the analyzed network, and its main task is to verify
and give information regarding the conditions of the
network.
2.1 TopoJSON and Connected
Components
First of all, we determined that the best data structure
to use for the algorithm is TopoJSON
2
. The TopoJ-
SON format, being an extension of GeoJSON (But-
ler et al., 2016) that encodes topology, allows saving
data more efficiently than the latter. This is possible
because it simplifies the data by saving the informa-
tion of the arcs that are part of the polygon perimeters
stored in the layer. By saving the geographic data in
this way, redundancy is avoided.
Unless the TopoJSON format is not only com-
posed of polygons with proprietary arcs as in the case
of an archipelago, it offers a reduction of 80% or more
in space without any need for simplification. It is
also significantly smaller than a shapefile, and also
possesses all the readability properties of the JSON
files (Severance, 2012).
For these reasons, we decide to use this format as
an input for corridors and areas, and as an output for
the corridor improved with obtained data.
Among the many other benefits it possesses, we
can take advantage of its neighbors function. The
TopoJSON format makes it especially easy to find
neighbor nodes starting from a node, as neighbors
share an arc with the node. By recursively following
neighbors, we can define which is the connected and
integrated component (Fenu and Pau, 2018) (Fenu
and Nitti, 2011) in linear time. The efficiency in
developing a connected component and its immedi-
ate reading remain key points in the analysis of com-
plex networks in all fields in which it is applied (Orda
et al., 2019).
For the operations we are going to perform, the
connected component is the basis to start from. It
represents a set of nodes that can be reached through
adjacent nodes. From this definition, it is simple to
deduce that only an alteration of these nodes can en-
danger their structure, and nothing else. However, it
is necessary to pay attention to a peculiarity.
In fact, as software development has shown, and
as it can be deduced from the properties of the Topo-
JSON format, neighboring nodes that share a single
2
https://github.com/topojson/topojson-specification/
blob/master/README.md
COMPLEXIS 2021 - 6th International Conference on Complexity, Future Information Systems and Risk
48