<div dir="ltr">
<p style="margin-bottom:0cm" lang="en-US">Hello everyone.</p>

<p style="margin-bottom:0cm" lang="en-US">I am a last year student
at Moscow Power Engineering Institute, Russia. For GSoC 2014 I would
like to work on networking capabilities in GDAL/OGR.</p>
<p style="margin-bottom:0cm" lang="en-US"><u><br></u></p><p style="margin-bottom:0cm" lang="en-US"><u>Overall idea</u></p>

<p style="margin-bottom:0cm;text-decoration:none" lang="en-US">I
would like to try to implement a universal network model. The
universality of the model would reflect not only in the ability to
use different GIS formats to store and transfer network data (which
OGR is a grate basis for), but also to be able to design and simulate
different types of network applications (engineering, natural, etc).
I understand that it is rather ambitious to consider all possible
aspects of all network types. But as a first step I would like to
cover only the basic aspects, that can be generalized and to provide
a “platform” which can be used by other developers to create
their own extensions which are specific to the concrete network type.</p><p style="margin-bottom:0cm;text-decoration:none" lang="en-US"><br></p>
<p style="margin-bottom:0cm" lang="en-US"><u>Target scope for GSoC
2014</u></p>

<p style="margin-bottom:0cm" lang="en-US">Today none of OGR drivers
supports network functionality. The idea is to implement a new OGR
driver, which will deal with networks built over the spatial data.
The spatial data together with the network data will be stored in one
of the OGR-supported formats, which would be specified during the
creation of the network. 
</p>

<p style="margin-bottom:0cm" lang="en-US">Planned features of the
new driver:</p>

<p style="margin-bottom:0cm" lang="en-US">    1. Reading/writing data
from/to the source, creating layers, editing attributes, etc (as any
new OGR driver must provide);</p>
<p style="margin-bottom:0cm" lang="en-US">    2. The user would also be
able to do the following, assuming that all the special network data
is the data of the current GIS-format:</p><br>- Read/Write the
information about the whole network (network metadata);
<p style="margin-bottom:0cm" lang="en-US">    - Edit special network
objects parameters such as blocking state, or direction of the flow;</p>
<p style="margin-bottom:0cm" lang="en-US">    - Import objects from the
external sources (the driver adds missing network parameters to
them);</p>
<p style="margin-bottom:0cm" lang="en-US">    - Set/unset connections
among network objects;</p>
<p style="margin-bottom:0cm" lang="en-US">    - Edit the sets of the
network rules.</p>
<p style="margin-bottom:0cm" lang="en-US">    3. Each object in the
network will have a set of relations with other objects, which are
stored separately and form a network graph;</p>
<p style="margin-bottom:0cm" lang="en-US">    4. The whole network will
have a set of rules that describes the connection possibilities of
different object types in the network. The network will also have a
set of rules that describes the influence of each type of object to
the state of the whole network and to the other types of objects. It
can also be called as a behavior of the object in the context of the
network specialization (engineering purpose).<br></p><p style="margin-bottom:0cm" lang="en-US"><br></p><p style="margin-bottom:0cm" lang="en-US"><u>Current status</u></p>

<p style="margin-bottom:0cm;text-decoration:none" lang="en-US"><a href="https://github.com/MikhanGusev/gnm">https://github.com/MikhanGusev/gnm</a></p>

<p style="margin-bottom:0cm" lang="en-US">As a matter of fact I've
been working on this for a while, and I've already completed few
things. Here is what I've accomplished already:</p>

<p style="margin-bottom:0cm" lang="en-US">    1. Complete. The driver
and most of the required virtual interfaces are already implemented<span lang="ru-RU">;</span></p>
<p style="margin-bottom:0cm" lang="en-US">    2. Complete. All data
from the external source is wrapped with the network proxy and the
user can edit it.</p>
<p style="margin-bottom:0cm" lang="en-US">    3. Currently, I'm
thinking about the way, how the network graph will be stored.</p>
<p style="margin-bottom:0cm;text-decoration:none" lang="en-US"><br></p>
<p style="margin-bottom:0cm" lang="en-US">Best regards, 
</p>
<p style="margin-bottom:0cm" lang="en-US">Mikhail Gusev.</p>
</div>