SlideShare a Scribd company logo
1 of 19
Having fun
with Location
Antoon Uijtdehaag
The Location Platform for Apps
How accurate is Android GPS


Cached GPS



Cached Network



Real-time GPS



Real-time Network

locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,time,distance,
listener);

locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,time,dist
ance,listener);

 Passive

<receiver android:name=".PassiveLocationChangedReceiver" android:enabled="true"/>

 NMEA

addNmeaListener(GpsStatus.NmeaListener);
Flow for obtaining user location

Portions of this page are reproduced from work created and shared by the Android Open Source
Project and used according to terms described in theCreative Commons 2.5 Attribution License.
Real-time tracking


locationManager. isProviderEnabled(
LocationManager.GPS_PROVIDER )



locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,0,0,listener);

public void onLocationChanged(Location location) {
if(location.getAccuracy() < 100.0 && location.getSpeed() < 6.95){
//Do something
}
else{
//Continue listening for a more accurate location
}
}
Is a consumer smartphone
GPS good enough?
Accuracy
 Rooftop <= 10 meters (desired result)
 Street >10 meters and <= 100 meters (let user know
it’s close but not perfect. Good enough?)
 Neighborhood > 100 meters and <= 500 meters
(give visual feedback that accuracy is low)
 City > 500 meters and <= 2000 meters (ask user to
verify city name from a list)
 County > 2000 meters (prompt for manual location
input)
Android GPS
Testing Tool
By Andy Gup
www.andygup.net
Geotrigger:
An Invisible
Button
Geographical
messaging
The location

Problem

Battery

Drain
Use ArcGIS iPhone and Android SDKs
Geotrigger Components
• Condition

(area) Polygon

• Action

(message, callback URL, or
change tracking profile)

• Tags

(to group content)

- Example:
- Tags
- Can

Wikipedia article data

for Buildings, History

allow users to subscribe to a subset
of the data
Setting a Geotrigger for a date and time
Set the date
and time in
the dateFrom
and dateTo
fields.
Geotrigger Tracking Profiles
Adaptive mode
• Optimized

for Geotrigger™ events

• Will

use less power when farther away from
triggers and content

Rough mode
• Only

gathers approximate location data

• Good

for determining if a device is in a given
city or neighborhood

• The

most battery efficient
Data collected by one person in rough mode

Portions of this page are reproduced from work created by Aaron Parecki
Geotrigger Tracking Profiles
Real-time mode
• Sends accurate location as fast as
possible
• Least battery efficient
Logging
• Tracks location data in areas of low
connectivity
• Sends to the server later, or when a
connection re-occurs
Data collected by one person in
real-time mode
2.5 million points since 2008

Portions of this page are reproduced from work created by Aaron Parecki
Visual Geotrigger Editor
MapAttack.org
Hit The Streets!
Meet with a group of friends at the realworld location of your board, start the
game, and run for glory!

More Related Content

Viewers also liked

Ali Al bahlouli CV-last in linkedin
Ali Al bahlouli CV-last in linkedinAli Al bahlouli CV-last in linkedin
Ali Al bahlouli CV-last in linkedinAli Al bahlouli
 
ликовно за сите теми за 5 одд print
ликовно за сите теми за 5 одд printликовно за сите теми за 5 одд print
ликовно за сите теми за 5 одд printIsabelle Parker
 
Maths for y9 progression evening 2013
Maths for y9 progression evening 2013Maths for y9 progression evening 2013
Maths for y9 progression evening 2013jodiel91
 
42442603 kuharica-kolaci
42442603 kuharica-kolaci42442603 kuharica-kolaci
42442603 kuharica-kolaciIsabelle Parker
 
Alapcae math activities 2014 ged test
Alapcae math activities 2014 ged testAlapcae math activities 2014 ged test
Alapcae math activities 2014 ged testdware655
 
20.01.2015 г. препознавање на буква а
20.01.2015 г. препознавање на буква а20.01.2015 г. препознавање на буква а
20.01.2015 г. препознавање на буква аIsabelle Parker
 
