Coder Social home page Coder Social logo

mendhak / gpslogger Goto Github PK

View Code? Open in Web Editor NEW
1.9K 124.0 597.0 32.51 MB

:satellite: Lightweight GPS Logging Application For Android.

Home Page: https://gpslogger.app

License: Other

Java 97.01% Shell 0.13% PHP 0.08% JavaScript 0.42% HTML 0.43% CSS 1.94%
android-sdk java intellij gps logging dropbox gpslogger android satellite

gpslogger's Introduction

GPSLogger githubactions pgp Weblate

GPSLogger is an Android app that logs GPS information to various formats (GPX, KML, CSV, NMEA, Custom URL) and has options for uploading (SFTP, OpenStreetMap, Google Drive, Dropbox, Email). This app aims to be as battery efficient as possible.

Read about GPSLogger's features here

Download

You can find it on F-Droid

You can download directly from the releases.

Contribute

You can help with translations on Weblate.

You can also submit pull requests for bug fixes and new features.

I'm not very good at UIs, so any work with the layouts would be appreciated!

License and policy

Licensed under GPL v2 | Third party licenses | Privacy policy

Verifying

It's good practice to verify downloads. In recent releases, a PGP signature and an SHA256 checksum will accompany each .apk.

Import PGP Public Key from the Ubuntu Keyserver or just gpg --recv-key 6989CF77490369CFFDCBCD8995E7D75C76CBE9A9

To verify the integrity and signature:

$ gpg --verify ~/Downloads/gpslogger-71.apk.asc

To verify checksum:

$ sha256sum -c ~/Downloads/gpslogger-71.apk.SHA256

Setting up the code

The project is based on the Android build system plugin for Gradle. These instructions are for Ubuntu Linux with Android Studio, but for other OSes, it should be roughly similar.

Set up your Android Development Environment

Follow the instructions on the Android Developer Website to set up your computer for development.

