Tracking large number of cars with gps
I'm studying on a request of a customer about tracking a large number of car's with a gps module开发者_如何转开发. these modules post about every 2 minutes, and the possibility to post twice as much when it also has a temperature sensor attached. All this amounts to about 1.000.000 requests a day, that i will have to reverse geocode. as the number is to much to let it calculate client side. (run a report report with 250 car's over a year that is a hole lot of positions that have to be encoded, that report would take forever to make)
The accuracy of the results is important so in the ideal surcomstance i would use the google or bing geocode api but as found in this thread: Here that would not be possible. a local database would be ideal but the road's change allot here in the Netherlands so this would be outdated very soon.
I Have found some resources for local database of geocodes like: Here but the accuracy of this database is not accurate enough. i need stuff like street name, zipcode, province, country
resources i have found to date: - Maps.google(2500 request a day) - Open Street View(no limit) - USC WebGis Geocoder - Bing(100.000 request a year) - MapQuest(no limit) - GEONames
So the question is. how would you guy's approach a problem like this. problem in short: 1.000.000 gps positions a day that have to be reverse geocoded reliably for europe
Open Street Map ?
Dont use google maps for reliablility ( http://www.newser.com/story/104797/google-map-mistake-triggers-invasion.html )
;)
But back to your Problem.
I think you need to condens the data. Plotting 250 Cars per Yer wont make much sense. Also your ticks wont allow to map a good path along any roads, since thats up to 4 KM between 2 ticks.
You need to clarify the questions you want to answer a bit more. And once you know what you want to know you can think about denormalizing the data into a huge cube. What are the questions the customer is interested in? This will effect the way you have to store your data. Is the main question where are the cars at point X in time, or do they want to have the information about a single car for the day? depending on this you have to design your indexes.
I would just try to plot the points on a "Map" image, and plot those according to the position. That will allow you to plot many more then the google API will allow you to plot all 180.000 ticks each day
Depending on this you will have to pick your table layout.
Also what kind of flaws did the customer report? You wont get a 100% accuracy with GPS data, since it is only exact up to 50 meters if you dont have the military accuracy. And a navigation system will "cheat" by sticking you to the roads, but you wont have that ability, since you need to track far more ticks to achieve this (When did he make a right turn exactly - Combined with an acurate map this allows you to do a correction)
But I think it makes most sense to upload that Data into an SSAS Cube, and tailor that one based on the questions the customer wants to have answered...
I know this is quite general.
精彩评论