Math Matters --A Lot! ALAPCAE 2015
Math Matters --A Lot!  ALAPCAE 2015Math Matters --A Lot!  ALAPCAE 2015
Math Matters --A Lot! ALAPCAE 2015dware655
 
Eвидентни листови v-индивидуален-nivo
Eвидентни листови v-индивидуален-nivoEвидентни листови v-индивидуален-nivo
Eвидентни листови v-индивидуален-nivoIsabelle Parker
 
Infrastructure and aviation - Business environment
Infrastructure and aviation - Business environmentInfrastructure and aviation - Business environment
Infrastructure and aviation - Business environmentPrabhat Taneja
 
Keep our environment clean and green
Keep our environment clean and greenKeep our environment clean and green
Keep our environment clean and greenVijay Andriyas
 
Linear programming production strategy body plus 100, 200
Linear programming   production strategy body plus 100, 200Linear programming   production strategy body plus 100, 200
Linear programming production strategy body plus 100, 200Prabhat Taneja
 

Viewers also liked (18)

Ali Al bahlouli CV-last in linkedin
Ali Al bahlouli CV-last in linkedinAli Al bahlouli CV-last in linkedin
Ali Al bahlouli CV-last in linkedin
 
ликовно за сите теми за 5 одд print
ликовно за сите теми за 5 одд printликовно за сите теми за 5 одд print
ликовно за сите теми за 5 одд print
 
Maths for y9 progression evening 2013
Maths for y9 progression evening 2013Maths for y9 progression evening 2013
Maths for y9 progression evening 2013
 
Attributes of The Christian Soldiers
Attributes of  The Christian SoldiersAttributes of  The Christian Soldiers
Attributes of The Christian Soldiers
 
What Does The LORD Require of You ?
What Does The LORD Require of You ?What Does The LORD Require of You ?
What Does The LORD Require of You ?
 
F.C.P
F.C.PF.C.P
F.C.P
 
How To Overcome Relapse
How To  Overcome RelapseHow To  Overcome Relapse
How To Overcome Relapse
 
42442603 kuharica-kolaci
42442603 kuharica-kolaci42442603 kuharica-kolaci
42442603 kuharica-kolaci
 
Interim budget 2014
Interim budget  2014Interim budget  2014
Interim budget 2014
 
Alapcae math activities 2014 ged test
Alapcae math activities 2014 ged testAlapcae math activities 2014 ged test
Alapcae math activities 2014 ged test
 
20.01.2015 г. препознавање на буква а
20.01.2015 г. препознавање на буква а20.01.2015 г. препознавање на буква а
20.01.2015 г. препознавање на буква а
 
Math Matters --A Lot! ALAPCAE 2015
Math Matters --A Lot!  ALAPCAE 2015Math Matters --A Lot!  ALAPCAE 2015
Math Matters --A Lot! ALAPCAE 2015
 
Eвидентни листови v-индивидуален-nivo
Eвидентни листови v-индивидуален-nivoEвидентни листови v-индивидуален-nivo
Eвидентни листови v-индивидуален-nivo
 
Infrastructure and aviation - Business environment
Infrastructure and aviation - Business environmentInfrastructure and aviation - Business environment
Infrastructure and aviation - Business environment
 
God's Principles for Christian Living
God's Principles for Christian LivingGod's Principles for Christian Living
God's Principles for Christian Living
 
50446170 torte
50446170 torte50446170 torte
50446170 torte
 
Keep our environment clean and green
Keep our environment clean and greenKeep our environment clean and green
Keep our environment clean and green
 
Linear programming production strategy body plus 100, 200
Linear programming   production strategy body plus 100, 200Linear programming   production strategy body plus 100, 200
Linear programming production strategy body plus 100, 200
 

Similar to Having fun with Location

Esri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGIS
Esri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGISEsri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGIS
Esri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGISAaron Parecki
 
Deep Dive into the ArcGIS Geotrigger Service - Esri DevSummit Dubai 2013
Deep Dive into the ArcGIS Geotrigger Service - Esri DevSummit Dubai 2013Deep Dive into the ArcGIS Geotrigger Service - Esri DevSummit Dubai 2013
Deep Dive into the ArcGIS Geotrigger Service - Esri DevSummit Dubai 2013Aaron Parecki
 
Developing Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location ServicesDeveloping Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location ServicesNick Landry
 
Intro to the ArcGIS Geotrigger Service
Intro to the ArcGIS Geotrigger ServiceIntro to the ArcGIS Geotrigger Service
Intro to the ArcGIS Geotrigger ServiceAaron Parecki
 
How To Analyze Geolocation Data with Hive and Hadoop
How To Analyze Geolocation Data with Hive and HadoopHow To Analyze Geolocation Data with Hive and Hadoop
How To Analyze Geolocation Data with Hive and HadoopHortonworks
 
Location-Based Services on Android
Location-Based Services on AndroidLocation-Based Services on Android
Location-Based Services on AndroidJomar Tigcal
 
GeoMesa on Apache Spark SQL with Anthony Fox
GeoMesa on Apache Spark SQL with Anthony FoxGeoMesa on Apache Spark SQL with Anthony Fox
GeoMesa on Apache Spark SQL with Anthony FoxDatabricks
 
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화MinPa Lee
 
How to use geolocation in react native apps
How to use geolocation in react native appsHow to use geolocation in react native apps
How to use geolocation in react native appsInnovationM
 
Location Analytics - Real-Time Geofencing using Kafka
Location Analytics - Real-Time Geofencing using Kafka Location Analytics - Real-Time Geofencing using Kafka
Location Analytics - Real-Time Geofencing using Kafka Guido Schmutz
 
Android App Development 04 : Location API
Android App Development 04 : Location APIAndroid App Development 04 : Location API
Android App Development 04 : Location APIAnuchit Chalothorn
 
Dynamic google-remote-data-collection-docx
Dynamic google-remote-data-collection-docxDynamic google-remote-data-collection-docx
Dynamic google-remote-data-collection-docxshanofa sanu
 
Building Real-Time Applications with Android and WebSockets
Building Real-Time Applications with Android and WebSocketsBuilding Real-Time Applications with Android and WebSockets
Building Real-Time Applications with Android and WebSocketsSergi Almar i Graupera
 
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013GeoSolutions
 
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...Esri Nederland
 
Mobile Application Development-Lecture 15 & 16.pdf
Mobile Application Development-Lecture 15 & 16.pdfMobile Application Development-Lecture 15 & 16.pdf
Mobile Application Development-Lecture 15 & 16.pdfAbdullahMunir32
 

Similar to Having fun with Location (20)

Esri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGIS
Esri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGISEsri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGIS
Esri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGIS
 
Deep Dive into the ArcGIS Geotrigger Service - Esri DevSummit Dubai 2013
Deep Dive into the ArcGIS Geotrigger Service - Esri DevSummit Dubai 2013Deep Dive into the ArcGIS Geotrigger Service - Esri DevSummit Dubai 2013
Deep Dive into the ArcGIS Geotrigger Service - Esri DevSummit Dubai 2013
 
Developing Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location ServicesDeveloping Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location Services
 
Intro to the ArcGIS Geotrigger Service
Intro to the ArcGIS Geotrigger ServiceIntro to the ArcGIS Geotrigger Service
Intro to the ArcGIS Geotrigger Service
 
Core Location in iOS
Core Location in iOSCore Location in iOS
Core Location in iOS
 
How To Analyze Geolocation Data with Hive and Hadoop
How To Analyze Geolocation Data with Hive and HadoopHow To Analyze Geolocation Data with Hive and Hadoop
How To Analyze Geolocation Data with Hive and Hadoop
 
Location-Based Services on Android
Location-Based Services on AndroidLocation-Based Services on Android
Location-Based Services on Android
 
GeoMesa on Apache Spark SQL with Anthony Fox
GeoMesa on Apache Spark SQL with Anthony FoxGeoMesa on Apache Spark SQL with Anthony Fox
GeoMesa on Apache Spark SQL with Anthony Fox
 
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
 
How to use geolocation in react native apps
How to use geolocation in react native appsHow to use geolocation in react native apps
How to use geolocation in react native apps
 
Location Analytics - Real-Time Geofencing using Kafka
Location Analytics - Real-Time Geofencing using Kafka Location Analytics - Real-Time Geofencing using Kafka
Location Analytics - Real-Time Geofencing using Kafka
 
