GIS application program

J

james

I am developing a GIS java server and is now trying to write 2 modules
one is about the algorithm to find the shortest route for a journey
second one is the billing system used to support the billing service to
count the number of bytes transferred in each process
Do anyone have any reference and similar for my reference ..
Thousands Thanx
 
T

Tim Ward

james said:
I am developing a GIS java server and is now trying to write 2 modules
one is about the algorithm to find the shortest route for a journey
second one is the billing system used to support the billing service to
count the number of bytes transferred in each process
Do anyone have any reference and similar for my reference ..
Thousands Thanx

Shortest route (taking account, of course, of things like road type, speed
limits, one way streets, traffic light delays, vehicle type (eg taxis can
sometimes go places other cars can't), the real time feed from the traffic
jam camera company, the slightly less real time feed from the roadworks
database, time of day/week (for streets that are closed at some times of
day/week), weather) is an *extremely* complex calculation. This is just one
small reason why useful GIS and traffic modelling systems are expensive.
It's not something you can knock up in Java in an afternoon.
 
S

Sudsy

Tim Ward wrote:
Shortest route (taking account, of course, of things like road type, speed
limits, one way streets, traffic light delays, vehicle type (eg taxis can
sometimes go places other cars can't), the real time feed from the traffic
jam camera company, the slightly less real time feed from the roadworks
database, time of day/week (for streets that are closed at some times of
day/week), weather) is an *extremely* complex calculation. This is just one
small reason why useful GIS and traffic modelling systems are expensive.
It's not something you can knock up in Java in an afternoon.

Add to that the need to route around accidents, construction sites, etc.
and you can see why a dispatch system for 911 (for example) is a huge
undertaking. Having worked on one, I can assure you that Tim's comments
are spot-on!
 
J

james

I know this is a huge project. So I am not trying to complicate the things.
I may just consider the shortest path and road traffic and will not take
into account too much of the data. Can anyone give me some reference to
start with ??? I am planning to do it in months time
 
E

Eugene Staten

Even the most simple things will not be simple.


Take point A and point B and construct a vector between the two points.
Create a list of all roads that this vector crosses.

Use intersecting roads in the list to break each of the other roads in the
list into smaller subsections and place these subsections in the list while
removing the larger road objects.

Sort the list of road subsections according to whichever endpoint is nearest
to point A.

Search an ever exanding radius around point A and point B until you find the
nearest adjacent road.

Find the road subsection in the list which intersect the adjacent road, or
find the adjacent road in the list.

Connect the dots of each endpoint traversing each subsection of road until
you reach point B from point A.

This may or may not be the shortest distance or time, but this will give you
a start from which you can
expand a search radius from each subsection of road to the next parallel or
adjacent road to check for
speed limits, traffic signals etc.

This overview should get you started.

Eugene...
 
C

Chris Gokey

Two common algorithms used for this type of thing is Dijkstra's Algorithm
and Bellman Ford. I did something in graduate school to calculate the
shortest route given the fact that some routes vary is cost. There is some
algorithms written in Java that might help you out:

http://home.comcast.net/~cgokey/java/network/

There is an applet that you can run where you can draw a simple map and it
will calculate the shortest route.

Chris

Eugene said:
Even the most simple things will not be simple.


Take point A and point B and construct a vector between the two points.
Create a list of all roads that this vector crosses.

Use intersecting roads in the list to break each of the other roads in the
list into smaller subsections and place these subsections in the list
while removing the larger road objects.

Sort the list of road subsections according to whichever endpoint is
nearest to point A.

Search an ever exanding radius around point A and point B until you find
the nearest adjacent road.

Find the road subsection in the list which intersect the adjacent road, or
find the adjacent road in the list.

Connect the dots of each endpoint traversing each subsection of road until
you reach point B from point A.

This may or may not be the shortest distance or time, but this will give
you a start from which you can
expand a search radius from each subsection of road to the next parallel
or adjacent road to check for
speed limits, traffic signals etc.

This overview should get you started.

Eugene...

--
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,900
Latest member
Nell636132

Latest Threads

Top