SlideShare une entreprise Scribd logo
1  sur  40
Mixing It Up  with OpenLayers, ArcGIS Server  and JavaScript Widgets Allan Glen,  David Youngerman City and County of Denver
Let’s say you’re running your GIS on a vendor platform… http://www.sxc.hu/photo/1360623
Desktop Cloud Server SOAP REST etc.. Mobile Android Web iOS Windows Phone Silverlight API JavaScript API Flex  API http://www.sxc.hu/photo/375836
..but you want to mix and match some pieces. open source? http://www.sxc.hu/photo/1056131
It wasn’t long ago… http://www.sxc.hu/photo/374039
…that it was really hard to connect to proprietary GIS systems. Based on http://www.sxc.hu/photo/941284
…but times have changed.(mostly) Based on http://www.sxc.hu/photo/1223568
Google Trends: REST API Source: http://www.google.com/trends?q=rest+api
Google Trends: XML vs. JSON http://blog.programmableweb.com/2010/12/03/json-continues-its-winning-streak-over-xml/ Source: http://www.google.com/trends?q=xml,json
Google Trends: jQuery Source: http://www.google.com/trends?q=jquery
ArcGIS Server REST API ,[object Object]
 Image Services
 Geometry/Feature Services
Geocoding
Geoprocessing
 Formats: json, xml, image, kml, wms (wfs/wcs)…,[object Object]
..that could easily be inserted into existing pages. HTMLsnippet http://www.sxc.hu/photo/1281812
A Flash widget
An IFRAME widget
A JavaScript widget (the technique we are using)
What we wanted to avoid… Main Website “GIS Map Viewer” http://www.sxc.hu/photo/1114801
Mapping  Apps as Widgets ,[object Object]
 Copy/paste deployment
 Interaction between  map and page
 Embed in external   websites,[object Object]
Why choose OpenLayers?
http://www.sxc.hu/photo/1100324
Debuggable http://getfirebug.com
Easy to modify http://www.sxc.hu/photo/480
# Custom OpenLayers build for Denver Maps [first] OpenLayers/SingleFile.js OpenLayers.js OpenLayers/BaseTypes.js OpenLayers/BaseTypes/Class.js OpenLayers/Util.js Rico/Corner.js [last] [include] # Controls OpenLayers/Control.js OpenLayers/Control/PanZoomBar.js OpenLayers/Control/Navigation.js OpenLayers/Control/Attribution.js OpenLayers/Control/Panel.js OpenLayers/Control/Button.js OpenLayers/Control/SelectFeature.js OpenLayers/Control/DragFeature.js # Layers OpenLayers/Layer.js OpenLayers/Layer/ArcGIS93Rest.js OpenLayers/Layer/Google.js OpenLayers/Layer/Google/v3.js # Filters OpenLayers/Filter.js OpenLayers/Filter/Comparison.js OpenLayers/Filter/Spatial.js # Rules OpenLayers/Rule.js Custom build system – use only what you need
Easy to bootstrap
Works well with the  ArcGIS Server REST API ,[object Object]
  Cached map services
  REST API
  Raw tiles (but not bundles)   Geometry (custom AgsJsAdapter.js)       http://trac.osgeo.org/openlayers/ticket/2748 Wrench icon from http://ipholio.deviantart.com
Broad Format Support ,[object Object]
 XYZ layers
OpenStreetMap (OSM)
 Bing, Google Maps

Contenu connexe

Tendances

Web Editing in ArcGIS Server
Web Editing in ArcGIS ServerWeb Editing in ArcGIS Server
Web Editing in ArcGIS ServerEsri
 
Building responsive web mobile mapping applications
Building responsive web mobile mapping applicationsBuilding responsive web mobile mapping applications
Building responsive web mobile mapping applicationsAllan Laframboise
 
Building ArcGIS Mobile Solutions in the Cloud
Building ArcGIS Mobile Solutions in the CloudBuilding ArcGIS Mobile Solutions in the Cloud
Building ArcGIS Mobile Solutions in the CloudAllan Laframboise
 
NDGISUC2017 - Introducing ArcGIS Pro
NDGISUC2017 - Introducing ArcGIS ProNDGISUC2017 - Introducing ArcGIS Pro
NDGISUC2017 - Introducing ArcGIS ProNorth Dakota GIS Hub
 
Virtual Earth And ESRI
Virtual Earth And ESRIVirtual Earth And ESRI
Virtual Earth And ESRITim Warr
 