Download and install Android Studio (there's also a snap)

Clone the GPSLogger repository

git clone git://github.com/mendhak/gpslogger.git

Get the Android SDK extra repositories

This project uses certain Android libraries, you can install them using Google's poorly implemented sdkmanager:

  echo y | $HOME/android-sdk/tools/bin/sdkmanager 'tools'
  echo y | $HOME/android-sdk/tools/bin/sdkmanager 'platform-tools'
  echo y | $HOME/android-sdk/tools/bin/sdkmanager 'build-tools;26.0.2'
  echo y | $HOME/android-sdk/tools/bin/sdkmanager 'platforms;android-27'
  echo y | $HOME/android-sdk/tools/bin/sdkmanager 'platforms;android-25'
  echo y | $HOME/android-sdk/tools/bin/sdkmanager 'extras;google;m2repository'
  echo y | $HOME/android-sdk/tools/bin/sdkmanager 'extras;android;m2repository'
  echo y | $HOME/android-sdk/tools/bin/sdkmanager 'extras;google;google_play_services'

Create local.properties

Create a file called local.properties, pointing at your Android SDK directory.

cd gpslogger
echo "sdk.dir=/home/mendhak/Programs/Android" > local.properties

Import the project

Open up Android Studio and choose to import a project. Select the topmost build.gradle file under GPSLogger.

If you get an Import dialog, choose to Import project from external model

import

On the next screen, choose the defaults and proceed (default gradle wrapper)

import

Give it a minute and Android Studio will configure the projects and download the various libraries.

OpenStreetMap Setup (Optional)

Sign up for an account with OpenStreetMap and log in.

Click on 'My Settings', then 'OAuth2 Applications'

Click on 'Register your application'

Fill in the form with these details. Remember to uncheck the 'Confidential Application' checkbox, since this is a mobile app.

Oauth settings

After registering the application, you will receive a Client ID.
Place the Client ID in OpenStreetMapManager#getOpenStreetMapClientID().
If you used your own custom scheme, replace the value in AndroidManifest.xml and OpenStreetMapManager#getOpenStreetMapRedirect()

Dropbox Setup (Optional)

Sign up for an account with Dropbox.com

Go to the Dropbox Developers page and click on 'Create an App'

Use these settings, but choose a unique name

Dropbox settings

After creating the app, you will receive an app key and secret (the ones in the screenshot are fake)

Dropbox settings

Place the keys in your ~/.gradle/gradle.properties like this:

GPSLOGGER_DROPBOX_APPKEY=abcdefgh
GPSLOGGER_DROPBOX_APPSECRET=1234123456

Replace the Dropbox app key to your AndroidManifest.xml file

<!-- Change this to be db- followed by your app key -->
<data android:scheme="db-12341234"/>

Google Drive Setup (optional)

Sign up to Google Cloud Platform. Create a new project.

Under APIs and Services, enable the Google Drive API.
Next, go to the Oauth Consent Screen, going through the steps until you reach scopes. Add the https://www.googleapis.com/auth/drive.file scope.

scopes

Create some OAuth credentials, of type Android.
Under package name, use com.mendhak.gpslogger. For the SHA-1 Certificate fingerprint, get it using the keytool -keystore ~/.android/debug.keystore -list -v command.

oauth

Overview

GPSLogger is composed of a few main components;

design

Event Bus

The Event Bus is where all the cross communication happens. Various components raise their events on the Event Bus, and other parts of the application listen for those events. The most important one is when a location is obtained, it is placed on the event bus and consumed by many fragments.

GPS Logging Service

GPSLoggingService is where all the work happens. This service talks to the location providers (network and satellite). It sets up timers and alarms for the next GPS point to be requested. It passes location info to the various loggers so that they can write files. It also invokes the auto-uploaders so that they may send their files to DropBox, OSM, etc.

It also passes information to the Event Bus.

GPS Main Activity

This is the main visible form in the app. It consists of several 'fragments' - the simple view, detailed view and big view.

It takes care of the main screen, the menus and toolbars.

The fragments listen to the Event Bus for location changes and display it in their own way.

Session and AppSettings

Floating about are two other objects. Session contains various pieces of information related to the current GPSLogger run, such as current file name, the last known location, satellite count, and any other information which isn't static but is needed for the current run of GPSLogger.

AppSettings is a representation of the user's preferences.

These objects are visible throughout the application and can be accessed directly by any class, service, activity or fragment.

Assembling the APK for Github release

The 'assemble' Gradle task will build, and it also looks for a GPG key to sign the APK with. It needs some setup first:

Create ~/.gradle/gradle.properties which contains the release store and its key details, as well as the GPG key details

RELEASE_STORE_FILE=/path/to/the.keystore
RELEASE_STORE_PASSWORD=xxxxxxxxxxxxxxxxxx
RELEASE_KEY_ALIAS=gpsloggerkey
RELEASE_KEY_PASSWORD=xxxxxxxxxxxxxxxxxx
signing.gnupg.keyName=xxxxxxxxxxxxxxxxxx
signing.gnupg.passphrase=xxxxxxxxxxxxxxxxxx

Ensure that gpg2 is installed

sudo apt install gnupg2

And ensure that the above gnupg.keyname is in the gpg keystore, have a look using gpg2 --list-secret-keys

Once these pieces are in place, the 'assemble' task should build the APK, sign it, and create a checksum too.
If it doesn't appear in the gpslogger folder, run 'copyFinalAPK' so that it copies the APK, ASC and SHA256 files to the gpslogger folder.
Finally upload to Github Releases.

F-Droid release

F-Droid watches the Github repository for tags, and will build those tags, and sign it using its own key. So, there isn't too much to do.

Ensure that gpslogger/build.gradle versionCode and versionName contains the latest version number to be released.

Finally tag the commit,

git tag -s v128
git push origin master --tags

Working notes for F-Droid

Use the fdroidserver docker image. Clone the fdroid metadata repo and make changes to the com.mendhak.gpslogger.yml file.

git clone https://gitlab.com/fdroid/fdroiddata.git
cd fdroiddata

# https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/
# initialize the metadata repo
docker run --rm -v /home/mendhak/Android/Sdk:/opt/android-sdk -v $(pwd):/repo -e ANDROID_HOME:/opt/android-sdk registry.gitlab.com/fdroid/docker-executable-fdroidserver:master init -v

# lint your metadata yml
docker run --rm -v /home/mendhak/Android/Sdk:/opt/android-sdk -v $(pwd):/repo -e ANDROID_HOME:/opt/android-sdk registry.gitlab.com/fdroid/docker-executable-fdroidserver:master lint com.mendhak.gpslogger -v
docker run --rm -v /home/mendhak/Android/Sdk:/opt/android-sdk -v $(pwd):/repo -e ANDROID_HOME:/opt/android-sdk registry.gitlab.com/fdroid/docker-executable-fdroidserver:master readmeta

# see if the latest tag will get picked up. 
docker run --rm -v /home/mendhak/Android/Sdk:/opt/android-sdk -v $(pwd):/repo -e ANDROID_HOME:/opt/android-sdk registry.gitlab.com/fdroid/docker-executable-fdroidserver:master checkupdates --auto com.mendhak.gpslogger
docker run --rm -v /home/mendhak/Android/Sdk:/opt/android-sdk -v $(pwd):/repo -e ANDROID_HOME:/opt/android-sdk registry.gitlab.com/fdroid/docker-executable-fdroidserver:master rewritemeta com.mendhak.gpslogger

# build
docker run --rm -v /home/mendhak/Android/Sdk:/opt/android-sdk -v $(pwd):/repo -e ANDROID_HOME:/opt/android-sdk registry.gitlab.com/fdroid/docker-executable-fdroidserver:master build -v -l com.mendhak.gpslogger

gpslogger's People

Contributors

agp8x avatar andras3189 avatar artemmolotov avatar azhar241 avatar bluehazzard avatar chmodsayshello avatar clxf12 avatar codeling avatar danielfaust avatar dlichtistw avatar freynoso avatar gusr avatar i3elphegor avatar krisfremen avatar lenucksi avatar linuxmalaysia avatar marian-sk avatar mendhak avatar ner-kun avatar oersen avatar pestatije avatar pringless avatar ptsgrn avatar santicolor6 avatar stefangg9770 avatar tsteven4 avatar ttung avatar weblate avatar williamrelken avatar yrtimid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gpslogger's Issues

Zipped GPX file

johnsearing[CodePlex]
Would it be possible to select either zipped or unzipped for auto transmission of GPX files Tnks

Not running in the background since Gingerbread?

kadajawi[CodePlex]
Since the last update it worked perfectly under Froyo (CM6.1). If for some reason (e.g. I pressed the stop logging button) it stopped logging it would restart after a short while.

Now I'm running Gingerbread (COS-DS, but Yoshi didn't work too), and it doesn't work at all. Almost as soon as I switch out of the app it stops logging, the GPS logo disappears. This happens regardless of the memory situation, i.e. 20, 30 and more MB free and it still disappears (I have even set some memory manager tool to let Android only kill apps when less than 5 MB are available, and while 22 are still free it still drops the signal, GPS Logger still thinks it is trying to get a signal, and the symbol in the status bar is still there, saying that it is still running). Perhaps it is because of the hacked ROMs, but perhaps others have similar issues with Gingerbread?

