[GIS] How to create shortest route and multiple routes service using openlayers

geoextopenlayers-2postgisweb-mapping

I created a digital database of many important features and locations of my city. and I want to create a web application in which shortest distance between two locations can be calculated and displayed. Is it possible with openlayers as client scripting. My shapefiles are in postgis.

What I am expecting is :

  • The database contains all roads, point features etc.

  • When the user types a location, the required location name can be listed out from the database and then user can similarly select another location

  • Then my technique is to find the nearest road points for the two locations (may be using buffer method) and then

  • finding the shortest and possible routes between the two road points along the road vector features.

    But I don't know how to write the code and algorithms.

Best Answer

Yes, that's possible using PostGIS with pgRouting and OpenLayers. You'll find an extensive tutorial here: http://pgrouting.org/docs/ol-workshop/index.html

In a similar question (routing using openlayers and pgrouting) the following GeoExt for pgRouting tutorial is recommended: http://workshop.pgrouting.org/chapters/geoext_client.html

You'll want to look into auto-complete scripts to support users when typing location names.

Finding nearest points on line has been discussed multiple times, e.g. Nearest neighbor between point layer and line layer?

You'll have to learn to write code ... or hire someone.