SlideShare une entreprise Scribd logo
1  sur  21
Proprietary and
confidential
Aurore Jard
Mobile Lead Developer
“Design for tomorrow”
“Deconstruct what you know”
“Simplify”
“Love what you did”
@AuroreJard
April 12, 2016
Don’t lose your way optimizing
maps rendering !
Talk : map optimizations ! Confidential
Requirements
Confidential
● Display
○ Data as locality
○ Zone on map
● User feature
○ Move
○ Zoom
● Access offline
Talk : map optimizations !
SDK Fight
Confidential
● Map
○ https://developer.apple.com/maps/
● Google
○ https://developers.google.com/maps/documentation/ios-sdk/
Talk : map optimizations !
Google Map VS Apple Maps
SDK Fight
Confidential
● Official documentation
○ Maps
○ Google iOS SDK
● Application also available on android : same experience on both
● Map more precise
● More possibilities
Talk : map optimizations !
First : easy steps
Confidential
● Get Data
● Display data
Talk : map optimizations !
What about really a lot of data ?
ConfidentialTalk : map optimizations !
First impressions
Confidential
● UI/UX remarks
○ Users are humans !
■ Adapt data according to zoom level
■ Zone, details : only on high level of zoom
■ Regroup data that eye can dissociate
● Performances
○ Avoid treating data you don’t see...
Talk : map optimizations !
First : clustering
ConfidentialTalk : map optimizations !
First : clustering
Confidential
● Regroup close data
○ easier user reading
○ Indication on number of location
in one group
● Clustering possibilities :
○ Grid based clustering
○ Distance based clustering
Talk : map optimizations !
Easy optimizations :
Confidential
● Grid based clustering
Talk : map optimizations !
Easy optimizations :
Confidential
● Distance-based Clustering
Talk : map optimizations !
Second : don’t treat invisible data
Confidential
● Limitation :
○ Zoom level
Talk : map optimizations !
Third : More optimization on sorting data
Confidential
● Why does it take so long ?
● Iterate over each location : 0(n)
● Every move from the camera (move, zoom) need to iterate again
Talk : map optimizations !
for location in locations {
if visibleBounds.containsCoordinate(location.position) {
// item should be display
}
else {
// ignore this location
}
Third : More optimization on sorting data
Confidential
● Reduce complexity by using QuadTree object & algorithms !
● Objective : subdivision of 2D space
● QuadTree = Tree with 4 leafs
Talk : map optimizations !
Third : More optimization on sorting data
Confidential
● Step 1 :
○ Build the tree from your initial data
○ Keep iteration on all locations on that process
■ o(n) but only once
Talk : map optimizations !
Third : More optimization on sorting data
Confidential
● Step 2 :
○ Search for locations in a specific area
■ Everytime you move / zoom
Talk : map optimizations !
Third : More optimization on sorting data
Confidential
● Why is it faster ?
○ For loop only done once at initialisation
○ Search then (user interactions)
■ O(h) (h = max depth of node in the tree)
Talk : map optimizations !
h=0
h=1
h=2
h=3
Links / Resources
Confidential
● Code :
○ Open Source library for clustering with Google Map iOS SDK
○ Display Large Amount of Data on iOS Map
● MapKit Apple Sample
○ Apple Sample clustering
● Other
○ QuadTree Interactive Explanations
Talk : map optimizations !
Have fun with maps ;)
Thanks !
ConfidentialTalk : map optimizations !
Proprietary and
confidential
@NurunMTL
CURIOUS TO KNOW MORE
Follow us
Nurun.com/NurunMontreal

Contenu connexe

Tendances

JavaScript 3D House
JavaScript 3D HouseJavaScript 3D House
JavaScript 3D Housecarey2101a
 
Web Mapping with Drupal
Web Mapping with DrupalWeb Mapping with Drupal
Web Mapping with DrupalRanel Padon
 
Easily Create Maps in Drupal with Leaflet
Easily Create Maps in Drupal with LeafletEasily Create Maps in Drupal with Leaflet
Easily Create Maps in Drupal with LeafletAmber Matz
 
Google earth power point
Google earth power pointGoogle earth power point
Google earth power pointLisa Campbell
 
Google Earth Slides
Google Earth SlidesGoogle Earth Slides
Google Earth SlidesCMDMcDoogle
 
Navigating 3D information space with 6 degree of freedom devices
Navigating 3D information space with 6 degree of freedom devicesNavigating 3D information space with 6 degree of freedom devices
Navigating 3D information space with 6 degree of freedom devicesKai-Tzu Lu
 
