How does a smart satellite navigation system work? - gps

How does a smart navigation system work where not only does it tell you the location ( within your route) where there is a traffic jam but also how long it will take for you to pass the jam.

How long it takes:
This works by measuring the transit times ( via GPS) through each street segment, sending to a central server, either via GSM if the device has that built in, or when you connect the navigation device to your home computer, it connects with the server.
there it is categorized by day categories (weekday, saturday, sunday, local holiday, day before holiday etc.) and time (e.g evry 10 - 15 minutes).
This build up a data base of transit times. you can buy that from TomTom and from Navteq for some huge amount of dollar.
(today nearly all smarthphones sends traffic situation data to a central server, either to Apple, or to Google. In ios you have to disable that option if you dont want that)
traffic jams:
Works only with devices which have Internet connection (GSM):
very slow speed on road segements are reported to a central server, which builds up the current traffic situation.

Related

Does Arcgis World Traffic Service Support History Data?

Now, I use Esri Leaflet http://esri.github.io/esri-leaflet/examples/premium-content.html
I want to Access Arcgis World Traffic Service History data,
Because, I only got a live traffic data.
May I access one month ago traffic data or another days?
I want to play the 3 days or 7 days change, that why I need to access history data
May I access one month ago traffic data or another days?
yes. ArcGIS World Traffic is a time-enabled service, which means it supports passing any Epoch timestamp (in milliseconds) as the time request parameter.
https://traffic.arcgis.com/arcgis/rest/services/World/Traffic/MapServer/export?...time=1526022000000
in Esri Leaflet, you can either use the to and from constructor options (live demo) or setTimeRange().

Daily scheduled notifications

I need a bit of guidance, so for my application i'm looking at using local notifications to send a notification every morning at 7 o'clock.
The issue i'm having is how can i make the content for the local notification dynamic mainly the body and the attached image? As it will vary for the user on a daily basis.
What would be the best way to go about this since you can't edit future notifications.
Here's a little lesson about notifications. First, what is a notification? It's basically an alert presented on your behalf by the system. Second, there are two kinds of notification: local and remote.
Let's imagine, then, an app that aims to present a notification to the user every morning at 7 AM saying what the current temperature is outside. (Assume for purposes of the example that we have a way of learning this information.)
A moment's thought will reveal that this cannot be done with local notifications. We cannot know the current temperature at 7 AM until 7 AM (or close to it) and we cannot schedule the notification unless the app is running. Therefore we would need the great good luck to have the app running at 6:59 AM in order for this app to work. But an app only runs when the user summons it, so that is extremely unlikely.
Therefore a task of this kind is possible only with remote notifications. A remote server is always running; therefore it can get the temperature and "ping" the user's device at 7 AM, and the system will present the notification on your behalf. You would therefore need to possess such a server in order to write the imagined app.
(An alternative using local notifications would be this: You schedule, say, a week's worth of local notification in advance. Then if you have the great good luck to find the app running before a notification is presented, you tear down all the scheduled notifications and do it again with a more up-to-date forecast. But of course this cannot possibly work as well as using remote notifications, and it will stop working entirely after a week if the user doesn't launch the app. That, to put it bluntly, sounds pretty lame.)

How to get animal location GPS receiver information to a webserver