Working with ArcGIS Online
Working with ArcGIS OnlineWorking with ArcGIS Online
Working with ArcGIS OnlineEsri
 
Blurring the lines - VGI in aid of Prof. GIS
Blurring the lines - VGI in aid of Prof. GISBlurring the lines - VGI in aid of Prof. GIS
Blurring the lines - VGI in aid of Prof. GISAndrew Zolnai
 
Style Editor - the map for everyone
Style Editor - the map for everyoneStyle Editor - the map for everyone
Style Editor - the map for everyoneVictoria Moshanova
 
Introduction to ArcGIS Developer Tools - Smart Development - Esri UK Annual C...
Introduction to ArcGIS Developer Tools - Smart Development - Esri UK Annual C...Introduction to ArcGIS Developer Tools - Smart Development - Esri UK Annual C...
Introduction to ArcGIS Developer Tools - Smart Development - Esri UK Annual C...Esri UK
 
Google Maps API
Google Maps APIGoogle Maps API
Google Maps APIhchen1
 
Child Abduction Response Team (CART): Delivering Rapid Community Response Usi...
Child Abduction Response Team (CART): Delivering Rapid Community Response Usi...Child Abduction Response Team (CART): Delivering Rapid Community Response Usi...
Child Abduction Response Team (CART): Delivering Rapid Community Response Usi...Safe Software
 
Building Web Apps with the Esri-Leaflet Plugin - Dubai DevSummit 2013
Building Web Apps with the Esri-Leaflet Plugin - Dubai DevSummit 2013Building Web Apps with the Esri-Leaflet Plugin - Dubai DevSummit 2013
Building Web Apps with the Esri-Leaflet Plugin - Dubai DevSummit 2013Aaron Parecki
 
Portal for ArcGIS
Portal for ArcGISPortal for ArcGIS
Portal for ArcGISEsri
 
GoogleVisualr - A Ruby library for Google Visualization API
GoogleVisualr - A Ruby library for Google Visualization APIGoogleVisualr - A Ruby library for Google Visualization API
GoogleVisualr - A Ruby library for Google Visualization APIWinston Teo
 
What's Coming At ArcGIS 10.1 - CSRA GIS User Group Meeting
What's Coming At ArcGIS 10.1 - CSRA GIS User Group MeetingWhat's Coming At ArcGIS 10.1 - CSRA GIS User Group Meeting
What's Coming At ArcGIS 10.1 - CSRA GIS User Group MeetingJim Tochterman
 

Tendances (20)

Esri Map App Builders
Esri Map App BuildersEsri Map App Builders
Esri Map App Builders
 
Web Editing in ArcGIS Server
Web Editing in ArcGIS ServerWeb Editing in ArcGIS Server
Web Editing in ArcGIS Server
 
Building responsive web mobile mapping applications
Building responsive web mobile mapping applicationsBuilding responsive web mobile mapping applications
Building responsive web mobile mapping applications
 
Building ArcGIS Mobile Solutions in the Cloud
Building ArcGIS Mobile Solutions in the CloudBuilding ArcGIS Mobile Solutions in the Cloud
Building ArcGIS Mobile Solutions in the Cloud
 
NDGISUC2017 - Introducing ArcGIS Pro
NDGISUC2017 - Introducing ArcGIS ProNDGISUC2017 - Introducing ArcGIS Pro
NDGISUC2017 - Introducing ArcGIS Pro
 
Virtual Earth And ESRI
Virtual Earth And ESRIVirtual Earth And ESRI
Virtual Earth And ESRI
 
Working with ArcGIS Online
Working with ArcGIS OnlineWorking with ArcGIS Online
Working with ArcGIS Online
 
Blurring the lines - VGI in aid of Prof. GIS
Blurring the lines - VGI in aid of Prof. GISBlurring the lines - VGI in aid of Prof. GIS
Blurring the lines - VGI in aid of Prof. GIS
 
Style Editor - the map for everyone
Style Editor - the map for everyoneStyle Editor - the map for everyone
Style Editor - the map for everyone
 
Leveraging GIS with AutoCAD
Leveraging GIS with AutoCADLeveraging GIS with AutoCAD
Leveraging GIS with AutoCAD
 
Introduction to ArcGIS Developer Tools - Smart Development - Esri UK Annual C...
Introduction to ArcGIS Developer Tools - Smart Development - Esri UK Annual C...Introduction to ArcGIS Developer Tools - Smart Development - Esri UK Annual C...
Introduction to ArcGIS Developer Tools - Smart Development - Esri UK Annual C...
 
Make Android development easier
Make Android development easierMake Android development easier
Make Android development easier
 
Google Maps API
Google Maps APIGoogle Maps API
Google Maps API
 
ArcGIS Online Lunch and Learn
ArcGIS Online Lunch and LearnArcGIS Online Lunch and Learn
ArcGIS Online Lunch and Learn
 
Child Abduction Response Team (CART): Delivering Rapid Community Response Usi...
Child Abduction Response Team (CART): Delivering Rapid Community Response Usi...Child Abduction Response Team (CART): Delivering Rapid Community Response Usi...
Child Abduction Response Team (CART): Delivering Rapid Community Response Usi...
 
Our works
Our worksOur works
Our works
 
Building Web Apps with the Esri-Leaflet Plugin - Dubai DevSummit 2013
Building Web Apps with the Esri-Leaflet Plugin - Dubai DevSummit 2013Building Web Apps with the Esri-Leaflet Plugin - Dubai DevSummit 2013
Building Web Apps with the Esri-Leaflet Plugin - Dubai DevSummit 2013
 
Portal for ArcGIS
Portal for ArcGISPortal for ArcGIS
Portal for ArcGIS
 
GoogleVisualr - A Ruby library for Google Visualization API
GoogleVisualr - A Ruby library for Google Visualization APIGoogleVisualr - A Ruby library for Google Visualization API
GoogleVisualr - A Ruby library for Google Visualization API
 
What's Coming At ArcGIS 10.1 - CSRA GIS User Group Meeting
What's Coming At ArcGIS 10.1 - CSRA GIS User Group MeetingWhat's Coming At ArcGIS 10.1 - CSRA GIS User Group Meeting
What's Coming At ArcGIS 10.1 - CSRA GIS User Group Meeting
 

Similaire à FOSS4G 2011: Mixing It Up with OpenLayers, ArcGIS Server and JavaScript Widgets

Google Geo APIs Overview
Google Geo APIs OverviewGoogle Geo APIs Overview
Google Geo APIs OverviewOssama Alami
 
Web enabling your survey business ppt version
Web enabling your survey business ppt versionWeb enabling your survey business ppt version
Web enabling your survey business ppt versionrudy_stricklan
 
WebGL, HTML5 and How the Mobile Web Was Won
WebGL, HTML5 and How the Mobile Web Was WonWebGL, HTML5 and How the Mobile Web Was Won
WebGL, HTML5 and How the Mobile Web Was WonTony Parisi
 
Dev Summit 2011 - Talk
Dev Summit 2011 - TalkDev Summit 2011 - Talk
Dev Summit 2011 - TalkArc2Earth
 
3 Approaches to Mobile - An A to Z Primer.
3 Approaches to Mobile - An A to Z Primer.3 Approaches to Mobile - An A to Z Primer.
3 Approaches to Mobile - An A to Z Primer.agup2009
 
Open Source GIS
Open Source GISOpen Source GIS
Open Source GISJoe Larson
 
Mapping, GIS and geolocating data in Java @ JAX London
Mapping, GIS and geolocating data in Java @ JAX LondonMapping, GIS and geolocating data in Java @ JAX London
Mapping, GIS and geolocating data in Java @ JAX LondonJoachim Van der Auwera
 
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...JAX London
 
Mapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in JavaMapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in JavaJoachim Van der Auwera
 
Dmytro Safonov "Open-Source Map Viewers"
Dmytro Safonov  "Open-Source Map Viewers"Dmytro Safonov  "Open-Source Map Viewers"
Dmytro Safonov "Open-Source Map Viewers"LogeekNightUkraine
 
Introduction to ArcGIS for Developers, Esri, Charles van der Put, Jim Barry
Introduction toArcGIS for Developers, Esri, Charles van der Put, Jim BarryIntroduction toArcGIS for Developers, Esri, Charles van der Put, Jim Barry
Introduction to ArcGIS for Developers, Esri, Charles van der Put, Jim BarryEsri Nederland
 

Similaire à FOSS4G 2011: Mixing It Up with OpenLayers, ArcGIS Server and JavaScript Widgets (20)

Open layers
Open layersOpen layers
Open layers
 
Google Geo APIs Overview
Google Geo APIs OverviewGoogle Geo APIs Overview
Google Geo APIs Overview
 
HTML5 and CartoDB
HTML5 and CartoDBHTML5 and CartoDB
HTML5 and CartoDB
 
Web enabling your survey business ppt version
Web enabling your survey business ppt versionWeb enabling your survey business ppt version
Web enabling your survey business ppt version
 
Tools Of The Geospatial Web
Tools Of The Geospatial WebTools Of The Geospatial Web
Tools Of The Geospatial Web
 
WebGL, HTML5 and How the Mobile Web Was Won
WebGL, HTML5 and How the Mobile Web Was WonWebGL, HTML5 and How the Mobile Web Was Won
WebGL, HTML5 and How the Mobile Web Was Won
 
Tile Caching Options
Tile Caching OptionsTile Caching Options
Tile Caching Options
 
Dev Summit 2011 - Talk
Dev Summit 2011 - TalkDev Summit 2011 - Talk
Dev Summit 2011 - Talk
 
Scenejs
ScenejsScenejs
Scenejs
 
SceneJS
SceneJSSceneJS
SceneJS
 
3 Approaches to Mobile - An A to Z Primer.
3 Approaches to Mobile - An A to Z Primer.3 Approaches to Mobile - An A to Z Primer.
3 Approaches to Mobile - An A to Z Primer.
 
Open Source GIS
Open Source GISOpen Source GIS
Open Source GIS
 
CARTO ENGINE
CARTO ENGINECARTO ENGINE
CARTO ENGINE
 
Mapping, GIS and geolocating data in Java @ JAX London
Mapping, GIS and geolocating data in Java @ JAX LondonMapping, GIS and geolocating data in Java @ JAX London
Mapping, GIS and geolocating data in Java @ JAX London
 
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
 
51811680 open layers
51811680 open layers51811680 open layers
51811680 open layers
 
Mapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in JavaMapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in Java
 
Dmytro Safonov "Open-Source Map Viewers"
Dmytro Safonov  "Open-Source Map Viewers"Dmytro Safonov  "Open-Source Map Viewers"
Dmytro Safonov "Open-Source Map Viewers"
 
The 21st Century Harvard Map
The 21st Century Harvard MapThe 21st Century Harvard Map
The 21st Century Harvard Map
 
Introduction to ArcGIS for Developers, Esri, Charles van der Put, Jim Barry
Introduction toArcGIS for Developers, Esri, Charles van der Put, Jim BarryIntroduction toArcGIS for Developers, Esri, Charles van der Put, Jim Barry
Introduction to ArcGIS for Developers, Esri, Charles van der Put, Jim Barry
 

Dernier

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
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
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
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
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Dernier (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
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!
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
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
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
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
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

FOSS4G 2011: Mixing It Up with OpenLayers, ArcGIS Server and JavaScript Widgets

  • 1. Mixing It Up with OpenLayers, ArcGIS Server and JavaScript Widgets Allan Glen, David Youngerman City and County of Denver
  • 2. Let’s say you’re running your GIS on a vendor platform… http://www.sxc.hu/photo/1360623
  • 3. Desktop Cloud Server SOAP REST etc.. Mobile Android Web iOS Windows Phone Silverlight API JavaScript API Flex API http://www.sxc.hu/photo/375836
  • 4. ..but you want to mix and match some pieces. open source? http://www.sxc.hu/photo/1056131
  • 5.
  • 6. It wasn’t long ago… http://www.sxc.hu/photo/374039
  • 7. …that it was really hard to connect to proprietary GIS systems. Based on http://www.sxc.hu/photo/941284
  • 8. …but times have changed.(mostly) Based on http://www.sxc.hu/photo/1223568
  • 9. Google Trends: REST API Source: http://www.google.com/trends?q=rest+api
  • 10. Google Trends: XML vs. JSON http://blog.programmableweb.com/2010/12/03/json-continues-its-winning-streak-over-xml/ Source: http://www.google.com/trends?q=xml,json
  • 11. Google Trends: jQuery Source: http://www.google.com/trends?q=jquery
  • 12.
  • 17.
  • 18. ..that could easily be inserted into existing pages. HTMLsnippet http://www.sxc.hu/photo/1281812
  • 21. A JavaScript widget (the technique we are using)
  • 22. What we wanted to avoid… Main Website “GIS Map Viewer” http://www.sxc.hu/photo/1114801
  • 23.
  • 25. Interaction between map and page
  • 26.
  • 30. Easy to modify http://www.sxc.hu/photo/480
  • 31. # Custom OpenLayers build for Denver Maps [first] OpenLayers/SingleFile.js OpenLayers.js OpenLayers/BaseTypes.js OpenLayers/BaseTypes/Class.js OpenLayers/Util.js Rico/Corner.js [last] [include] # Controls OpenLayers/Control.js OpenLayers/Control/PanZoomBar.js OpenLayers/Control/Navigation.js OpenLayers/Control/Attribution.js OpenLayers/Control/Panel.js OpenLayers/Control/Button.js OpenLayers/Control/SelectFeature.js OpenLayers/Control/DragFeature.js # Layers OpenLayers/Layer.js OpenLayers/Layer/ArcGIS93Rest.js OpenLayers/Layer/Google.js OpenLayers/Layer/Google/v3.js # Filters OpenLayers/Filter.js OpenLayers/Filter/Comparison.js OpenLayers/Filter/Spatial.js # Rules OpenLayers/Rule.js Custom build system – use only what you need
  • 33.
  • 34. Cached map services
  • 35. REST API
  • 36. Raw tiles (but not bundles) Geometry (custom AgsJsAdapter.js) http://trac.osgeo.org/openlayers/ticket/2748 Wrench icon from http://ipholio.deviantart.com
  • 37.
  • 43.
  • 44. Use your favorite JS library etc..
  • 45.
  • 47. Last release was 2.11 on 9/11/2011
  • 49. Helped add recent support for mobile devices
  • 50. In active development
  • 51.
  • 52. Embed a fully interactive map in a page with a small snippet of code. Supports address and intersection search, auto-complete, and a Google basemapmashup with points projected on the fly from the ArcGIS Server REST API. <script language="javascript" src="http://www.denvergov.org/maps/api/js/v1?key=479480FE-34A7-4D73-8313-30C8A41AF903"></script> <div id="map" style="width: 590px; height: 450px;"></div> <script language="javascript"> DenverMaps.load("map", { app: “Parks" }); </script>
  • 53. An example showing a “skinned” Denver Maps application versus the default OpenLayers map. The look and feel of an OpenLayers map is easy to customize using CSS. The graphics from the controls were modified from the theme provided by MapBox at http://support.mapbox.com/kb/mapping-101/openlayers-themes.
  • 54. An example showing our parks map overlaying detailed park facilities using an ArcGIS Server Cached Map Service. The tiles have transparency allowing the details to be displayed seamlessly on top of the Google Maps base map. This example uses the XYZ layer type to access tiles through the ArcGIS Server REST API.
  • 55. An example showing our traffic conditions map that uses raw ArcGIS Server tiles provided by the Colorado Department of Transportation (CDOT) through www.cotrip.org. This example uses the ArcGISCache layer type which accesses ArcGIS tiles without using the ArcGIS Server REST API.
  • 56. An example showing our zoning map that use an ArcGIS Server Dynamic Map Service (export image). This example uses the ArcGIS93Rest layer type. Image transparency can be set on the client using OpenLayers.
  • 57. Using JSONP avoids the same-origin policy for cross domain communications, allowing widgets to be embedded on domains other than the domain they are provided from. This example uses a callback (the callback parameter is cut off in the screenshot) to tell ArcGIS Server to return the JSON padded in a callback.
  • 58. An example showing how JavaScript map widgets can be used to provide full interactivity with a host page. In this example, the page executes an address search on the map, causing the map to zoom and display a popup.
  • 59.

Notes de l'éditeur

  1. Let’s say you’re running your GIS on a vendor platform…
  2. Keep in mind that it wasn’t very long ago
  3. That interfaces were mostly proprietary and it was hard to mix and match
  4. To build maps as embeddable widgets..
  5. ..that can easily be embedded into an existing page.This is very different from the normal approach with an API like Google Maps, the ESRI JavaScript API, or Open Layers where you actually build the mapping application into the page.. With a widget we’re providing the entire mapping app from another location and then allowing the result to be easily embedded into any page. The page doesn’t care about the mapping API we’re using..
  6. So you’ve seen the widget concept before.. Here is an example from Vimeo that provides snippet to embed a flash object.
  7. Here is another example from YouTube that uses an IFRAME to embed a video.
  8. And here is another example from Twitter. This is a JavaScript widget which is the technique that we will be talking about.So why would you want to do this with maps?
  9. Here is a common use case which is also our use case.
  10. Choosing a JS Mapping API
  11. Examples, in case demo doesn’t work.
  12. Examples, in case demo doesn’t work.
  13. Examples, in case demo doesn’t work.