Google Earth Presentation
Google Earth PresentationGoogle Earth Presentation
Google Earth Presentationabc
 
Google Earth Social Studies
Google Earth Social StudiesGoogle Earth Social Studies
Google Earth Social Studiesdamopsu
 
From open geographical data to tangible maps: improving the accessibility of ...
From open geographical data to tangible maps: improving the accessibility of ...From open geographical data to tangible maps: improving the accessibility of ...
From open geographical data to tangible maps: improving the accessibility of ...GeoVIS'15 Workshop
 
Location awareness in MeeGo
Location awareness in MeeGoLocation awareness in MeeGo
Location awareness in MeeGoHenri Bergius
 
ToPa 3D - Services
ToPa 3D - ServicesToPa 3D - Services
ToPa 3D - ServicesToPa 3D
 

Tendances (17)

JavaScript 3D House
JavaScript 3D HouseJavaScript 3D House
JavaScript 3D House
 
Web Mapping with Drupal
Web Mapping with DrupalWeb Mapping with Drupal
Web Mapping with Drupal
 
Easily Create Maps in Drupal with Leaflet
Easily Create Maps in Drupal with LeafletEasily Create Maps in Drupal with Leaflet
Easily Create Maps in Drupal with Leaflet
 
Google earth power point
Google earth power pointGoogle earth power point
Google earth power point
 
Google Earth Slides
Google Earth SlidesGoogle Earth Slides
Google Earth Slides
 
Navigating 3D information space with 6 degree of freedom devices
Navigating 3D information space with 6 degree of freedom devicesNavigating 3D information space with 6 degree of freedom devices
Navigating 3D information space with 6 degree of freedom devices
 
Google Earth Presentation
Google Earth PresentationGoogle Earth Presentation
Google Earth Presentation
 
Maps, News and Geography
Maps, News and GeographyMaps, News and Geography
Maps, News and Geography
 
Google Earth Social Studies
Google Earth Social StudiesGoogle Earth Social Studies
Google Earth Social Studies
 
Google Next
Google NextGoogle Next
Google Next
 
Google Earth Basics
Google Earth BasicsGoogle Earth Basics
Google Earth Basics
 
From open geographical data to tangible maps: improving the accessibility of ...
From open geographical data to tangible maps: improving the accessibility of ...From open geographical data to tangible maps: improving the accessibility of ...
From open geographical data to tangible maps: improving the accessibility of ...
 
Navigation in React Native
Navigation in React NativeNavigation in React Native
Navigation in React Native
 
SAMR
SAMRSAMR
SAMR
 
MapInfo Discover 3D: From 2D to 3D
MapInfo Discover 3D: From 2D to 3DMapInfo Discover 3D: From 2D to 3D
MapInfo Discover 3D: From 2D to 3D
 
Location awareness in MeeGo
Location awareness in MeeGoLocation awareness in MeeGo
Location awareness in MeeGo
 
ToPa 3D - Services
ToPa 3D - ServicesToPa 3D - Services
ToPa 3D - Services
 

En vedette

En vedette (8)

Taller livetrackingandroid
Taller livetrackingandroidTaller livetrackingandroid
Taller livetrackingandroid
 
Un atlas en la palma de la mano
Un atlas en la palma de la manoUn atlas en la palma de la mano
Un atlas en la palma de la mano
 
Taller mapsforge
Taller mapsforgeTaller mapsforge
Taller mapsforge
 
Calculator 5
Calculator 5Calculator 5
Calculator 5
 
[Android devcamp] Android Bootcamp – 2012
[Android devcamp] Android Bootcamp – 2012[Android devcamp] Android Bootcamp – 2012
[Android devcamp] Android Bootcamp – 2012
 
Calculator 1
Calculator 1Calculator 1
Calculator 1
 
OpenStreetMap en Android
OpenStreetMap en AndroidOpenStreetMap en Android
OpenStreetMap en Android
 
Live code manual Español
Live code manual EspañolLive code manual Español
Live code manual Español
 

Similaire à Optimize map renderer !

Maps and Apps
Maps and AppsMaps and Apps
Maps and AppsAddy Pope
 
5 Ways to Improve Your LiDAR Workflows
5 Ways to Improve Your LiDAR Workflows5 Ways to Improve Your LiDAR Workflows
5 Ways to Improve Your LiDAR WorkflowsSafe Software
 
5 Ways to Optimize Your LiDAR Data
5 Ways to Optimize Your LiDAR Data5 Ways to Optimize Your LiDAR Data
5 Ways to Optimize Your LiDAR DataSafe Software
 
MapInfo Professional 12.5 and Discover3D 2014 - A brief overview
MapInfo Professional 12.5 and Discover3D 2014 - A brief overviewMapInfo Professional 12.5 and Discover3D 2014 - A brief overview
MapInfo Professional 12.5 and Discover3D 2014 - A brief overviewPrakher Hajela Saxena
 
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoDataOpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoDataHarry Wood
 
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoDataOpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoDatagssg
 
Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...
Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...
Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...Luiz Henrique Zambom Santana
 
Preparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability Extension
Preparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability ExtensionPreparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability Extension
Preparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability ExtensionSafe Software
 
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIMArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIMSafe Software
 
Ceph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud worldCeph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud worldSage Weil
 
Processing large point clouds
Processing large point cloudsProcessing large point clouds
Processing large point cloudsMathieu Carette
 
Using python to analyze spatial data
Using python to analyze spatial dataUsing python to analyze spatial data
Using python to analyze spatial dataKudos S.A.S
 
Desktop Softwares for Unmanned Aerial Systems(UAS))
Desktop Softwares for Unmanned Aerial Systems(UAS))Desktop Softwares for Unmanned Aerial Systems(UAS))
Desktop Softwares for Unmanned Aerial Systems(UAS))Kamal Shahi
 
DOC ROI Presentation 2pm NZ3 - Duane Wilkins
DOC ROI Presentation 2pm NZ3 - Duane WilkinsDOC ROI Presentation 2pm NZ3 - Duane Wilkins
DOC ROI Presentation 2pm NZ3 - Duane WilkinsDuane Wilkins
 
FieldtripGB - data capture simplified
FieldtripGB - data capture simplifiedFieldtripGB - data capture simplified
FieldtripGB - data capture simplifiedAddy Pope
 
Fieldtrip GB: a bespoke data capture app to support field trips - Addy Pope
Fieldtrip GB: a bespoke data capture app to support field trips - Addy PopeFieldtrip GB: a bespoke data capture app to support field trips - Addy Pope
Fieldtrip GB: a bespoke data capture app to support field trips - Addy PopeEDINA, University of Edinburgh
 
brandonbal-afm_tech
brandonbal-afm_techbrandonbal-afm_tech
brandonbal-afm_techBrandon Bal
 

Similaire à Optimize map renderer ! (20)

Maps and Apps
Maps and AppsMaps and Apps
Maps and Apps
 
5 Ways to Improve Your LiDAR Workflows
5 Ways to Improve Your LiDAR Workflows5 Ways to Improve Your LiDAR Workflows
5 Ways to Improve Your LiDAR Workflows
 
5 Ways to Optimize Your LiDAR Data
5 Ways to Optimize Your LiDAR Data5 Ways to Optimize Your LiDAR Data
5 Ways to Optimize Your LiDAR Data
 
MapInfo Professional 12.5 and Discover3D 2014 - A brief overview
MapInfo Professional 12.5 and Discover3D 2014 - A brief overviewMapInfo Professional 12.5 and Discover3D 2014 - A brief overview
MapInfo Professional 12.5 and Discover3D 2014 - A brief overview
 
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoDataOpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
 
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoDataOpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
 
Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...
Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...
Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...
 
Preparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability Extension
Preparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability ExtensionPreparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability Extension
Preparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability Extension
 
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIMArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
 
Ceph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud worldCeph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud world
 
Processing large point clouds
Processing large point cloudsProcessing large point clouds
Processing large point clouds
 
Using python to analyze spatial data
Using python to analyze spatial dataUsing python to analyze spatial data
Using python to analyze spatial data
 
Desktop Softwares for Unmanned Aerial Systems(UAS))
Desktop Softwares for Unmanned Aerial Systems(UAS))Desktop Softwares for Unmanned Aerial Systems(UAS))
Desktop Softwares for Unmanned Aerial Systems(UAS))
 
DOC ROI Presentation 2pm NZ3 - Duane Wilkins
DOC ROI Presentation 2pm NZ3 - Duane WilkinsDOC ROI Presentation 2pm NZ3 - Duane Wilkins
DOC ROI Presentation 2pm NZ3 - Duane Wilkins
 
Cloud accounting software uk
Cloud accounting software ukCloud accounting software uk
Cloud accounting software uk
 
Geo data analytics
Geo data analyticsGeo data analytics
Geo data analytics
 
