SlideShare a Scribd company logo
1 of 23
Download to read offline
Create Your Own Google-like Maps
Michael Baker
Senior Consultant




Thursday, September 2, 2010
Why Build a Google-like Mapping Application?

    Have you ever:
       –    Wanted your mapping application to have the same navigation as Google Maps?
       –    Wanted the same speed and performance as Google Maps?
       –    Wanted to see your vector data in Google Maps?
       –    Wanted to see your imagery in Google Maps?




Thursday, September 2, 2010                                                               2
History of Web Mapping: Pre - 2003



  History of Maps on the Web (2003)
                                                    The Natio nal A tlas o f
                                                                                          TerraServer USA
                                                          Canada

                                                                                                            Flash P layer 5
                                                              Java 1.0

       B irth o f the WWW                                                                                            SVG 1.0
                                                                         M apQuest
               First web bro wser                                                         A uto desk's M apGuide


  1989             1991                1993             1995                   1997           1999              2001              2003
                                            Xero x P A RC M apserver

                                                                                                            ESRI's A rcIM S 3.0
                                                                         Intergraph's Geo M edia
                                            HTM L 1.0
                                    HTTP 1.0                                   WebM ap 1 .0

                                                    Netscape bro wser
                                                                                          ESRI's M ap Objects
                                                        (M o saic)




Thursday, September 2, 2010                                                                                                              3
History of Web Mapping: 2003 – Present


Maps on the Web 2003 to Present
                                                                                            SVG 1.2
                                                               Yaho o ! M aps A P I

                                                               Go o gle M aps

                                                               Go o gle M aps A P I




2003                          2004                          2005                         2006         2007
                                                               Firefo x 1 (native SVG)
                                                                         .5
                                                               Go o gle Earth

                                                               Windo ws Live Lo cal



                                 Term Web 2.0 intro duced




Thursday, September 2, 2010                                                                                  4
How Does Google Maps Work?




Thursday, September 2, 2010                                5
Development History of Google Maps

    Google Maps first started as a software application developed by Lars and Jens Rasmussen
     for the company Where2.
    In October 2004 the company was acquired by Google where it transformed into the web
     application Google Maps.
    The application was first announced on the Google Blog on February 8, 2005.
    It originally only supported users of Internet Explorer and Mozilla web browsers, but support
     for Opera and Safari was added on February 25, 2005.
    Currently Internet Explorer 6.0+, Firefox 2.0+, Safari 3.1+, and Google Chrome are supported.
    It was in beta for six months before becoming part of Google Local on October 6, 2005.




Thursday, September 2, 2010                                                                          6
Performance - It Is All About the Cache!

    The map within Google Maps consist as a set of tiles
    These tiles cover the entire earth at each zoom level
    Tiles exist for each map type:
       –    Street map
       –    Satellite map
       –    Hybrid map
       –    Physical map




Thursday, September 2, 2010                                  7
How Much Cache?

    Tiles do not cover all regions at all zoom levels
    Different areas of the map may contain tiles at varying resolutions and therefore varying zoom
     levels
    Tile coverage of any map type varies based on location
       –    For example, many areas of the Pacific Ocean do not appear at high zoom levels, while Honolulu may
            have very detailed maps




Thursday, September 2, 2010                                                                                      8
Zoom Levels

    At the lowest zoom level (0), one tile represents the entire earth
    Each succeeding zoom level divides the map into 4N tiles, where N refers to the zoom level
       –    Zoom level 1, divides the world up into a 2x2 grid for a total of 4 tiles
       –    Zoom level 2, divides up the world into a 4x4 grid for a total of 16 tiles




Thursday, September 2, 2010                                                                       9
Spherical Mercator

    The coordinates in Google Maps and which are presented to the users is Latitude/Longitude
     in WGS84 Datum
    For tile publishing, a Mercator projection is used.
    Why Mercator?
       –    Mercator projection significantly distorts scale and area
       –    It has two important properties:
                 It is a conformal projection
                       – Preserves the shape of relatively small objects
                 It is a cylindrical projection
                       – North and south are always straight up and down, and west and east are always straight left and
                           right
    Since the Mercator projection goes to infinity at the poles, it does not actually show the entire
     world.
       –    Maximum latitude is approximately 85.05 degrees