Google Maps Navigation has no issues running in the background, SpeedView also drops the signal, but not as fast as GPS Logger... :-/

Issues with 1.1.2

I've been lightly using GPSLogger since late 2010. Now I'm preparing for a trip and want to use the GPSLogger information to generate geotags for my photos.

In late December 2010 I used the then current version of GPSLogger to create a track in kml format and uploaded it to Google Maps. You can see it here: http://maps.google.com/maps/ms?msa=0&msid=200540836883352615011.000498bbd53ba084d72b6

Recently I used GPSLogger 1.1.2 to create several tracks (again in kml format) and uploaded them to Google Maps. You can see them here: http://maps.google.com/maps/ms?msa=0&msid=200540836883352615011.0004a615f3e78571819d0 and http://maps.google.com/maps/ms?msa=0&msid=200540836883352615011.0004a616081a10f43b884

I have several questions. First the two tracks created on 18 Jun 2011 both terminated on their own. By looking at where I was when the tracks terminated I wonder if perhaps I started GasBuddy at that time. GasBuddy uses the GPS to show stations near you.

Second the points in the recent tracks as displayed by Google Maps don't show the timestamps. This may be a difference in the way that Google Maps presents the data. The timestamps are visible in the file. I can send you the raw files if you need them.

I had a third question that I had posted over on http://gpslogger.codeplex.com/ but I can't recall it. Perhaps you can retrieve it from there.