Android App Development 04 : Location API
Android App Development 04 : Location APIAndroid App Development 04 : Location API
Android App Development 04 : Location API
 
Dynamic google-remote-data-collection-docx
Dynamic google-remote-data-collection-docxDynamic google-remote-data-collection-docx
Dynamic google-remote-data-collection-docx
 
Geolocation and Mapping
Geolocation and MappingGeolocation and Mapping
Geolocation and Mapping
 
Building Real-Time Applications with Android and WebSockets
Building Real-Time Applications with Android and WebSocketsBuilding Real-Time Applications with Android and WebSockets
Building Real-Time Applications with Android and WebSockets
 
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
 
GeoMesa on Spark SQL: Extracting Location Intelligence from Data
GeoMesa on Spark SQL: Extracting Location Intelligence from DataGeoMesa on Spark SQL: Extracting Location Intelligence from Data
GeoMesa on Spark SQL: Extracting Location Intelligence from Data
 
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
 
Mobile Application Development-Lecture 15 & 16.pdf
Mobile Application Development-Lecture 15 & 16.pdfMobile Application Development-Lecture 15 & 16.pdf
Mobile Application Development-Lecture 15 & 16.pdf
 
Week 4
Week 4Week 4
Week 4
 

Recently uploaded

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data SciencePaolo Missier
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseWSO2
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxMarkSteadman7
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuidePixlogix Infotech
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 