Thursday, September 2, 2010                                                                                                10
Addressing Tiles

    There are three coordinate systems that Google uses:
       –    Pixel coordinate referencing a point on an image tile
       –    Tile coordinates referencing a tile within a tile layer
       –    The zoom layer, which defines the total number of tiles
    This is often referred to as Google XYZ




Thursday, September 2, 2010                                           11
Why Would You Not Use Google?

    Why as a website developer, who controls all aspects of your site, would you allow a big alien
     blob on your site?
       –    You accept whatever colors, fonts and map layers Google chooses
       –    You do add some custom markers and overlays but fundamentally, the map itself is out of your hands
    Google’s choices about what to display on the map may not work for your application
    You are limited to Google API’s terms and conditions
    You are limited to what Google wants to implement
    You so have much invested in your data




Thursday, September 2, 2010                                                                                      12
If Not Google Maps, What?

    The key is to understand the map
     stack
    Modern online mapping applications
                                          Browser UI
     adhere to this architecture
                                           HTTP Server
    There are four major components of
     the map stack:
       –    Browser UI
       –    Tile Cache
                                          Tile Cache
       –    Map Server
       –    Geospatial data                 Tile Server




                                          Map Server


                                          Geospatial
                                            Data
                                          Application Server



Thursday, September 2, 2010                                    13
Tile Cache

    A tile cache is a server that sits between the browser and the map server.
    It checks to see if a requested map tile is already generated so it can be served up quickly.
    If the map tile is not already generated, the tile cache gets it from the map server and saves it
     for future requests.
    The tile cache may be considered as one half of a layer in the map stack.
    It is not technically required.




Thursday, September 2, 2010                                                                              14
Map Server

    A map server is an application that takes geospatial data as input and renders graphical
     output.
    The map server allows the user creative control of the final map.
    Map servers can be exposed directly to the internet or can be hidden from direct access by
     the tile cache layer in the stack.




Thursday, September 2, 2010                                                                       15
Geospatial Data

    The building blocks of any mapping application are the databases that define the points, lines,
     and polygons that represent real-world places, roads, and areas.




Thursday, September 2, 2010                                                                        16
How Do I Create a Google Maps-like Application




Thursday, September 2, 2010                                         17
Performance – Need Cache

    Map caching is a very effective way to make maps run faster.
    When you create a map cache, the server draws the entire map at several different scales,
     and stores copies of the map images.
    The server can then distribute these images whenever someone asks for a map.




Thursday, September 2, 2010                                                                      18
Tile Caching Review

    Advantages
       –    Performance
       –    Quality
                 Performance isn’t affected by how much detail is on the map
       –    Industry standard
                 Tile caching is becoming an industry standard
    Disadvantages
       –    Takes time to generate the tiles
    When should you cache?
       –    If the data you see on the map needs to be live, with no time delay acceptable, then caching is not
            appropriate.
    Although the cache represent pictures of the data, you can still run operations on your map
     and your data.
    These operations will query the server and return the results.
    Results will be drawn on top of the cached image.




Thursday, September 2, 2010                                                                                       19
Thinking about Cache

    Need to think about the layers of the map
    Design your map for the scale to be viewed.
    Utilize the style properties at each scale.
    Choose your largest scale carefully. This will show the most detail and take the longest to
     process.




Thursday, September 2, 2010                                                                        20
Utilize Open Source Tools

    Remember the map stack
       –    Browser UI
       –    Tile Cache
                                          Browser UI
       –    Web Server
       –    Geospatial Data                HTTP Server

    There are a couple of commercial /
     open source tile caching solutions
                                          Tile Cache

                                            Tile Server




                                          Web Server


                                          Geospatial
                                            Data
                                          Application Server



Thursday, September 2, 2010                                    21
Summary

    Google Maps is a great application. However, it has limitations.
    Organizations have spent a tremendous amount of money collecting and maintaining their
     data.
    It is not difficult to create your own Google-like mapping application.
    The key is to understand the elements of the map stack.
    Remember scale and layer definitions.




Thursday, September 2, 2010                                                                   22
Questions?




Thursday, September 2, 2010                23

More Related Content

Similar to Hawaii Pacific GIS Conference 2012: Internet GIS - Create Your Own Google Like Maps

Marble Virtual Globe 1.6 Factsheet (English)
Marble Virtual Globe 1.6 Factsheet (English)Marble Virtual Globe 1.6 Factsheet (English)
Marble Virtual Globe 1.6 Factsheet (English)Marble Virtual Globe
 
Gisruk2013 addy edit2
Gisruk2013 addy edit2Gisruk2013 addy edit2
Gisruk2013 addy edit2Addy Pope
 
The Carbon Project - Spatial and Situational Awareness Conference
The Carbon Project - Spatial and Situational Awareness ConferenceThe Carbon Project - Spatial and Situational Awareness Conference
The Carbon Project - Spatial and Situational Awareness ConferenceCarbon Project
 
From a niche to a global user community: Open Source GIS and OSGeo
From a niche to a global user community: Open Source GIS and OSGeoFrom a niche to a global user community: Open Source GIS and OSGeo
From a niche to a global user community: Open Source GIS and OSGeoMarkus Neteler
 
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!mousebird
 
Open Source GIS and Modeling Tools
Open Source GIS and  Modeling ToolsOpen Source GIS and  Modeling Tools
Open Source GIS and Modeling ToolsJohn Doxaras
 
Neo4j Spatial - Backing a GIS with a true graph database
Neo4j Spatial - Backing a GIS with a true graph databaseNeo4j Spatial - Backing a GIS with a true graph database
Neo4j Spatial - Backing a GIS with a true graph databaseCraig Taverner
 
nogago distributed bulk rendering
nogago distributed bulk renderingnogago distributed bulk rendering
nogago distributed bulk renderingloffenauer
 
W3C Geolocation API - Making Websites Location-aware
W3C Geolocation API - Making Websites Location-awareW3C Geolocation API - Making Websites Location-aware
W3C Geolocation API - Making Websites Location-awareRyan Sarver
 
Geo Package and OWS Context at FOSS4G PDX
Geo Package and OWS Context at FOSS4G PDXGeo Package and OWS Context at FOSS4G PDX
Geo Package and OWS Context at FOSS4G PDXLuis Bermudez
 
Alejandro Villanueva - Google Inc.
Alejandro Villanueva - Google Inc.Alejandro Villanueva - Google Inc.
Alejandro Villanueva - Google Inc.Alejandro Corpeño
 
Google - Charla para CTOs
Google - Charla para CTOsGoogle - Charla para CTOs
Google - Charla para CTOsPalermo Valley
 
NCGIC The Geospatial Revolution
NCGIC The Geospatial RevolutionNCGIC The Geospatial Revolution
NCGIC The Geospatial RevolutionPeter Batty
 
MapServer Project Status 2013
MapServer Project Status 2013MapServer Project Status 2013
MapServer Project Status 2013Jeff McKenna
 
Google html5 Tutorial
Google html5 TutorialGoogle html5 Tutorial
Google html5 Tutorialjobfan
 

Similar to Hawaii Pacific GIS Conference 2012: Internet GIS - Create Your Own Google Like Maps (20)

Marble Virtual Globe 1.6 Factsheet (English)
Marble Virtual Globe 1.6 Factsheet (English)Marble Virtual Globe 1.6 Factsheet (English)
Marble Virtual Globe 1.6 Factsheet (English)
 
Gisruk2013 addy edit2
Gisruk2013 addy edit2Gisruk2013 addy edit2
Gisruk2013 addy edit2
 
The Carbon Project - Spatial and Situational Awareness Conference
The Carbon Project - Spatial and Situational Awareness ConferenceThe Carbon Project - Spatial and Situational Awareness Conference
The Carbon Project - Spatial and Situational Awareness Conference
 
From a niche to a global user community: Open Source GIS and OSGeo
From a niche to a global user community: Open Source GIS and OSGeoFrom a niche to a global user community: Open Source GIS and OSGeo
From a niche to a global user community: Open Source GIS and OSGeo
 
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
 
Open Source GIS and Modeling Tools
Open Source GIS and  Modeling ToolsOpen Source GIS and  Modeling Tools
Open Source GIS and Modeling Tools
 
Neo4j Spatial - Backing a GIS with a true graph database
Neo4j Spatial - Backing a GIS with a true graph databaseNeo4j Spatial - Backing a GIS with a true graph database
Neo4j Spatial - Backing a GIS with a true graph database
 
nogago distributed bulk rendering
nogago distributed bulk renderingnogago distributed bulk rendering
nogago distributed bulk rendering
 
Intergeo 2011
Intergeo 2011Intergeo 2011
Intergeo 2011
 
W3C Geolocation API - Making Websites Location-aware
W3C Geolocation API - Making Websites Location-awareW3C Geolocation API - Making Websites Location-aware
W3C Geolocation API - Making Websites Location-aware
 
hwtut
hwtuthwtut
hwtut
 
hwtut
hwtuthwtut
hwtut
 
Geo Package and OWS Context at FOSS4G PDX
Geo Package and OWS Context at FOSS4G PDXGeo Package and OWS Context at FOSS4G PDX
Geo Package and OWS Context at FOSS4G PDX
 
Alejandro Villanueva - Google Inc.
Alejandro Villanueva - Google Inc.Alejandro Villanueva - Google Inc.
Alejandro Villanueva - Google Inc.
 
Google - Charla para CTOs
Google - Charla para CTOsGoogle - Charla para CTOs
Google - Charla para CTOs
 
NCGIC The Geospatial Revolution
NCGIC The Geospatial RevolutionNCGIC The Geospatial Revolution
NCGIC The Geospatial Revolution
 
MapServer Project Status 2013
MapServer Project Status 2013MapServer Project Status 2013
MapServer Project Status 2013
 
Google html5 Tutorial
Google html5 TutorialGoogle html5 Tutorial
Google html5 Tutorial
 
Html5
Html5Html5
Html5
 
Grass
GrassGrass
Grass
 

More from Hawaii Geographic Information Coordinating Council

More from Hawaii Geographic Information Coordinating Council (20)

Taking 3D to the next Level with 3D Streaming Maps
Taking 3D to the next Level with 3D Streaming MapsTaking 3D to the next Level with 3D Streaming Maps
Taking 3D to the next Level with 3D Streaming Maps
 
US Army Real Estate Holdings in Hawaii
US Army Real Estate Holdings in HawaiiUS Army Real Estate Holdings in Hawaii
US Army Real Estate Holdings in Hawaii
 
NOAA's Coastal Change Analysis Program
NOAA's Coastal Change Analysis ProgramNOAA's Coastal Change Analysis Program
NOAA's Coastal Change Analysis Program
 
Hawaii and US Pacific Basin Orthoimagery Update
Hawaii and US Pacific Basin Orthoimagery UpdateHawaii and US Pacific Basin Orthoimagery Update
Hawaii and US Pacific Basin Orthoimagery Update
 
The ArcGIS Platform: Appyling Geography Everywhere
The ArcGIS Platform: Appyling Geography EverywhereThe ArcGIS Platform: Appyling Geography Everywhere
The ArcGIS Platform: Appyling Geography Everywhere
 
Web based Data and Tools for Coastal Management
Web based Data and Tools for Coastal ManagementWeb based Data and Tools for Coastal Management
Web based Data and Tools for Coastal Management
 
Ecosystem Vulnerability and Cumulative Impacts on th eOceans of hawaii
Ecosystem Vulnerability and Cumulative Impacts on th eOceans of hawaiiEcosystem Vulnerability and Cumulative Impacts on th eOceans of hawaii
Ecosystem Vulnerability and Cumulative Impacts on th eOceans of hawaii
 
Using GIS to Connect Communities
Using GIS to Connect CommunitiesUsing GIS to Connect Communities
Using GIS to Connect Communities
 
Assessing Reef Health Using a Low Altitude Sensing Platform
Assessing Reef Health Using a Low Altitude Sensing PlatformAssessing Reef Health Using a Low Altitude Sensing Platform
Assessing Reef Health Using a Low Altitude Sensing Platform
 
Hawaii DOT Monitoring Stations Versus National Performance Measurement Resear...
Hawaii DOT Monitoring Stations Versus National Performance Measurement Resear...Hawaii DOT Monitoring Stations Versus National Performance Measurement Resear...
Hawaii DOT Monitoring Stations Versus National Performance Measurement Resear...
 
Use of GIS Technology to Inform Planning Efforts Through Visualization of Com...
Use of GIS Technology to Inform Planning Efforts Through Visualization of Com...Use of GIS Technology to Inform Planning Efforts Through Visualization of Com...
Use of GIS Technology to Inform Planning Efforts Through Visualization of Com...
 
Expanding GIS Access to Technical and Non-Technical Users to Enhance Project ...
Expanding GIS Access to Technical and Non-Technical Users to Enhance Project ...Expanding GIS Access to Technical and Non-Technical Users to Enhance Project ...
Expanding GIS Access to Technical and Non-Technical Users to Enhance Project ...
 
STEMworks: K12 Education in Hawaii in Science Technology Engineering and Math
STEMworks: K12 Education in Hawaii in Science Technology Engineering and MathSTEMworks: K12 Education in Hawaii in Science Technology Engineering and Math
STEMworks: K12 Education in Hawaii in Science Technology Engineering and Math
 
Planning for Technological Change
Planning for Technological ChangePlanning for Technological Change
Planning for Technological Change
 
Now & the Future of geodesy in Hawaii for the GIS Users
Now & the Future of geodesy in Hawaii for the GIS UsersNow & the Future of geodesy in Hawaii for the GIS Users
Now & the Future of geodesy in Hawaii for the GIS Users
 
314 woods- uav mapping history
314   woods- uav mapping history314   woods- uav mapping history
314 woods- uav mapping history
 
314 smith 2015 higicc-final
314  smith 2015 higicc-final314  smith 2015 higicc-final
314 smith 2015 higicc-final
 
Real Time Corrections for GNSS Receivers
Real Time Corrections for GNSS ReceiversReal Time Corrections for GNSS Receivers
Real Time Corrections for GNSS Receivers
 
Honolulu Board of Water Supply: Enterprise GIS
Honolulu Board of Water Supply: Enterprise GISHonolulu Board of Water Supply: Enterprise GIS
Honolulu Board of Water Supply: Enterprise GIS
 
State of Hawaii Digital Leveling Project
State of Hawaii Digital Leveling ProjectState of Hawaii Digital Leveling Project
State of Hawaii Digital Leveling Project
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

Hawaii Pacific GIS Conference 2012: Internet GIS - Create Your Own Google Like Maps

  • 1. Create Your Own Google-like Maps Michael Baker Senior Consultant Thursday, September 2, 2010
  • 2. Why Build a Google-like Mapping Application?  Have you ever: – Wanted your mapping application to have the same navigation as Google Maps? – Wanted the same speed and performance as Google Maps? – Wanted to see your vector data in Google Maps? – Wanted to see your imagery in Google Maps? Thursday, September 2, 2010 2
  • 3. History of Web Mapping: Pre - 2003 History of Maps on the Web (2003) The Natio nal A tlas o f TerraServer USA Canada Flash P layer 5 Java 1.0 B irth o f the WWW SVG 1.0 M apQuest First web bro wser A uto desk's M apGuide 1989 1991 1993 1995 1997 1999 2001 2003 Xero x P A RC M apserver ESRI's A rcIM S 3.0 Intergraph's Geo M edia HTM L 1.0 HTTP 1.0 WebM ap 1 .0 Netscape bro wser ESRI's M ap Objects (M o saic) Thursday, September 2, 2010 3
  • 4. History of Web Mapping: 2003 – Present Maps on the Web 2003 to Present SVG 1.2 Yaho o ! M aps A P I Go o gle M aps Go o gle M aps A P I 2003 2004 2005 2006 2007 Firefo x 1 (native SVG) .5 Go o gle Earth Windo ws Live Lo cal Term Web 2.0 intro duced Thursday, September 2, 2010 4
  • 5. How Does Google Maps Work? Thursday, September 2, 2010 5
  • 6. Development History of Google Maps  Google Maps first started as a software application developed by Lars and Jens Rasmussen for the company Where2.  In October 2004 the company was acquired by Google where it transformed into the web application Google Maps.  The application was first announced on the Google Blog on February 8, 2005.  It originally only supported users of Internet Explorer and Mozilla web browsers, but support for Opera and Safari was added on February 25, 2005.  Currently Internet Explorer 6.0+, Firefox 2.0+, Safari 3.1+, and Google Chrome are supported.  It was in beta for six months before becoming part of Google Local on October 6, 2005. Thursday, September 2, 2010 6
  • 7. Performance - It Is All About the Cache!  The map within Google Maps consist as a set of tiles  These tiles cover the entire earth at each zoom level  Tiles exist for each map type: – Street map – Satellite map – Hybrid map – Physical map Thursday, September 2, 2010 7
  • 8. How Much Cache?  Tiles do not cover all regions at all zoom levels  Different areas of the map may contain tiles at varying resolutions and therefore varying zoom levels  Tile coverage of any map type varies based on location – For example, many areas of the Pacific Ocean do not appear at high zoom levels, while Honolulu may have very detailed maps Thursday, September 2, 2010 8
  • 9. Zoom Levels  At the lowest zoom level (0), one tile represents the entire earth  Each succeeding zoom level divides the map into 4N tiles, where N refers to the zoom level – Zoom level 1, divides the world up into a 2x2 grid for a total of 4 tiles – Zoom level 2, divides up the world into a 4x4 grid for a total of 16 tiles Thursday, September 2, 2010 9
  • 10. Spherical Mercator  The coordinates in Google Maps and which are presented to the users is Latitude/Longitude in WGS84 Datum  For tile publishing, a Mercator projection is used.  Why Mercator? – Mercator projection significantly distorts scale and area – It has two important properties:  It is a conformal projection – Preserves the shape of relatively small objects  It is a cylindrical projection – North and south are always straight up and down, and west and east are always straight left and right  Since the Mercator projection goes to infinity at the poles, it does not actually show the entire world. – Maximum latitude is approximately 85.05 degrees Thursday, September 2, 2010 10
  • 11. Addressing Tiles  There are three coordinate systems that Google uses: – Pixel coordinate referencing a point on an image tile – Tile coordinates referencing a tile within a tile layer – The zoom layer, which defines the total number of tiles  This is often referred to as Google XYZ Thursday, September 2, 2010 11
  • 12. Why Would You Not Use Google?  Why as a website developer, who controls all aspects of your site, would you allow a big alien blob on your site? – You accept whatever colors, fonts and map layers Google chooses – You do add some custom markers and overlays but fundamentally, the map itself is out of your hands  Google’s choices about what to display on the map may not work for your application  You are limited to Google API’s terms and conditions  You are limited to what Google wants to implement  You so have much invested in your data Thursday, September 2, 2010 12
  • 13. If Not Google Maps, What?  The key is to understand the map stack  Modern online mapping applications Browser UI adhere to this architecture HTTP Server  There are four major components of the map stack: – Browser UI – Tile Cache Tile Cache – Map Server – Geospatial data Tile Server Map Server Geospatial Data Application Server Thursday, September 2, 2010 13
  • 14. Tile Cache  A tile cache is a server that sits between the browser and the map server.  It checks to see if a requested map tile is already generated so it can be served up quickly.  If the map tile is not already generated, the tile cache gets it from the map server and saves it for future requests.  The tile cache may be considered as one half of a layer in the map stack.  It is not technically required. Thursday, September 2, 2010 14
  • 15. Map Server  A map server is an application that takes geospatial data as input and renders graphical output.  The map server allows the user creative control of the final map.  Map servers can be exposed directly to the internet or can be hidden from direct access by the tile cache layer in the stack. Thursday, September 2, 2010 15
  • 16. Geospatial Data  The building blocks of any mapping application are the databases that define the points, lines, and polygons that represent real-world places, roads, and areas. Thursday, September 2, 2010 16
  • 17. How Do I Create a Google Maps-like Application Thursday, September 2, 2010 17
  • 18. Performance – Need Cache  Map caching is a very effective way to make maps run faster.  When you create a map cache, the server draws the entire map at several different scales, and stores copies of the map images.  The server can then distribute these images whenever someone asks for a map. Thursday, September 2, 2010 18
  • 19. Tile Caching Review  Advantages – Performance – Quality  Performance isn’t affected by how much detail is on the map – Industry standard  Tile caching is becoming an industry standard  Disadvantages – Takes time to generate the tiles  When should you cache? – If the data you see on the map needs to be live, with no time delay acceptable, then caching is not appropriate.  Although the cache represent pictures of the data, you can still run operations on your map and your data.  These operations will query the server and return the results.  Results will be drawn on top of the cached image. Thursday, September 2, 2010 19
  • 20. Thinking about Cache  Need to think about the layers of the map  Design your map for the scale to be viewed.  Utilize the style properties at each scale.  Choose your largest scale carefully. This will show the most detail and take the longest to process. Thursday, September 2, 2010 20
  • 21. Utilize Open Source Tools  Remember the map stack – Browser UI – Tile Cache Browser UI – Web Server – Geospatial Data HTTP Server  There are a couple of commercial / open source tile caching solutions Tile Cache Tile Server Web Server Geospatial Data Application Server Thursday, September 2, 2010 21
  • 22. Summary  Google Maps is a great application. However, it has limitations.  Organizations have spent a tremendous amount of money collecting and maintaining their data.  It is not difficult to create your own Google-like mapping application.  The key is to understand the elements of the map stack.  Remember scale and layer definitions. Thursday, September 2, 2010 22