Thanks for the GPSLogger app. Help me understand how I can make it more useful to me.

I'm running an un-rooted AT&T Captivate with FroYo.

Look and Feel

jlmkerr[CodePlex]
The look and feel of the app is fine, but it could look nicer. It is fairly utilitarian now and could benefit from nicer UI elements.
Initial suggestions are:
Change the Status Bar icon to be more in keeping with the android icons - for example use the android GPS icon but replace the green elements with blue to differentiate.
Tidy the layout of the main app screen - the Start Logging button should appear at the bottom of the screen and should have bigger text. Maybe just rename to "Start" and "Stop"

Schedule upload to Google Docs/DropBox

mendhak[CodePlex]
It's great being able to schedule an email with the log file. Would it be possible to also schedule an upload to GoogleDocs or DropBox? For DropBox, an alternate solution would simply be to copy the most recent logfile to the DropBox folder once a day.

Thanks & thanks for developing a great product.

Show number of points written so far

garyosborn[CodePlex]
It would be nice if the display showed the number of points written so
far to the current GPX or KML file. The number would increment each
time a new data point is written. That would make it easier for the
user to determine if the unit actually is configured the way he/she
thinks it is. The field could be appended to the end of an existing
line in order to conserve display space.

It took me a while to figure out how the logic works when the time and
distance record intervals are both non-zero. A few words of wisdom on
your web page would help.

For applications where accuracy is more important than battery life, it
would be good to have a configuration option to never power down the GPS
hardware while data is being recorded.

Error: Could not write to file

I'm having an issue with GPSlogger unable to write to the log file. Logging is set to GPX file, every ten seconds. Relevant part of the debug log is as follows:

2011/07/31 20:58:15:GeneralLocationListener.onLocationChanged
2011/07/31 20:58:15:GPS Satellite status obtained
2011/07/31 20:58:15:GPS Satellite status obtained
2011/07/31 20:58:15:GpsLoggingService.Notify
2011/07/31 20:58:15:GpsLoggingService.ShowNotification
2011/07/31 20:58:15:Gpx10FileLogger.Write:Undefined Prefix: xsi in org.kxml2.io.KXmlParser@43958eb8
2011/07/31 20:58:15:GpsLoggingService.WriteToFile
2011/07/31 20:58:15:GpsLoggingService.GetPreferences
2011/07/31 20:58:15:Could not write to file
2011/07/31 20:58:15:Getting preferences
2011/07/31 20:58:15:Session.getAutoEmailDelay: 0.0
2011/07/31 20:58:15:AppSettings.getAutoEmailDelay: 0.0
2011/07/31 20:58:16:GPS Satellite status obtained
2011/07/31 20:58:16:GPS Satellite status obtained

Sample GPX file is below. It appears to record the first location, but can't write after that:

<?xml version="1.0" encoding="UTF-8"?><gpx version="1.0" creator="GPSLogger - http://gpslogger.mendhak.com/" xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd" ><time>2011-08-01T15:08:46Z</time><bounds></bounds><trk><trkseg><trkpt lat="44.99792992" lon="-93.26117309" ><ele>210.8000030517578</ele><course>323.7</course><speed>0.0</speed><src>gps</src><sat>6</sat><time>2011-08-01T15:08:46Z</time></trkpt></trkseg></trk></gpx>

Phone is a Cliq XT running Android 2.1.

Show share screen even if no files exist

mendhak[CodePlex]
If no files exist, but you are logging to screen, and a location is available, then the share menu item should work so that you can send just that location.

GPSLogger can't be stopped on HTC Legend

On my HTC Legend, when I have been running GPSLogger for half an hour or so, I can't stop it anymore. Pressing the 'Stop logging' doesn't have any effect. The icon keeps on appearing in the top status bar of my phone. Even killing the program using Advanced Task Manager doesn't make the icon go away.

If you need any more input (log files, debug file), please let me know.

The APP does not work with Honeycomb for Xoom Tablet.

ncsandesh[CodePlex]
Is there any update for this app which works with Motorola Xoom tablet running Android 3.0 (Honeycomb). The problem is, the App runs and it gets a fix and displays that it is recording the data. But when I connect the Xoom to my PC to check for files recorded. It does not contain any files. Please update.

Rotation

jlmkerr[CodePlex]
Enable a layout that auto-rotates

Reduce maximum zoom level on SeeMyMap

mendhak[CodePlex]
Submitted via email

Seemymap.com default zoom level seems to be a little too close. You don't have any idea where the point is if you don't zoom out. Is it possible to change the default zoom level for example 1:20000?

Avoid "logger stopped" if GPS not available and fall back to GSM/Cell

johnuopini[CodePlex]
When GPS signal is not found GPS Logger stops logging saying that GPS is disabled even if, system wide, service is active (and simply unable to lock signal because inside a building or in a not covered area). It would be better if GPS logger still tries to locate phone via GPS after predefined amount of time or falls back to Cell/GPS location like "trackmylife" does. I like to keep GPS Logger active all the time and i don't want to check every 30 minutes if its still logging or not, i want to be sure its trying to log position even if sometimes my phone is inside a not GPS covered area.

This is the last feature missing!
Thanks!

New Feature: Location Accuracy

jlmkerr[CodePlex]
Battery life is key to this app. A user doesn't want to run out of phone because their geotag is updating. If you could have an option to use cell tower location only (without disabling GPS for other apps) that would be great. This could be done through a 'location accuracy' setting that also could reduce the accuracy required from the GPS, further improving battery. For example, if I was happy to have a location accuracy of 20m then GPS would be used until it could get a good enough lock to provide this. However, if my location accuracy was set to 100m then the GPS would not need to be powered on for as long as it can get this level of accuracy from fewer satelites. A location accuracy of 500m or more could be provided from cell tower information alone, dramatically reducing battery consumption.
This feature would also affect the distance interval setting, so that the distance interval would be at least as great as the location acuracy setting.

GPX output: use trk/trkseg/trkpt rather than wpt