Recently uploaded (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 

Having fun with Location

  • 3. How accurate is Android GPS  Cached GPS  Cached Network  Real-time GPS  Real-time Network locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,time,distance, listener); locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,time,dist ance,listener);  Passive <receiver android:name=".PassiveLocationChangedReceiver" android:enabled="true"/>  NMEA addNmeaListener(GpsStatus.NmeaListener);
  • 4. Flow for obtaining user location Portions of this page are reproduced from work created and shared by the Android Open Source Project and used according to terms described in theCreative Commons 2.5 Attribution License.
  • 5. Real-time tracking  locationManager. isProviderEnabled( LocationManager.GPS_PROVIDER )  locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER,0,0,listener); public void onLocationChanged(Location location) { if(location.getAccuracy() < 100.0 && location.getSpeed() < 6.95){ //Do something } else{ //Continue listening for a more accurate location } }
  • 6. Is a consumer smartphone GPS good enough? Accuracy  Rooftop <= 10 meters (desired result)  Street >10 meters and <= 100 meters (let user know it’s close but not perfect. Good enough?)  Neighborhood > 100 meters and <= 500 meters (give visual feedback that accuracy is low)  City > 500 meters and <= 2000 meters (ask user to verify city name from a list)  County > 2000 meters (prompt for manual location input)
  • 7. Android GPS Testing Tool By Andy Gup www.andygup.net
  • 10.
  • 11. Use ArcGIS iPhone and Android SDKs
  • 12. Geotrigger Components • Condition (area) Polygon • Action (message, callback URL, or change tracking profile) • Tags (to group content) - Example: - Tags - Can Wikipedia article data for Buildings, History allow users to subscribe to a subset of the data
  • 13. Setting a Geotrigger for a date and time Set the date and time in the dateFrom and dateTo fields.
  • 14. Geotrigger Tracking Profiles Adaptive mode • Optimized for Geotrigger™ events • Will use less power when farther away from triggers and content Rough mode • Only gathers approximate location data • Good for determining if a device is in a given city or neighborhood • The most battery efficient
  • 15. Data collected by one person in rough mode Portions of this page are reproduced from work created by Aaron Parecki
  • 16. Geotrigger Tracking Profiles Real-time mode • Sends accurate location as fast as possible • Least battery efficient Logging • Tracks location data in areas of low connectivity • Sends to the server later, or when a connection re-occurs
  • 17. Data collected by one person in real-time mode 2.5 million points since 2008 Portions of this page are reproduced from work created by Aaron Parecki
  • 19. MapAttack.org Hit The Streets! Meet with a group of friends at the realworld location of your board, start the game, and run for glory!

Editor's Notes

  1. https://developers.arcgis.comhttps://developers.arcgis.com/en/android/guide/geocoding-and-place-search.htmFeatureshttps://developers.arcgis.com/en/features/Free Sign Uphttps://developers.arcgis.com/en/plans/Develop Freehttps://developers.arcgis.com/en/android/
  2. http://www.andygup.net/how-accurate-is-android-gps-part-1-understanding-location-data/
  3. http://developer.android.com/guide/topics/location/strategies.html#BestEstimateStart application.Sometime later, start listening for updates from desired location providers.Maintain a &quot;current best estimate&quot; of location by filtering out new, but less accurate fixes.Stop listening for location updates.Take advantage of the last best location estimate.
  4. http://stackoverflow.com/questions/843675/how-do-i-find-out-if-the-gps-of-an-android-device-is-enabledhttp://www.andygup.net/how-accurate-is-android-gps-part-2-consuming-real-time-locations/Start application using minTime = 0 and minDistance = 0. Use an aggressive setting to get accurate location as quickly as possible.Once accuracy is less than 50 meters and speed less than 45 mph set minTime = 5000 and minDistance = 25.Speed equals 0 for greater than 1 hour. Shut off location listeners and notify user.Battery gets low. Shut off location listeners and notify user.Rooftop  &lt;= 10 meters (desired result)Street &gt;10 meters and &lt;= 100 meters (let user know it’s close but not perfect. Good enough?)Neighborhood &gt; 100 meters and  &lt;= 500 meters (give visual feedback that accuracy is low)City &gt; 500 meters and &lt;= 2000 meters (ask user to verify city name from a list)County &gt; 2000 meters (prompt for manual location input)finalLocationManager manager = (LocationManager) getSystemService( Context.LOCATION_SERVICE ); if ( !manager.isProviderEnabled( LocationManager.GPS_PROVIDER ) ) { buildAlertMessageNoGps(); } private voidbuildAlertMessageNoGps() { finalAlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage(&quot;Your GPS seemstobedisabled, do you want toenableit?&quot;) .setCancelable(false) .setPositiveButton(&quot;Yes&quot;, new DialogInterface.OnClickListener() { public voidonClick(@SuppressWarnings(&quot;unused&quot;) finalDialogInterfacedialog, @SuppressWarnings(&quot;unused&quot;) final int id) { startActivity(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS)); } }) .setNegativeButton(&quot;No&quot;, new DialogInterface.OnClickListener() { public voidonClick(finalDialogInterfacedialog, @SuppressWarnings(&quot;unused&quot;) final int id) { dialog.cancel(); } }); finalAlertDialog alert = builder.create(); alert.show(); }
  5. http://www.andygup.net/android-gps-testing-tool/
  6. https://developers.arcgis.com/en/geotrigger-service/Triggers when entering or leaving.http://coolmaps.esri.com/starbucks/Use CasesRetail and LoyaltyEngage loyal customers with personalized content and deals the moment they enter your store.Real EstateSend messages to prospective home buyers when their search criteria matches a home nearby.Energy ManagementUse your location to automatically manage power consumption in your home or office.TourismBring public attractions to life by informing tourists of interesting locations as they explore your city.Public AlertsNotify citizens about events such as road closures or civic emergencies based on past locations.Personalized OffersSend customized, individual offers to potential customers as they pass by your establishment.Data CollectionGroup related content with tagsLocation Checkpoint VerificationCreate triggers to represent each location. App monitors the location and records a point whenever client is at the location
  7. There’s great tech out there for dedicated GPS devices and real-time tech for devices running intensive GPS for short periods, In the ordinary world – everyone wants to be location-aware, but battery drain has been an issue. Consumer devices – the devices in your pockets vs. a dedicated GPS device. I thinkeveryone in this room has troublewith GPS being a totalbatteryhog. For on the go situations, we need a solution that prevents battery-drain while still providing location-based alerts and tracking. This is consumer-grade, ready for millions of devices. Holding back the market for consumer devices to get on using GPS.
  8. Example of GeoJSON format. Can add date and time conditions.
  9. http://aaronparecki.com/
  10. http://mapattack.org/