Internet-enabled GIS Using Free

utahcokeServers

Nov 17, 2013 (3 years and 4 months ago)

82 views

Internet
-
enabled GIS Using Free
and Open Source Tools

John Reiser

jreiser@njgeo.org

What exactly is Open Source?


Freedom to allow others to adapt and reuse
while retaining some rights over code


Community
-
driven software


Precursor to the Open Content movement


Eric Raymond's "The Cathedral and the Bazaar"


The Cathedral and the Bazaar


"I believed that the most important software
needed to be built like cathedrals, carefully
crafted by individual wizards or small bands of
mages working in splendid isolation, with no
beta to be released before its time."


"The Linux community seemed to resemble a
great babbling bazaar of differing agendas and
approaches out of which a coherent and stable
system could seemingly emerge only by a
succession of miracles."

No Miracles Necessary


Open source does work


Thousands of software packages are available
under open source licenses


Operating systems, development tools, web
browsers, web and file servers, communications
tools, graphic design applications, etc…


All with no upfront monetary cost


How does GIS fit in?


The Cathedral

The Bazaar

Open Source GIS


Software that allows us to share our data with
everyone using open standards


Software that we can modify and improve


GIS data released under an open license


GIS data updated and enriched by community
input and participation

Open Source GIS


Developing an open source GIS has many
benefits


Low
-
cost of entry


Adaptable and extendable


Entry into the greater open source community


"Open Source doesn't come with support" is no
longer a valid excuse


Several companies now provide support to OS
GIS packages

Sharing Data: Accessibility


We can easily share data now


FTP


ZIP files posted to the web


Helps GIS users, but outsiders are left in the dark


Inviting, easy to use map interfaces are the new
way to share

Making GIS Accessible

NYCityMap


gis.nyc.gov/doitt/nycitymap
/

Delivering On Change

whitehouse.gov
/change/

Getting the parts together


Protocols


Web Map Service


Web Feature Service


Keyhole Markup Language


Server side tech


MapServer

and/or
GeoServer


Tilecache


Client side


OpenLayers


Google Maps and Virtual Earth (free but not OS)

Configuration of a Web Map

MapServer

GeoServer

GIS
Data

Other WMS

TileCache

Map
Cache

OpenLayers

Server

Client

Web Map Service


WMS is a protocol for requesting rendered map
tiles from a GIS server


Allows access to the attribute information via
XML


REST
-
ful

protocol


necessary info within the URL


Web Feature Service


WFS allows for retrieval of GIS features and
properties from a remote server


WFS also allows updating GIS data on a remote
server


Returns XML data

KML


Once a "closed" language, Google pushed for its
adoption as an open standard


KML is a subset of XML and related to GML


KML stores vector data along with
symbology



KML can act as a wrapper for WMS services

Choosing a Server


MapServer

and
GeoServer

fill similar roles, but
there are some things to consider in choosing:


Hosting environment


Focus on rendering data or manipulating data


Familiarity with command
-
line interface


Patience

MapServer



mapserver.org

MapServer


MapServer

is robust software


launched mid
-
1990s, currently version 5.4.0


MapServer

is lightweight


Runs in either Apache
httpd

or IIS


MapServer

supports many file formats


Easy to install


More difficult to configure

GeoServer



geoserver.org

GeoServer


GeoServer

is also robust software


launched 2001, currently version 1.7.4


Written in Java, runs in Apache Tomcat


Complicated to install in shared hosting
environment


Easy to configure


Tile
-
based Mapping


Common complaint of
ArcIMS

is that the service
is painfully slow


The map extent is rendered from GIS data for
every request


Caching pre
-
rendered maps allows the server to
send a static file without GIS processing

Tile
-
based Mapping


Enforce a set of scales at which the map is
rendered


Break each map scale into a grid of rendered
map tiles


Map tiles can be stored on disk after rendering


Removes the need to render from data for each
map request


TileCache

can manage the rendered tile cache

TileCache



tilecache.org

TileCache


TileCache

sits between the client and server


Client requests map tiles (using WMS)


TileCache

checks the stored tiles


If it exists, it returns the rendered tile to client


If tile is missing, it passes the request to a GIS
server


Once it receives the rendered tile,
TileCache

stores the tile and sends it to the client

TileCache


Written in Python, with extensions for server
environment


Can cache tiles directly from
MapServer

or any
WMS
-
capable GIS server


Can reduce the strain on infrastructure and lower
costs


OpenLayers



openlayers.org

OpenLayers


JavaScript library for implementing a "Google
Maps" style interface


Allows interactive mapping within most modern
web browsers


Originally
f
rom the same company as
TileCache
,
now a project of
OSGeo


Supports both WMS and WFS


Supports tiles from Google Maps, Virtual Earth


Highly customizable


Information Warehouse

njgin.state.nj.us

NuMaps

DemographicDrapes

demos.numaps.com.au

Freedom to Mix and Match


You could develop your interactive map using
entirely open source software


"
OpenGeo

Architecture"


You can mix and match parts as necessary


ArcGIS &
OpenLayers


MapServer

& Google Maps/Google Earth


Open standards give you the freedom of choice

Open Source Community


The strength of OS software comes from the
community


"Given enough eyeballs, all bugs are shallow."


Propose or contribute new functionality


Community is not limited to software


Collaboration


Data can benefit from collaboration


Parcels from a surveyor and tax assessor


Free alternatives to high
-
cost data


OpenStreetMap


POI databases become truly valuable once
released to the crowd to update


Just beginning to explore the value in
Volunteered Geographic Information

OpenStreetMap



openstreetmap.org

GeoNames



geonames.org

GeoCommons



geocommons.com

GeoCommons

Finder!

GeoCommons

Maker!

Open Source Community


Equality, transparency and collaboration


A community of passionate individuals


Use the software and become part of something
greater


Consider sharing your data with the community


Resources


Open Source Initiative


http://www.opensource.org/


Open Source Geospatial Foundation (
OSGeo
)


http://www.osgeo.org/


Source images for "Cathedral" & "Bazaar" are GNU licensed images from
Wikimedia

Commons


http://commons.wikimedia.org/wiki/File:Catedral_Metropolitana_de_Sao_Paulo_1_Brasil.jpg


http://commons.wikimedia.org/wiki/File:Bd_bazaar.jpg


Full text of "The Cathedral and the Bazaar" is available online:


http://www.catb.org/~esr/writings/cathedral
-
bazaar/


Web Mapping Illustrated is a great resource for developing your own web maps


http://oreilly.com/catalog/9780596008659/


Whitepaper on "
OpenGeo
" Architecture from
GeoServer


http://opengeo.org/publications/opengeo
-
architecture/

(published April 2009)