achadwick[CodePlex]
GPS Logger for Android currently logs each waypoint using <wpt>s, which causes fairly ugly rendering in tools like JOSM (lots of little unlabelled "x"es rather than nice joined segments. According to the GPX docs, it's more appropriate to use a bundling of <trk>, <trkseg> and <trkpt> for points which are "logically connected in order": http://www.topografix.com/gpx/1/1/#type_trksegType :-

<gpx ...>
<trk>
<trkseg>
<trkpt ...>
<trkpt ...>
<trkpt ...>
<!-- etc. -->
</trkseg>
<trkseg
...><!-- ...really only if tracks can be paused... -->
</...

It's slightly more verbose, but XML compresses very well.

In both JOSM and Google Earth, the trk/trkseg/trkpt style renders as nice connected lines showing a route. The wpt style renders as *lots* of disconnected "x"es or little flag markers (the Google Earth rendering of "wpt" is especially ugly). Additionally, the example on the Wikipedia page for "GPX" uses this style.

I'm getting bitten by this quite badly since for OpenStreetMap work I like to use a granularity of 1 second :)

Display speed in larger font, more speed options

mendhak[CodePlex]
Either display the speed in a larger font so that it's quickly visible, or display it on a brand new screen.
Display speed in m/s or km/h or ft/s or miles/hr

Would be nice - tapping on speed takes you to a large speed only screen. Tapping on the speed only screen takes you back to the main GPSLogger screen.

<h2>test</h2>

GPX Order of elements in TRKPT

From: pluimpje

Hello,

I've got the same problem (with another phone and as well mapsource as basecamp), and looked at the gpx file.

I think there is an error in the order of the created elements under trkpt. This is a point as found in the gpx file

<trkpt lat="50.8554607629776" lon="4.358096122741699">
<ele>281.0</ele>
<course>52.734375</course>
<speed>0.0</speed>
<src>gps</src>
<sat>9</sat>
<time>2011-05-20T14:25:59Z</time>
</trkpt>

But the spec indicates that the 'time' element must come right after the 'ele' element and not as last as in the generated file.

I did not test if changing this makes the files readable in garmin software.

GPX File incorrectly formatted timestamps

PJC8151[CodePlex]
The schema for GPX files (http://www.topografix.com/GPX/1/1/gpx.xsd) states "Date and time in are in Univeral Coordinated Time (UTC), not local time!" - timestamps are incorrectly in local time, causing errors reading the file.

GPSlogger stops logging

Hello,
I have been using gpslogger for a few days and I have some issues, which I can't solve.
I hope I'm right submitting them here, feel free to correct me if needed.

First let me say that I am VERY happy to have that piece of software: it is exactly what I was looking for. So: THANKS !!

Context:
Phone: HTC desire, S-offed and rooted
Android: 2.3.3, Oxygen 2.0.2 rom (see on XDA)
Kernel 2.6.35.11-thalamus

Main annoyance:
Every once in a while, usually after a few hours, GPS logger stops logging without apparent cause.
The status drop-down says "gpslogger is still running" but no coordinates, and when I go into the program, button is greyed and I have to press it to restart logging.
Log files show no pattern in time (log stopped over the last few days at 2:00, 9:30, 23:30, 3:00, 2:00, 7:59)
I tried to disable juice defender: no result.
The problem happens in gps mode and cell towers only mode.
PS: an change of Icon in the status bar, indicating "green= i'm logging" and "blue= running but idle" would be a nice addition I think.

Second annoyance:
the gpx produced aren't compatible with garmin mapsource. File format issue ?

Third annoyance:
I tried to enable sending the log by email: the program forced closed instantly and would not start again. I had to delete the configuration before being able to run it again.

Conclusion: only the first issue is important to me, the other two I can live with.
Thanks.

Auto Email - Email Now

mendhak[CodePlex]
This will help in situations where an email was supposed to go but hasn't due to no data networks being available, etc.

Bug? Point sent but not on map

jonmitchel[CodePlex]
Hi, my GPX file confirms a point was sent at 11:05 "Getting Coffee" and is on the map.
Then at 12:29 I sent another point "Lunch at 'er parents" but that one is NOT on the map
Map is http://jonjen.seemymap.com/
GPX File attached
Thanks

Email of GPS Log Not Working

chandragaajula[CodePlex]
I have setup an email to be sent out every 24 Hours. However, it is not happening.

How do I fix this?

Auto-email gpx/kml file

jlmkerr[CodePlex]
A feature that would enable the sending of a gpx/kml file at the end of each set time period (for example 12/24 hrs) to a preset e-mail address. Could also e-mail the file whenever logging was stoped.

"Nice to have" features request

I love GPSLogger and its simplicity. I use GPSLogger for recording my tracks which I then use to edit the OpenStreetMap.

From my experience and usage I would like to share some thoughts on how to improve the usability:

1) At the end of a hike of over 10 km to find out that the track-recording has stopped somewhere along the path (when walking under a bridge or a dense passage in the forrest), is really annoying (mildly put).

So, when the GPS-signal is lost, recording should pause, but should continue, when the GPS-signal is available again, thus avoiding false recordings while inside a building or in an other area of bad or no GPS-signal-reception.

This is my greatest problem at the moment and anything to prevent a false stop would be greatly appreciated.
BTW: I use a Samsung Google Nexus S.

I have read, that this might be in conjunction with using other GPS-apps at the same time. Well, when I hike I sometimes open OSMand to check the map. But I could not faithfully reproduce this bug.

2) When I record a track, I want to add waypoints so I can precisely remember where that roadcrossing was, or that landmark. Maybe the system could be made so intelligent to remember my last entries and present me with a dropdown-menu to choose from, so I don't have to type the word "roadcrossing" over and over again. ;-)

So, having a waypoint-button on the UI would be great. And right beneath it an input-field to type in some text or a button to record some audio or take a picture.

3) When I walk (and that implies a speed of roughly 3-6 km/h, then any trackpoints which are simply impossible (e.g. too far apart) should be ignored or somehow marked as "not possible". Also, when I am standing in one place the GPSLogger should be able to recognize that and stop recording 20 or more data-points which are wildly scattered around my location. It would be enough to record a new position only if it differs from the last one by a plausible distance.

So, some plausibility-checks would be a nice enhancement. This checks need not be performed while recording, but could be done after recording was stopped by the user. That would then be some sort of "data clean-up".

I admit, some thought has to be put into this, because how do you deal with the case of simply turning arround and backtrace your way that you just came? Or with riding a bike where you can vary your speed in a wide range? Tricky.

Share GPX/KML file

jlmkerr[CodePlex]
Enable an option to 'share' the GPX/KML files through email or bluetooth (similar to how you can share pictures). This should enable a selection box to select one or multiple files.

Add GPX voice markers

Zibik[CodePlex]
I would be very happy if Open GPS Tracker could to add voice markers to the
stored GPX traces. Exactly, I mean the functionality as described here,
e.g.: http://josm.openstreetmap.de/wiki/Help/AudioMapping/SeparateClips

I'm spending a lot of time editing the OpenStreetMap maps, so this functionality would make easier my work, especially for data which couldn't be seen on the SAT pictures (house numbers, street addresses, POIs)

An example scenario of use:

1. I turn on GPS tracing
2. I wait until the catch/fix GPS signal
3. I go by car/bicycle or on foot
4. at the interesting place I press button on the phone and say "Smith Street on right, number 31 on left"
5. I repeat point four many times
6. after returning home, I copy the GPX file and audio files from SD card
7. I open the GPX file in JOSM and I see the trail with markers.
8. Click on the marker, I listen to it and I edit the map :-)

I have HTC Magic with Android 1.5

Greetings

Locale plug-in support

cuu508[CodePlex]
The attached patch adds Locale plug-in support to GPS Logger. With the patch, gps logging can be started and stopped from applications like Locale and Tasker. For the code to build, Locale's developer platform library[1] needs to be added to project libraries.

It would be great to have this included in GPS Logger, as this would allow automatic control of logging state, based on all kinds of configurable conditions like "phone is plugged in AC" or "phone is connected to Bluetooth device XYZ".

Please let me know if the patch needs to be fixed with regards to code style, conventions and the like...

[1] http://www.twofortyfouram.com/developer.html "Downloads" > Locale Developer Platform Library Project: Source code for the library project which all plug-ins are dependent upon.

Allow user to choose Imperial rather than Metric

mendhak[CodePlex]
Submitted via email:
"for users in the laggard US, it would be nice to have the display show English units for distance and speed. It's embarrassing because we should be metric but we're not."

Start GPS Logger on phone startup

mendhak[CodePlex]
Need to investigate a way if it's possible to start GPSLogger on phone startup and start logging. Need to also investigate if this isn't unaesthetic to the user.

Annotating trackpoints/waypoints?

achadwick[CodePlex]
Quick feature request: for OpenStreetMap work, it'd be really nice to be able to annotate the current location with a textual description: very useful for recording street names.

For GPX output, JOSM supports <desc> elements inside normal <trkpt>s, (via right button -> Markers from Named Points). Google Earth doesn't seem to support that style of annotation, but you can artificially break the track and insert a described <wpt> and both pieces of software will pick it up:

<!-- ... -->
<trkpt .../>
<trkpt .../>
</trkseg>
</trk>
<wpt ...>
<desc>...</desc>
</wpt>
<trk>
<!-- ... -->

Though that of course makes the track no longer a logical whole. It's a shame GPX is so either/or about waypoints and trackpoints. A third way of doing this would be to dump POIs created en route into a second GPX file containing just named <wpt>s: this is roughly how Maemo Mapper does it.

Audible alert if no fix

mendhak[CodePlex]
if the app fails to find a fix after "X" tries, then give the user an audible alert to let them know that things aren't going that well.

Ability to use a single file for logging

mendhak[CodePlex]
(Submitted via AndroidZoom)
hello
I came across your application today.

currently i use a dedicated gps logger for my photos, and am looking at maybe leaving that at home and using your appliucation on my fone. At the moment what i do is record half a month (two weeks )in one GPX file, (eg 1007a) clear the device log then record second part in another file (eg 1007b its momory limitation really)-- what would be neat for me is for me to use GPS logger to maybe record the whole month in one file-

at home i use lightroom with geoencode that simply scans the file and matches them with my photos. I find it alot easier having just one file to work with. Is this possible with this application? ie where it says new file creation it woul be neat for me to set a file name that just gets appended to , until such time that i create a new one to replace it (which i would do once a month or whatever)

Log more attributes to KML file