I am new to development using GPS so any help will be most appreciated.
Project:- I am attempting to locate gps tracking hardware for a student project to locate animals.
I do not want to use cell phone SMS or yearly subscriptions packages as this is not practical where there a number of animals to be tracked. A solar powered device would be a bonus?
My understanding is the following will be required:
A GPS receiver (to get the gps location from satelites) - result is a 'navigation message'. This hardware device would be on the animal.
A transmitter with an antenna which will listen out for radio waves on set frequencies from the receivers, amplify them and its tuner will filter based on a particular frequency.
The 'navigation message' (or number of navigation messages) would be held on the the transmitter.
I am not sure if I can get an appropriate hardware transceiver with both the receiver and transmitter in 1 that can be attached to the animal?
The data would then to be sent over the internet from the transmitter to a web server via a HTTP request and parsed to be stored on the database.
A phone app / web app could then query the database to identify where the animal is at its last stored location or analyse data to determine its route over time when required.
If you have any advice / suggestions on the process above or advice on types of hardware / location of hardware to complete this project I would really appreciate it.
Polly, here are a few commercial solutions for GPS Animal Tracking. Some are rather expensive, but at least this shows what is out there professionally.
I think one of your primary issues here is battery power, size, and weight. GPS receivers use a fair bit of power when on, so it would have to be "off" but for a few seconds every-so-often, the rate determining how long the batteries will last. Solar recharging is an idea, but is that compatible with these particular animals?
If you wanted to construct something like this, there are a vast array of GPS modules to start with, depending on how integrated and customized you want to get with the idea. But these are receivers only - they will not broadcast anything. To get the GPS data remotely, you're going to need both a way to store the GPS data, and a transmitter (your #3) to send it to you. Since the transmitters would be small and low-power, this will limit the range you can receive them from. Not impossible, just a little more challenging.
Is a web developer available that can write that web and database code?
Is a phone developer available for the phone app?
Here are some interesting articles from others that have DIY their own low-budget trackers. I hope this gives you some ideas.

Tips for conserving battery if CoreLocation must constantly retrieve the user's location?

The application will select a random latitude and longitude to create a point which the user must find.
The user's distance from the point will be displayed using a "hot-cold meter", which will change color depending on the distance. This meter must constantly update, which would require that I constantly retrieve the user's location. I would also need to use kCLLocationAccuracyBest. However, this sounds like it would use up a lot of battery.
Can I do anything to save battery?
From the official documentation
Gathering location data is a power-intensive operation. It involves powering up the onboard radios and querying the available cell towers, Wi-Fi hotspots, or GPS satellites, which can take several seconds. Leaving the standard location service running for extended periods can drain the device’s battery. (The significant-change location service drastically reduces battery drain by monitoring only cell tower changes, but the service works only on devices with cellular radios.) For most apps, it is usually sufficient to establish an initial position fix and then acquire updates only periodically after that. If you are sure you need regular position updates, you should use the significant-change location service where you can; otherwise, you should configure the parameters of the standard location service in a way that minimizes its impact on battery life.
http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html
PS: On the same link there's a section at the bottom of the page with other tips too :)
My iphone app runs 8 hours of recording fixes evey second on iphone4. The display needs much more power. Dont worry. Measure how long you can record. Then claim, not before.

SQL Server 2008 Sessions

We are extremely new to ASP.net...actually working with an outside consultant which I don't currently have access to.
I am looking for:
Good documentation/best practices for session and session management.
I'm finding some info now:
http://support.microsoft.com/kb/317604
Review of application below for comments about how to best handle this scenario.
We have the following scenario:
OEM machine on floor providing status UPDATES every x.x seconds to Device_Status table.
When ASP.net client/user wants to view status of a particular machine, I want to notify the OEM machine on the floor to increase update rate to near real-time. Potentially with "realtimeupdate" flag in Device_Status table.
When ASP.net client/user moves on or logs out, update rate needs to return to x.x seconds.
Since we are very new to ASP.net, we don't have any clue about sessions and session management or if it is possible.
The only problem I see so far is if the ASP.net client connection is terminated prior to setting the "realtimeupdate" flag to 0. If this happens, the OEM machine will continue to provide real-time updates when they are no longer needed.
you can't count on a browser (or the user) to say "hey I'm done". People walk away from thr PC, surf to stackoverflow.com, hit the X to close the browser, etc. you'll need to code your web page to request "live" frequency with every page refresh. and have some independent server process turn off the "live" frequency if you don't get a page refresh asking for "live" frequency after some set amount of time. In addition to your page turning it off if the user asks for that.