<table cellspacing="12" width="100%">
<tr><td colspan="2">
<table width="100%" bgcolor="#f0f0f8">
<tr><td align="center">
<h1>ISO Topology: a quick intro</h1>

<table width="100%"><tr>
<td width="33%" align="left"></td>
<td align="center"><a to
<td width="33%" align="right"><a

<table bgcolor="#d0e0ff" width="100%">
<tr><td align="center">
<b>Credits</b><br>
Development of <b><i>SpatiaLite has been substantially funded by
<a Region</a> - Territorial and Environmental Information System<br>
<a Toscana</a> - Settore Sistema Informativo Territoriale ed Ambientale.

<hr><br>
<a
<tr><td width="50%">
<table width="100%" bgcolor="#f0f0f8" cellspacing="4" cellpadding="4">
<tr><td>
<h3>OGC-SFS Geometries</h3>
As you already know, the standard representation of Geometries supported by any existing Spatial DBMS is based on the following SFS classes (non-topological):<ul>
<li>(MULTI)POINT</li>
<li>(MULTI)LINESTRING</li>
<li>(MULTI)POLYGON</li>
<li>GEOMETRYCOLLECTION</li>
</ul>
<h3>Topology-Geometry</h3>
The international standard <b>ISO/IEC 13249-3</b> (<i>Information technology -- Database languages -- SQL multimedia and application packages -- Part 3: Spatial</i> aka defines a radically different Geometry model named <b>Topology-Geometry</b> based on the following primitives:<ul>
<li>a <b>NODE</b> simply is a notable point, and can be assumed to
be equivalent to SFS POINT.
<i>Examples</i>: <i>N1</i>, <i>N2</i>, <i>N3</i>, ... <i>N12</i>, <i>N13</i>
</li>
<li>an <b>EDGE</b> is an oriented path joining two nodes, and can
be assumed to be equivalent to SFS LINESTRING.<br>
<i>Examples</i>: <i>E1</i>, <i>E2</i>, <i>E3</i>, ... <i>E8</i>, <i>E9</i>
</li>
<li>a <b>FACE</b> is a portion of the plane delimited by edges,
and can be assumed to be equivalent to SFS POLYGON.<br>
<i>Examples</i>: <i>f0</i>, <i>f1</i>, <i>f2</i>, <i>f3</i>
</li>
</ul><br>
A very special Face is always implicitly assumed to exist on any Topology: it's the <b>Universal Face</b> (aka <i>f0</i>), and it's assumed to contain everything else exterior to all other Faces. So a completely empty Topology-Geometry will always contain at least the <b>Universal Face</b>.<br>
Nodes <i>N3</i> and <i>N7</i> are someway special because they are not connected to any Edge; they are examples of <b>Isolated Nodes</b>.<br>
Edges <i>E4</i> and <i>E6</i> are special too, because they are not connected to any other Edge; they are examples of <b>Isolated Edges</b>. Edge <i>E10</i> isn't an Isolated Edge because it separates Faces <i>f2</i> and <i>f3</i>.<br>
Both Nodes and Edges have an explicit Geometry, respectively of the POINT and LINESTRING type.<br>
Faces will never directly have a Geometry and will always be internally represented by a corresponding list of delimiting Edges: e.g. Face <i>f1</i> is delimited by Edges <i>E2</i>, <i>E7</i>, <i>E5</i> and Face <i>f2</i> is delimited by Edges <i>E3</i>, <i>E9</i>, <i>E7</i> and <i>E10</i>.<br>
</td><td>
<img alt="topology-geometry">

<tr><td colspan="2">
<table align="center" bgcolor="#f8f8f0">
<tr><td>
<h4>Consistency requirements for ISO Topology-Geometry</h4>
<ol>
<li>all topological complexes are fully decomposed into their topological primitives.</li>
<li>no two nodes exist at the same position in space.</li>
<li>a node exists at the beginning and end of every edge.</li>
<li>no edge has a geometry which crosses the geometry of a node.</li>
<li>no edge has a geometry which crosses, overlaps, or is contained within the geometry of another edge.</li>
<li>all edge geometries are simple.</li>
<li>all edge geometries have a start point equal to the geometry of their start node.</li>
<li>all edge geometries have a end point equal to the geometry of their end node.</li>
<li>no face has a geometry which overlaps the geometry of another face.</li>
<li>no face has a geometry within the geometry of another face.</li>
<li>a universal face exists.</li>
<li>a valid polygon geometry can be constructed for all faces except the universal face.</li>
<li>all geometries for the topology have the same spatial reference system.</li>
</ol>


<tr><td
<tr><td>
<h3>Topology-Network</h3>
The same standard <b>ISO/IEC 13249-3</b> defines a second type of Topology mainly intended for linear applications named <b>Topology-Network</b> and based on the following primitives:<ul>
<li>a <b>NODE</b> simply is a notable point, and can be assumed to
be equivalent to SFS POINT.
<i>Examples</i>: <i>N1</i>, <i>N2</i>, <i>N3</i>, ... <i>N9</i>, <i>N10</i>
</li>
<li>a <b>LINK</b> is an oriented path joining two nodes, and can
be assumed to be equivalent to SFS LINESTRING.<br>
<i>Examples</i>: <i>L1</i>, <i>L2</i>, <i>L3</i>, ... <i>L12</i>, <i>L13</i>
</li>
</ul><br>
Node <i>N1</i> is an example of <b>Isolated Node</b>.<br>
Link <i>L11</i> is an examples of <b>Isolated Link</b>.<br><br>
<u>Please note</u>: Links <i>L4</i> and <i>L7</i> do apparently cross (evidenced in the figure by a small green circle), <b>but</b> there is no Node corresponding to the intersection point.<br>
This is a fully legitimate option supported by Topology-Network, and simply means that some restriction forbids a real intersection between the two Links.<br>
There is an only apparent spatial junction, but there isn't any functional junction and consequently switching between Links <i>L4</i> and <i>L7</i> is strictly forbidden.<br>
<u>Possible examples</u>: imagine two roads one overpassing/underpassing the other, or suppose an ordinary road junction where turning left/right is strictly forbidden by traffic regulations.<br>
In an telecommunication network you can imagine two wires crossing under strict electric insulation conditions, and so on.<br><br>
Accordingly to the ISO specifications, there are two different kinds of Topology-Networks:
<ul>
<li><b>Logical Network</b>: a network defined by connectivity informations but lacking any geometry information.<br>
In other words, both Nodes and Links are always forbidden to have an explicit geometry.</li>
<li><b>Spatial Network</b>: a network defined by both connectivity and geometric informations.<br>
In this second case both Nodes and Links are always expected to have an explicit Geometry, respectively of the POINT and LINESTRING type.</li>
</ul>
</td><td>
<img alt="topology-network">

<tr><td colspan="2">
<table align="center" bgcolor="#f8f8f0">
<tr><td>
<h4>Consistency requirements for ISO Topology-Network - Spatial Network</h4>
<ol>
<li>all topological complexes are fully decomposed into their topological primitives.</li>
<li>all edge geometries have a start point equal to the geometry of their start node.</li>
<li>all edge geometries have a end point equal to the geometry of their end node.</li>
<li>all geometries for the topology have the same spatial reference system.</li>
</ol>


</table>
<table width="100%"><tr>
<td width="33%" align="left"></td>
<td align="center"><a to
<td width="33%" align="right"><a