mendhak[CodePlex]
(By mentacement) Great app but is it capable of logging speed, altitude etc to the KML file? I want to use it to track me during snowboarding but it only seems to log location data to the KML file.

Auto Email - allow specific send time

mendhak[CodePlex]
Originally posted by kitgerrits:

I intend to use this app to log my travel and working hours.
I would appreciate an option to set send-time.
This would work really well if the application could create the new file after sending the old one.
(aside from "in 24 hours" and "when I say stop")

My notes:
Add a new feature which lets a user specify a time of day at which the logs can be sent. This will be independent of the interval based email, so a user can potentially send files out every 4 hours and also at 3:21PM every day.

GPS logging ceases when other applications use GPS

3278[CodePlex]
For example, if I'm logging a trace and take a photograph with the camera on my Droid, the GPX or KML file will contain no points after I used the camera [or opened Maps, etc]. As far as I can tell, the application appears to continue tracking, but no new points are written to the GPX/KML output.

I have time and the inclination to test the limitations of the bug, if this is not a known issue.

Allow user to pick file name and location

From: iKill80
Settings Request (features)

Hi,

Motorola Spice XT300 with android 2.1 rooted. I am very impressed with this little application so thank you to the developers.

Is anybody still working on this application? I was hoping someone could add in a couple of settings for the application.

First:

When a new log file is created alow the user to give a meaningfull text name to be appended to the datestamp used as the log filename. This could then be turned on and off using the settings the same as you can sellect for a new file to be started each time you start logging. I would imaging this would be done as a user hits "Start logging" just before the new file is created pop up a screen that will accept a text name.

This is because I have about 15 logs on my SD card and i have no idea what they were all for. They are Date stamped but there is no context. So if I took 3 different trips in a day I have no idea what they were for.

Second:

I would like to be able to Set the log save location through the settings screen rather than it just defaulting to the root of the SD card. That way if i want it to save directly to the dropbox (if they ever fix the sync issue). All i have to do is change the log folder location. There is nothing wrong with having a default location, but not allowing you to change it seems like a bit of an oversite.

I am unfortuanltly not an android developer but i have done alot of C# and windows mobile development so I know there must be something like an App.Settings file that this could be stored in.

I am leaving on a big road trip in July so I don't have the time to leaner Android Development in the next 3 weeks but I dont see that either of these changes would be very hard for someone that knows what they are doing.

I really hope that someone can help with this.

Again thanks to the developers, perticularly like the ability to change the log interville by both time and distance.

Thanks

ink

Add a 'Get Fix' button

mendhak[CodePlex]
Via email: "Do you think it's possible to just add a
"Get fix" button right underneath the "Start Logging" button?"

Purpose - sometimes it takes a while to establish a fix, so the get-fix button should set the time/distance to 0,0 and start polling until a fix has been established. This helps subsequent fixes and doesn't force the user to change his settings.

Feature request - single log file

Several feature requests I've received include the ability to have a single log file (which the user can choose). This could be done by asking the user for the file name, and logging to that filename.gpx/filename.kml until the user changes the name of the file.

Fix acquired only when running another app in parallel

mendhak[CodePlex]
I'using the GPS logger a lot. It is the best application I could find.
It's running on my Samsung Galaxy.

I have a problem when running in time resctricted mode (e.g. log
every 15 minutes). It normally does not get a fix.
Only when using another GPS app parallel, it get's a fix and
writes data. I don't know how time resctricted mode is
implemented, but could it be that you're not waiting
long enough for a fix?

Entities not properly escaped in GPX output <desc> and <name> element text

achadwick[CodePlex]
What steps will reproduce the problem?

1. menu -> Annotate

2. Enter something with an &

What is the expected output?

...<name>foo &amp; bar</name><desc>foo &amp; bar</desc>...

What do you see instead?

...<name>foo & bar</name><desc>foo & bar</desc>...

What version of the product are you using? On what operating system?

v1.0.3
Android 1.5 (HTC Hero customised for UK Orange)

Please provide any additional information below.

I suspect this is a general problem with XML special chars, not just
ampersands. I know, I'm warned to use only letters and numbers in the
annotation dialog, but it's easy to forget and for mapping I need to be
able to make verbatim records of what I see (signposts, for example).
Blaming the user is a Bad Thing :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.