├── .classpath
├── .gitignore
├── .project
├── AndroidManifest.xml
├── GoogleMapsLocationMapper.png
├── LocationMapperLocations.png
├── LocationMapperSettings.png
├── README.md
├── default.properties
├── html
├── RenderLocation.html
└── images
│ ├── image.png
│ ├── proximity_enter.png
│ ├── proximity_exit.png
│ └── shadow.png
├── proguard.cfg
├── res
├── drawable-hdpi
│ └── icon.png
├── drawable-ldpi
│ └── icon.png
├── drawable-mdpi
│ └── icon.png
├── drawable
│ └── ic_menu_preferences.png
├── layout
│ ├── location_settings.xml
│ ├── stored_locations.xml
│ └── stored_locations_row_layout.xml
├── menu
│ └── options_menu.xml
└── values
│ └── strings.xml
└── src
└── com
└── shinetech
└── android
├── LocationCursorAdapter.java
├── LocationDbAdapter.java
├── LocationListenerService.java
├── LocationMapperApplication.java
├── Preferences.java
├── ShowLocationSettingsActivity.java
└── ShowStoredLocationActivity.java
/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | .DS_Store
3 | bin/
4 | gen/
5 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | LocationMapper
4 |
5 |
6 |
7 |
8 |
9 | com.android.ide.eclipse.adt.ResourceManagerBuilder
10 |
11 |
12 |
13 |
14 | com.android.ide.eclipse.adt.PreCompilerBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.jdt.core.javabuilder
20 |
21 |
22 |
23 |
24 | com.android.ide.eclipse.adt.ApkBuilder
25 |
26 |
27 |
28 |
29 |
30 | com.android.ide.eclipse.adt.AndroidNature
31 | org.eclipse.jdt.core.javanature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/GoogleMapsLocationMapper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/marcfasel/LocationMapper/e56ea22e03b8490d07bd028cf4169616afb02930/GoogleMapsLocationMapper.png
--------------------------------------------------------------------------------
/LocationMapperLocations.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/marcfasel/LocationMapper/e56ea22e03b8490d07bd028cf4169616afb02930/LocationMapperLocations.png
--------------------------------------------------------------------------------
/LocationMapperSettings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/marcfasel/LocationMapper/e56ea22e03b8490d07bd028cf4169616afb02930/LocationMapperSettings.png
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | #Location Mapper
2 | ##Introduction
3 | Location Mapper is two application working together to visualise location data accuracy. The motivation is to get an in-depth view of the accuracy of the location data as reported from GPS, network provider, and proximity alerts.
4 |
5 | The main part is an Android application that records location data from GPS and network location provider as well as proximity alerts to a SQLite database. The data can then be emailed as a CSV file. The CSV file contains the latitude, longitude, accuracy, provider name, and time stamp for each location.
6 |
7 | The second part is an HTML page to draw the data onto a Google Map. Selectboxes for GPS provider, network provider, and proximity alerts narrow down then data. Each location is drawn on the map with a circle around it denoting the accuracy, and a label for the time stamp.
8 |
9 | ##Android Application
10 | The Android application records location data from GPS and network provider as well as proximity alerts in a database. It is set up as a service and runs in the background.
11 | A list of the data recorded can be seen when the application runs in the foreground.
12 |
13 | 
14 |
15 | ###Settings
16 | The application can be configured via the settings dialog.
17 |
18 | 
19 |
20 | For GPS- and network location providers the update interval and the update distance can be set.
21 |
22 | For proximity alerts a location can be stored, and a proximity radius can be set.
23 |
24 | To visualise the data the email export sends the data as a CSV file. This CSV data can be pasted into the Google Maps application for viewing.
25 |
26 | The settings dialog also has a button to clear the database.
27 | ##Google Maps Application
28 | The folder html/ contains the Google Maps app RenderLocation.html.
29 |
30 | 
31 |
32 | On the page the CSV data emailed previously can be pasted into the text area. Select from network, GPS, or proximity alert data, then press Render to view the data drawn on the map.
--------------------------------------------------------------------------------
/default.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system use,
7 | # "build.properties", and override values to adapt the script to your
8 | # project structure.
9 |
10 | # Project target.
11 | target=Google Inc.:Google APIs:8
12 |
--------------------------------------------------------------------------------
/html/RenderLocation.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
16 |
18 |
19 |
221 |
222 |
223 | Paste location data into this text box below, select the type of location data you want to see, and press the "Render" button. It's that easy!
225 |
267 |
268 |
269 |
--------------------------------------------------------------------------------
/html/images/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/marcfasel/LocationMapper/e56ea22e03b8490d07bd028cf4169616afb02930/html/images/image.png
--------------------------------------------------------------------------------
/html/images/proximity_enter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/marcfasel/LocationMapper/e56ea22e03b8490d07bd028cf4169616afb02930/html/images/proximity_enter.png
--------------------------------------------------------------------------------
/html/images/proximity_exit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/marcfasel/LocationMapper/e56ea22e03b8490d07bd028cf4169616afb02930/html/images/proximity_exit.png
--------------------------------------------------------------------------------
/html/images/shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/marcfasel/LocationMapper/e56ea22e03b8490d07bd028cf4169616afb02930/html/images/shadow.png
--------------------------------------------------------------------------------
/proguard.cfg:
--------------------------------------------------------------------------------
1 | -optimizationpasses 5
2 | -dontusemixedcaseclassnames
3 | -dontskipnonpubliclibraryclasses
4 | -dontpreverify
5 | -verbose
6 | -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
7 |
8 | -keep public class * extends android.app.Activity
9 | -keep public class * extends android.app.Application
10 | -keep public class * extends android.app.Service
11 | -keep public class * extends android.content.BroadcastReceiver
12 | -keep public class * extends android.content.ContentProvider
13 | -keep public class * extends android.app.backup.BackupAgentHelper
14 | -keep public class * extends android.preference.Preference
15 | -keep public class com.android.vending.licensing.ILicensingService
16 |
17 | -keepclasseswithmembernames class * {
18 | native