FieldtripGB - data capture simplified
FieldtripGB - data capture simplifiedFieldtripGB - data capture simplified
FieldtripGB - data capture simplified
 
Fieldtrip GB: a bespoke data capture app to support field trips - Addy Pope
Fieldtrip GB: a bespoke data capture app to support field trips - Addy PopeFieldtrip GB: a bespoke data capture app to support field trips - Addy Pope
Fieldtrip GB: a bespoke data capture app to support field trips - Addy Pope
 
brandonbal-afm_tech
brandonbal-afm_techbrandonbal-afm_tech
brandonbal-afm_tech
 
HDF-EOS Data Product Developer's Guide
HDF-EOS Data Product Developer's GuideHDF-EOS Data Product Developer's Guide
HDF-EOS Data Product Developer's Guide
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
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
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 

Dernier (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
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
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

Optimize map renderer !

  • 1. Proprietary and confidential Aurore Jard Mobile Lead Developer “Design for tomorrow” “Deconstruct what you know” “Simplify” “Love what you did” @AuroreJard
  • 2. April 12, 2016 Don’t lose your way optimizing maps rendering ! Talk : map optimizations ! Confidential
  • 3. Requirements Confidential ● Display ○ Data as locality ○ Zone on map ● User feature ○ Move ○ Zoom ● Access offline Talk : map optimizations !
  • 4. SDK Fight Confidential ● Map ○ https://developer.apple.com/maps/ ● Google ○ https://developers.google.com/maps/documentation/ios-sdk/ Talk : map optimizations ! Google Map VS Apple Maps
  • 5. SDK Fight Confidential ● Official documentation ○ Maps ○ Google iOS SDK ● Application also available on android : same experience on both ● Map more precise ● More possibilities Talk : map optimizations !
  • 6. First : easy steps Confidential ● Get Data ● Display data Talk : map optimizations !
  • 7. What about really a lot of data ? ConfidentialTalk : map optimizations !
  • 8. First impressions Confidential ● UI/UX remarks ○ Users are humans ! ■ Adapt data according to zoom level ■ Zone, details : only on high level of zoom ■ Regroup data that eye can dissociate ● Performances ○ Avoid treating data you don’t see... Talk : map optimizations !
  • 9. First : clustering ConfidentialTalk : map optimizations !
  • 10. First : clustering Confidential ● Regroup close data ○ easier user reading ○ Indication on number of location in one group ● Clustering possibilities : ○ Grid based clustering ○ Distance based clustering Talk : map optimizations !
  • 11. Easy optimizations : Confidential ● Grid based clustering Talk : map optimizations !
  • 12. Easy optimizations : Confidential ● Distance-based Clustering Talk : map optimizations !
  • 13. Second : don’t treat invisible data Confidential ● Limitation : ○ Zoom level Talk : map optimizations !
  • 14. Third : More optimization on sorting data Confidential ● Why does it take so long ? ● Iterate over each location : 0(n) ● Every move from the camera (move, zoom) need to iterate again Talk : map optimizations ! for location in locations { if visibleBounds.containsCoordinate(location.position) { // item should be display } else { // ignore this location }
  • 15. Third : More optimization on sorting data Confidential ● Reduce complexity by using QuadTree object & algorithms ! ● Objective : subdivision of 2D space ● QuadTree = Tree with 4 leafs Talk : map optimizations !
  • 16. Third : More optimization on sorting data Confidential ● Step 1 : ○ Build the tree from your initial data ○ Keep iteration on all locations on that process ■ o(n) but only once Talk : map optimizations !
  • 17. Third : More optimization on sorting data Confidential ● Step 2 : ○ Search for locations in a specific area ■ Everytime you move / zoom Talk : map optimizations !
  • 18. Third : More optimization on sorting data Confidential ● Why is it faster ? ○ For loop only done once at initialisation ○ Search then (user interactions) ■ O(h) (h = max depth of node in the tree) Talk : map optimizations ! h=0 h=1 h=2 h=3
  • 19. Links / Resources Confidential ● Code : ○ Open Source library for clustering with Google Map iOS SDK ○ Display Large Amount of Data on iOS Map ● MapKit Apple Sample ○ Apple Sample clustering ● Other ○ QuadTree Interactive Explanations Talk : map optimizations !
  • 20. Have fun with maps ;) Thanks ! ConfidentialTalk : map optimizations !
  • 21. Proprietary and confidential @NurunMTL CURIOUS TO KNOW MORE Follow us Nurun.com/NurunMontreal

Notes de l'éditeur

  1. 16,30
  2. 16,30