User Tools

Site Tools


manual:advanced:locus_api:tips

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
manual:advanced:locus_api:tips [2015/05/21 15:17] – created mstupkamanual:advanced:locus_api:tips [2016/02/22 11:41] (current) mstupka
Line 1: Line 1:
-====== Tips For Developers ======+{{ :manual:user_guide:ic_question_alt.png?nolink|}}====== Tips For Developers ======
  
-On this page, we would like to collect all nice and possible ideas on add-ons.+----
  
-This collection has one main purpose. Because creating add-ons for already existing application like Locus is quite easy, and because our time possibilities are very limited, we want to offer some inspiration for freelance developers or for those, who start with developing for Android.+On this page we would like to collect all nice and possible ideas on add-ons. 
 + 
 +This collection has one main purpose. Because creating add-ons for already existing application like Locus Map is quite easy, and because our time possibilities are very limited, we want to offer some inspiration for freelance developers or for those, who start with developing for Android.
  
 ===== Routing service - OpenRouteService.org ===== ===== Routing service - OpenRouteService.org =====
Line 12: Line 14:
  
   * Request permission from [[http://openrouteservice.org/|OpenRouteService.org]] server.   * Request permission from [[http://openrouteservice.org/|OpenRouteService.org]] server.
-  * Implement it as a [[manual:locus_api:routing_service|RoutingService]].+  * Implement it as a [[manual:advanced:locus_api:routing_service|RoutingService]].
  
 **Additional links** **Additional links**
Line 21: Line 23:
 ===== Panoramio ===== ===== Panoramio =====
  
-Panoramio is nice web servicethat collects images from all around the world together with it'location. Thanks to their APIshould be possible to create nice and simple add-on, that will display images on a map.+Panoramio is nice web service that collects images from all around the World together with their location. Thanks to their API it should be possible to create nice and simple add-on, that will display Panoramio images on a map.
  
 **Where to start** **Where to start**
   * Check [[http://www.panoramio.com/api/widget/api.html|Panoramio API]]   * Check [[http://www.panoramio.com/api/widget/api.html|Panoramio API]]
-  * Create basic add-on that will listen for a [[manual:locus_api:periodic_updates|PeriodicUpdates]]. +  * Create basic add-on that will listen to [[manual:locus_api:periodic_updates|PeriodicUpdates]]. 
-  * Receiver of udpates, should fetch data over Panoramio API. From these data, create a list of waypoints and display these points on running Locus Map application.+  * Receiver of updates should fetch data over Panoramio API. From these data, create a list of waypoints and display these points on running Locus Map application.
  
 **Additional links** **Additional links**
   * [[https://bitbucket.org/asamm/locus-api-android-sample/src/024d1e2594a61b0024727011a356b9ac62181e8f/src/main/java/menion/android/locus/api/sample/TabToolsFragment.java?at=default#cl-72|sample code]] for Periodic updates   * [[https://bitbucket.org/asamm/locus-api-android-sample/src/024d1e2594a61b0024727011a356b9ac62181e8f/src/main/java/menion/android/locus/api/sample/TabToolsFragment.java?at=default#cl-72|sample code]] for Periodic updates
-  * [[https://bitbucket.org/asamm/locus-api-android-sample/src/024d1e2594a61b0024727011a356b9ac62181e8f/src/main/java/menion/android/locus/api/sample/TabPointsFragment.java?at=default#cl-39|sample code]] to display points on Locus map+  * [[https://bitbucket.org/asamm/locus-api-android-sample/src/024d1e2594a61b0024727011a356b9ac62181e8f/src/main/java/menion/android/locus/api/sample/TabPointsFragment.java?at=default#cl-39|sample code]] to display points in Locus Map 
 +===== AIS/NMEA for the sea sailors ===== 
 +The **Automatic Identification System** (AIS) is an automatic tracking system used on ships and by vessel traffic services (VTS) for identifying and locating vessels by electronically exchanging data with other nearby ships, AIS base stations, and satellites. When satellites are used to detect AIS signatures then the term Satellite-AIS (S-AIS) is used. AIS information supplements marine radar, which continues to be the primary method of collision avoidance for water transport. 
 + 
 +Information provided by AIS equipment, such as unique identification, position, course, and speed, can be displayed on a screen or an ECDIS. AIS is intended to assist a vessel's watchstanding officers and allow maritime authorities to track and monitor vessel movements. AIS integrates a standardized VHF transceiver with a positioning system such as a GPS or LORAN-C receiver, with other electronic navigation sensors, such as a gyrocompass or rate of turn indicator. Vessels fitted with AIS transceivers can be tracked by AIS base stations located along coast lines or, when out of range of terrestrial networks, through a growing number of satellites that are fitted with special AIS receivers which are capable of deconflicting a large number of signatures. 
 + 
 +Further reading on [[https://en.wikipedia.org/wiki/Automatic_Identification_System|Wikipedia >>]] 
 + 
 +The information is coded into AIS/NMEA sentences: 
 + 
 +  * [[http://catb.org/gpsd/AIVDM.html]] 
 +  * [[http://opencpn.org/ocpn/toolbar_AIS]] 
 + 
 +There are some open source decoder libraries on the net, e.g. 
 + 
 +  * [[https://github.com/schwehr/libais]] 
 + 
 +**Basic implementation** should cover the following aspects: 
 + 
 +  * Connect to a NMEA data stream provided via TCP/IP 
 +  * Decode the NMEA stream 
 +  * Visualise the AIS targets (ships) on the map and update their position/orientation as soon as a new AIS packet from this ship is received 
 + 
 +A **more thorough** implementation might cover the following features: 
 + 
 +  * plot the track of moving ships 
 +  * provide a list of current targets with their speed, course and position 
 + 
 +The **last step** might be:
  
 +  * Calculate the possibility of a collision with one of the current ships (position and time of collision)
 +  * Provide some filter functions to declutter the list of targets
manual/advanced/locus_api/tips.1432214256.txt.gz · Last modified: 2015/05/21 16:17 (external edit)