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

Advertisement

5 Comments

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

    Hi!!!

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

    Keep in touch
    Selvan

  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

    http://geometricnet.sourceforge.net/

    Gagan

  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
      geometricnet/example/php/network.php
      In case of doubt please feel free to contact me.

      Gagan

Trackbacks

  1. GeometricNet on SourceForge « Blog by Gagan

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Connecting to %s

Follow

Get every new post delivered to your Inbox.