April 8th, 2011, 06:06 AM
Ok, im trying to build a tool that will require massive amounts of information location. In my database I have 1000's addresses, my aim is to run hundreds of driving direction calculations (not interested in instructions just the exact time it will take to travel from one to another). I want to be able to run between 50-5000 distance calculations at one time.
There are obviously some tools already out there:
Other maps... however their license fees are often huge (the site will be behind a password). I do know map point is a system you can buy and install, but does anyone know if it can be linked up to a web based application?
Also are there any other services/software that we could use?
April 8th, 2011, 08:47 AM
50-5000 is a big range, and also a lot of requests. Distance calculations (assuming you mean over roads and not straight-line distance) require calculating the driving instructions anyway, and are not cheap to perform. You will need at least one CPU core for each calculation that you plan to run in parallel. Assuming you buy 8-core servers, you're still looking at needing at least 7-625 servers. Obviously that doubles if you only buy cheaper 4-core servers. So in hardware costs alone you're looking at several thousand dollars minimum for even 50 requests at a time, and for 5000 requests you're probably look at about half a million (in hardware costs alone; of course it takes tons of power and a lot of staff to manage 625 servers).
Almost any program with a command line interface or a COM interface (on Windows) can be connected to a web based application. Programs that only offer GUI applications are a lot more difficult to connect to a web application. From briefly searching I wasn't able to determine whether MapPoint supports a CLI or COM interface, so my guess is that it doesn't. It seems reasonable to assume that you could find one.
April 8th, 2011, 09:53 AM
Yea 5000 is probably exaggeration :P I know that with Google Maps it takes around 0.1 second per request, which isn't too bad.. At this stage im just trying to work out which technology to use, if we can host it ourselves.
The idea is to have a diary open, each event has an address linked to it. When a user tries to create a new event we tell the user how long it will take them to travel between the previous event and the one they're booking in.. this will give them an overview of when to book in the event.
I'm also hoping to run a program that can do the same thing over multiple days, i.e. 50 events per day, 10 days thats 500 events. That would mean 500 directions calculations. I guess if we average 0.5 seconds per calculation running 5 processors (as rough example) then it will take 50 seconds.
We could use this sort of calculation to calculate the cost of running each of these queries.