Skip to content
December 10, 2010 / Gagan

Move Network Node with Edge

Modifying a Network is a basic requirement for any GIS Network Editor, most of the COTS GIS packages have this facility. But critical user expectation is to move a node along with it’s associated edges. Keeping in mind this requirement I have added a functionality to modify a network node along with edges in GeometricNet (Geometric Network).

Please check the example – modify network where user can select a tool “Move Node” from tool panel and select any existing node and move it to the required position. The connecting edges to this node are also moved simultaneously with node movement. After modification you can save your modification with save tool.

Some more examples of Geometric Network (GeometricNet)

Advertisements

4 Comments

Leave a Comment
  1. John Scattergood / Jan 5 2011 2:25 am

    Very nice. One shortcoming though is that the modification events are not sent for the edge changes. We didn’t see an easy way around this without using a custom modify control to send the event featuresModified that includes both the node and it’s edges.

    • Gagan / Jan 5 2011 12:18 pm

      Hi John,
      Thanks for appreciation. Do you mean events something like “beforemove”, “move” and “aftermove” ?

      I would be happy to know that where are you using this project. I can also align my development with some of your goals.

      Gagan

      • John Scattergood / Jan 5 2011 11:13 pm

        OpenLayers has a separate OpenLayers.Events object on the Map, Layer and Control objects. The class OpenLayers.Control.ModifyFeature triggers a layer event featuremodified when a feature is modified. With this enhancement, you can see that the ModifyFeature control is triggering the modification event for the Node (because that’s the feature that’s being manipulated). The changes to the edge features do not have a corresponding featuremodified event.

        These events are important for us because we listen and send these events back to the server.

        The reason there is no event triggered is that the ModifyFeature control is not responsible for the changes being made to the edges. A straight forward fix would be to have the method onNodeMove() trigger the featuresmodified event on the edge layer.

        We use OpenLayers for displaying maps of industrial facilities. In the next release, we will use the GeometricNet project to model driving paths for vehicles.

  2. Gagan / Jan 7 2011 12:04 am

    Thanks John for detail description. I understood the bug now and I have fixed also as you you suggested. But I feel, I need to re-look the “move node” and create a control for same that handles all operation.

    Please checkout (svn) the bug fixed code from –
    http://geommetricnet.svn.sourceforge.net/svnroot/geometricnet/branches/gagan
    Soon I’ll make release too.

    Hope I would be able to know once you make your project live.

    Gagan
    gaganbansal123@gmail.com

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 )

Google+ photo

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

Connecting to %s

%d bloggers like this: