Skip to content
July 22, 2010 / Gagan

Geometric Network creation with OpenLayers

Vector feature rendering and creation with OpenLayers has opened sky to simulate desktop GIS capabilities on web GIS. One basic requirement of any GIS software is to create topologically correct data. OpenLayers Vector layer can easily create vector data with Feature.Vector class. But still advance topologies are not available like network topology.

Network topology or geometric network is a set of connected edges and junctions, along with connectivity rules that are used to represent and model the behavior of a common network infrastructure in the real world. Water distribution, road network, electrical lines, gas pipelines, telephone services, and water flow in a stream are all examples of resource flows that can be modeled and analyzed using a geometric network.(Source ESRI read more …)

My idea is to create geometric network with OpenLayers.How i have done, basicaly there are two layers Edge and Node extended from Vector Layer class of OpenLayers. Vector layer can draw the edge feature that inherits from Feature.Vector class of OpenLayers. If a edge is drawn associated nodes are created automatically and if node is added edge is splited. The association between edges and nodes are maintained any time. In a network connecting edges to a node or vice-versa can be found easily.

Here is the demo to show the network creation with OpenLayers

This demonstrats drawing of the network with correct topology. For example to draw the road network with edges and node that are associated to each other. The following abilities are shown here:
– draw edge; draw node only if it intersects with network
– draw node on edge and split the edge at that point
– draw edge intersecting the existing edge(s), create a node at intersection as well as split the edges
– maintains the edge-node network topology, while splitting the edges or adding the node.
Move mouse over the feature to see the network properties in text box.

I would  expand this work in following direction
– serializing and serializing of this data (or objects)
– how this network data can be utilized to create graph  and to find shortest path



Leave a Comment
  1. Kalai Selvan / Sep 6 2010 9:49 am


    Nice work, keep up the good work, do you work somewhere now?

    Keep in touch

  2. Gagan / Sep 14 2010 4:29 pm

    Hi Selvan,
    Thanks for appreciation. I am working in a internet mapping company.
    Please see the new development on this project for creating a electrical/ power distribution network


  3. nitesh / Oct 31 2011 9:42 pm

    after the creation of the network what should i do to store that network in database so that it can be retrieved later also and can be used by other users as well.
    currently i am using geoserver,openlayers and postgresql/postgis for my appication regarding road networks and would like to use this network creation feature of yours but really confused about how to store the network created in database. it would be great if you could help me out.

    • Gagan / Nov 6 2011 2:29 pm

      Hi Nitesh,
      I am serializing the network data when I send it to server back using Openlayers http protocol. You can create restful service to cater this at server side. An crude example that I am using for the demo is at
      In case of doubt please feel free to contact me.


  4. Arunkumar Patil / Oct 22 2013 12:22 pm

    Hi Gagan,

    Currently i am using geoserver, geometricNet.js, openlayers and postgresql/postgis for my appication regarding electric networks. I am able to create and insert features into the database. But I am not able to do move Node functionality. Can u help me to come out of the issue please.

    Thanks & Regards,
    Arunkumar Patil

    • Gagan / Oct 23 2013 10:36 am

      Hi Arun,
      Which version have you downloaded. Please download the latest (GeometricNet-aplha-0.5.3). In case you are working with same version please let me know the issue in detail.


      • Arunkumar Patil / Oct 23 2013 11:50 am

        Hi Gagan,

        I am working on Editing electrical network using geoserver, geometricnet-alpha-0.3.1, openlayers and postgresql/postgis. I can draw a pole, a high mast, a main line, a high voltage line and can save into database. but I am not able to edit the geom values of pole and line which are loaded from the database. any value need to set in the programming level for the pole and lines. so that if i use the Move Node the geom value should be changed for the perticular node and edges. can u suggest me to overcome from the issue

        Thanks & Regards,
        Arunkumar Patil

      • Gagan / Nov 3 2013 8:33 am

        Hi Arun,
        Sorry for the late reply.
        Can you download and use geometricnet-alpha-0.5.3. In the latest version I see this functionality is working fine. If you yourself has not done customisation to geometricnet you can easily switch to latest version. Once you are using v0.5.3 we can resolve the issue if any.


        NOTE: if you are not able to see the reply button please reply me at, there is some limitation of nested reply with theme that I am using in wordpress.


  1. GeometricNet on SourceForge « Blog by Gagan

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: