Living in a Golden Age of
Web Maps
Xavier Irias
Director of Engineering and Construction
Egypt’s Golden Ages
Old Kingdom
Pyramid Era
3700-2160BC
Started with establishment
of first dynasties
Middle Kingdom
2040-1784BC
Started with
unification of upper
and lower Egypt
New Kingdom
1554-1000BC
Started with expulsion
of Hyksos
Timeline from Parthenon graphics, used with permission
Other Golden Ages
Greece’s Golden Age of
Pericles achieved during
Athenian supremacy
China’s Golden Age occurred
during Tang dynasty 618907
Roman Empire
Pax Romana
Ingredients for a Golden Age
System Stability, either:
Hegemony or
Balance of power
Personal prerequisites for innovation
Must believe system and its “rules” will remain in force
for a reasonable time in the future
Individual freedom/ability/time to innovate
Correct incentives present
Pax Microsoft
Legacies of Pax Microsoft
• JavaScript emerged as one language “to rule them all
and in the darkness bind them”
• AJAX triumphant
– Asynchronous
– JavaScript
– XHR (XML Http Request)
• Other rich but deeply flawed client web tools like Flash
and Silverlight likely destined to be niche tools
Jobs Was Right
Jobs on Flash / Flex:
• Has issues with “reliability,
security, and performance”
• Bad for mobile
• “Closed”
Steve Jobs, April 2010
Infoworld Sept 11, 2013
Microsoft Was Right Also
“Our strategy with Silverlight has shifted”
-- Bob Muglia, Microsoft, October 28, 2010, explaining
Microsoft’s belated embrace of HTML5 as it downplays Silverlight
Meanwhile in Redlands
1973 first
GIS
created by
ESRI
1982
ArcINFO
released
1991
ArcView
Released
1996
MapObjects
launched to
make web
maps
1994
www.esri.com
site launched
1986 release of PC version of ArcINFO
1998
ArcINFO 8
2004
ArcGIS 9
Includes dev
framework
2010
ArcGIS 10,
ArcGIS
Online
2008
ArcGIS 9.3
includes
REST API
PAX esri ?
•Market share in 2002
approx 30%
•Market share in 2011
approx 40%
•70% of GIS professionals
use ESRI software
Meanwhile in web maps
MapQuest launch
1996
Google Maps API,
Google Earth
released June
2005
Google launch
1997
Google Maps
Streetview May
2007
Google Maps launch
Feb 8, 2005
Google Maps
adds sat imagery
April 2005
Google Earth KML 2.2 format
accepted by OGC April 2008
“web Mercator” projection
has deep roots
Web Mercator
function long2tile(lon,zoom) {
return (Math.floor((lon+180)/360*Math.pow(2,zoom)));
}
function lat2tile(lat,zoom) {
return (Math.floor((1-Math.log(Math.tan(lat*Math.PI/180) +
1/Math.cos(lat*Math.PI/180))/Math.PI)/2 *Math.pow(2,zoom)));
}
function tile2long(xtile,zoom) {
var n = Math.pow(2, zoom);
return xtile / n * 360.0 - 180.0;
}
function tile2lat(ytile,zoom) {
var n = Math.pow(2, zoom);
return 180/Math.PI*atan(sinh(Math.PI * (1 - 2 * ytile / n)));
}
resolution meters/pixel = (cos(latitude * PI/180) * 2 * PI * 6378137) / (256 * n);
Scale = 1: resolution * DPI / 0.0254 meters/inch;
If map is square, Ymax=R* :
Peace dividends so far
• Pax Microsoft created a stable apps platform consisting of
browser, Javascript, XHR (AJAX)
• Web maps powered by AJAX became ubiquitous
• Web Mercator became dominant projection
• HTML5 trumped Flex and Silverlight
• Pax esri defined many important GIS standards
• Google entrenched two important GIS standards:
• Mercator web tiles
• KML
• November 20, 2009: Esri modified their web tile scheme to
match Google’s*
* http://blogs.esri.com/esri/arcgis/2009/11/20/arcgis-online-moving-to-google-bing-tiling-scheme-what-does-this-mean-for-you/
Call It a Truce, not True Peace
• Support for various web services/formats is uneven:
• ESRI REST*
• WMS, WMTS, WFS
• Slippy tiles
• No consensus on what to call web Mercator:
•
•
•
•
EPSG 900913
EPSG 3857
EPSG 102113; how about 102100
How about CRS:84
ESRI REST API submitted
as OGC standard then
withdrawn
• Security concerns have created patchworks:
• JSONP
• CORS
EPSG registry describes 1000’s
of spatial references
but not EPSG 900913, 102100,
or 102113
Examples of Everyday Life in the Golden
Age of Web Mapping:
Data Furnished by Federal Government
NPMS
Shapefiles of “high priority” gas
lines including Kinder Morgan,
PG&E, with attribute data
HSIP aka HOPS
https://www.npms.phmsa.dot.gov
Secure ESRI REST services
hosted by LLNL, contains dozens
of data layers describing national
infrastructure
http://hops.llnl.gov
Most of the data mentioned here are “FOUO”
Making the NPMS Data
Accessible as WMS
1.
2.
3.
Install free glassfish server software (install java 1.6 as
needed)
Install free geoserver software using glassfish web console
Configure geoserver:
a.
b.
c.
4.
Add the various web Mercator projections such as 102100, 900913 to
epsg.properties file. Otherwise maps will only work with some of the
various web map clients (Google, Bing, OpenLayers, ArcGIS, etc).
Download free CORS filter from http://software.dzhuvinov.com/corsfilter.html.
Edit WEB-INF/web.xml in geoserver folder within glassfish subdir to use
CORS filter, so “get feature info” works across domains.
Use geoserver web console to point at NPMS shapefile,
publish as WMS. Customize labels, etc. as desired with SLDs.
Total time: approx one hour
Understanding CORS
(Cross Origin Resource Sharing)
Example html file at imaginary URL
http://foo.com/test.html
<html>
<head>
<!– Scripts are okay for cross-domain -->
<script src=“http://bar.com/somefile.js”>
</head>
<body>
<!– Images are okay for cross-domain -->
<img src=“http://bar.com/someimage.jpg”>
<script>
// this call works, XML file in same domain as main page
var reqA=new XMLHttpRequest();
refA.open("GET", "http://foo.com/test.xml", true);
// cross-domain call FAILS unless server is CORS enabled
var reqB=new XMLHttpRequest();
refB.open("GET", "http://bar.com/test.xml", true);
</script>
</body>
</html>
What Does the Map Future Hold?
1. Continued decline of:
•
Flash/Flex
•
Silverlight
•
MSIE 6
•
DLL Hell (i.e., Microsoft desktop dominance)
Source: www.scottlogic.co.uk
2. ESRI REST API to become even more
dominant (though WMS, WFS, WMTS,
etc. will remain)
3. HTML5/JavaScript will be even more
important, on mobile and nonmobile
A Sampling of Javascript Map API
Choices
1.
Google Maps API
•
Fast, easy to use
•
Not necessarily free
•
API shows hacker legacy
2.
ESRI API
•
Excellent, well-documented API, supports diverse data
•
Not necessarily free
•
Not always as fast or reliable as we’d like
3.
Open Layers
•
Great support for diverse data including your own tiles
•
Always free
•
API not the prettiest, easiest to use or best documented
JavaScript Trends & Their
Implications
1.
Everything’s asynchronous
•
Massively parallel loading of .js files by the browser is typical
•
AJAX, callbacks are woven into major JavaScript libraries
•
Worker threads now available
2.
JavaScript applications are getting larger & more complex
•
Namespace pollution remains a concern
•
Namespaces were a “first generation” fix and still relevant
•
Asynchronous Module Definition (AMD) is the wave of the future
3.
Traditional development approaches adapted to Javascript
•
Static analysis (jslint)
•
Dynamic analysis (Firebug, MS dev workbench)
•
Minifying and compilation of code modules
What About the Cloud?
Vendors are promoting the cloud as a way to:
1.
Provide themselves guaranteed revenue stream
2.
Provide varying degrees of customer value
Potential benefits of cloud computing:
1.
Virtualized servers can be less hassle (but you can virtualize inhouse servers too)
2.
Highly scalable
3.
Might be more reliable than in-house
4.
Potential huge labor savings could offset cloud fees
Potential pitfalls of cloud computing:
1.
Security and performance
2.
100% reliant on reliable, fast internet access
3.
Potential high costs and vendor lock-in
4.
If no labor FTE reduction, cost savings likely an illusion
Mix of reality and hype
Not all are sold on the cloud
Windows 95 launch
Windows 98 launch
Think Different
Summary
1.
Lots of great choices for web mapping
2.
Vendors, technologies and license terms may change without
warning
3.
Treat any single vendor or library as a transient entity, don’t paint
yourself into a corner
•
Isolate map code within your applications
•
Become familiar with more than one map framework
"Don't let yourself get attached to anything you are
not willing to walk out on in thirty seconds flat”
DeNiro in Heat
© Copyright 2026 Paperzz