Post on 19-Apr-2018
open source Geospatial software
A Brief Overview
Karsten Vennemann
www.terragis.netSeattle, WA, USA
karsten@terragis.net206 905 1711
Open Source Geospatial
Seminar Outline
What is out there ?Overview - OS GIS
OGR, GDAL, PROJ4, GeoToolsTools and Libraries (the Foundation)
Spatial Data Storage SolutionsAdditional Tools
Extending GIS CapabilitiesSpatial Databases, advanced tools
Desktop GIS and ToolsDesktop GIS
Articles, User Groups, ConferencesResources
Interoperable Web GIS Components
Mapserver, GeoserverMapbender, MapFish, Open Layers
Web GIS
Engines
Frameworks
What is Open Source (GIS)?
Why use it ?Why and What
ApplicationComponents
Seminar Outline
Open Source Geospatial
What is Open Source (GIS)?
Why and What
While most open source geospatial software is built on the standards of the Open Geospatial Consortium (OGC) the term “Open Source” it is not synonymous with Open Standards because both proprietary and open source software can be compliant with the OGC Open Standards. http://www.opengeospatial.org
OSGeo is the organization that supports the development of the highest quality open source geospatial software. http://www.osgeo.org
Open source means that the source code is available to the general public for use, distribution, and modification from its original design free of charge (among a long list of other requirements)
Open Source ≠ Open Standards
Open Source Geospatial
Why use it ? General and incomplete listing
Why and What
It is free
User is in controlPick you favorite operating system: supports many operating systems:Windows-Linux-Solaris-…
No licensing issues (did we install one to many PCs with software XY?)Vendor independencyAccess to source code: don’t like something, need changes to the core
system, need extensions – hire somebody to change it right now
High performance, high quality, high interoperabilitydistributed programming effort, highly modular…
System heterogenity - less prone to hacker attacks and virusesInteroperable – very advanced support of OGC open standards
Exceptional Support - Commercial and non commercial
Mailing lists, user groups, Conferences, IRC channelsFast response times for bug fixestypically tracked on the web accessible and open to everybody to report or fix a bug
Open Source Geospatial
What is out there ?
Overview of OS GIS
A whole lot !A jungle !
Difficulties finding XY…
More than 250 project entries onhttp://opensourcegis.org/
Selection of some of themost advanced and popular OS GIS components
“Something for everybody, some are special have need features”
Open Source Geospatial
Overview of OS GIS
Overview
OS Software uses synergies: sharing of libraries►not too much duplication of effort
Different tribes use different tools:
“Tribe”
• C/C++ Tribe
• Java Tribe
• Web tribe
• .Net Tribe
Mapserver, GRASS, Mapguide, QGIS
PostGIS, OGR/GDAL, PROJ4, GEOS, FDO
GeoTools, GeoServer, uDig, DeeGree
JUMP, gvSIG
Examples
MapBender, OpenLayers, Ka-map
SharpMap, WorldWind, MapWindow
Open Source Geospatial
A few libraries that are the foundation of many
Open Source and commercial Geospatial Software Packages
GDAL (Raster) and OGR (Vector) Geospatial Data Abstraction Library / OpenGIS Simple Features Reference Implementation
Tools for reading, writing and processing of raster and vector data sets -> formats
Important base for many Desktop GIS systems e.g. ArcGIS
OGR extends Mapserver formatsOracle Spatial, ESRI Geodatabase (MDB), TIGER, MapInfo…
PROJ4 is a library for cartographic projection routinesstand alone projection utility “proj”
libraries for more than 2500 projections (e.g. EPSG list)
GeoTools is an open source Java GIS toolkit is a library for cartographic projection routines
Similar usage as OGR and GDAL for Java based projects
Udig and Geoserver are based on GeoTools
Some Foundations
Some Foundations (Tools)
Open Source Geospatial
User friendly Desktop Internet GIS (Udig)
JGrass
Quantum GIS (QGIS)
Open Ocean Map
OpenJump
Desktop GIS
Desktop Programs
Geographic Resources Analysis Support System (Grass)
The Generic Mapping Tools (GMT)
gvSIG
Spring
MapWindow
Spatial Data Integrator
Open Source Software Image Map (OSSIM)
The R Project for Statistical Computing (R)
Open Source Geospatial
Desktop GIS
Geographic Resources Analysis Support System (Grass)
Main supporter “ITC, Trento, Italy”
Written in C, Unix/Linux based in 2008 release of the first windows version!
Started 1982 by US Army, discontinued 1995
Revived 1997 by Baylor Univ.
Since 2001 at ITC
Functionality
Originally Raster GIS + Remote Sensing
Now a Comprehensive Desktop GIS
Image analysis
As powerful for analysis as Arc/Info !(compare Thesis in references)
Weakness in UI can be mediated usingQGIS, JGrass as UI
Open Source Geospatial
Desktop GIS
User friendly Desktop Internet GIS (Udig) + JGrass
Main supporter “Refractions”
Written in Java, using Eclipse for development
Built on GeoTools
Multi platform
Modular design
Functionality
Multilingual Desktop GIS
Strong WMS/WFS support
Styled Layer Descriptor (SLD) support(client-directed dynamic re-styling of WMS layers)
Is the UI for JGrass
JGrass
UDIG based GIS for hydrological and geomophological analyses
the analysis functions are either Grass functions rewritten in Java or wrapped Grass analysis functions
Open Source Geospatial
Desktop GIS
Quantum GIS (QGIS)
Main supporter Gary Sherman (gsherman@sourceforge.net)
Written in C++
Depends on QT widget
Multi platform
Functionality
Desktop GIS Viewer
Can be used as a UI to Grass GIS with the Grass Plug-in“a remote control for Grass”
Python bindings allow for programmatic interaction
Open Source Geospatial
Desktop GIS
QGIS Deployment Example ► Open Ocean Map*
Assessment of Crab Fishing: Locations + catch along CA coast
* by Aaron Racicot (formerly at Ecotrust)
Figure Racicot 2007
Open Source Geospatial
Desktop GIS
QGIS Deployment Example ► Open Ocean Map*
a suite of tools that enable the integrated ecological andsocioeconomic assessment of fishery policy and marine conservation, and their effects on coastal communities:
A cross-platform geospatial desktop applications for decision support utilizing
* by Aaron Racicot (formerly at Ecotrust)
Python
QGIS
QT Field Data Collection
Data Analysis
QA/QC/Feedback
Inform Decision Makers
Field Office
Figure adapted from Racicot 2007
Open Source Geospatial
Desktop GIS
QGIS - Open Ocean Map
Figures Racicot 2007
Open Source Geospatial
Desktop GIS
OpenJump - JUMP Unified Mapping Platform
Main supporters “Vivid Solutions” and “Kosmo–SAIG”
Written in Java
Variety of “Flavors” (JUMP / OpenJUMP / Kosmo)
Multi platform
Functionality
Desktop GIS
Viewer
Analysis
Powerful editing and QA environment e.g. shape file problem resolving capabilities
Open Source Geospatial
Web browser
Mapping Engine
Server SideFramework
Overview of Web GIS
Schematic View Interoperable Web GIS
Web Server
Spatial Data
Vector
file
Raster
file
Spatial
DB
Server computer(s)
Client Side Scripting (JavaScript/AJAX)
WMS/WFS
Mapping EngineMapping Engine
Client SideFramework
Client computer
Additional Services
Data Access (Read/Write)
Caching and Tiling
Extended GIS Functionality
Web Processing Services
Open Source Geospatial
Modified from “The State of Open Source GIS”, Paul Ramsey, Sep. 2007, formerly Refractions Research, Victoria, BC, Canada
TileCache
WFS
WMS
Geoserver
FeatureServer
MapBender
OpenLayers
MapFish
Overview of Web GIS
Relations of Web GIS Components
File Sources
PostGIS
MapServer
Open Source Geospatial
Mapserver (C)
Geoserver (Java)
Mapnik (C++)
Map Guide Open Source (C++)+ “Fusion” by DM Solutions
Web GIS Engines
Web GIS Engines
Open Source Geospatial
Originally developed at the University of Minnesota (UMN), short “MapServer”
one of the most mature open source projects
written in C
Main Focus
rendering spatial data
development environment for spatially-enabled internet applications
Map output
CGI mapserv (Linux) and mapserv.exe (windows)
MapScript API available for Python, PHP, Perl, and Java
Map/Layer configuration text file .map
Formats
In: PostGIS, Oracle Spatial ArcSDE, WMS, GDAL and OGR formats
Out: GIF, JPG, PNG, all GDAL formats, WFS and WMS
Web GIS Engines
Map Server
Open Source Geospatial
Web GIS Engines
GeoServer
Main supporter The Open Planning Project (TOPP)
newer development than Mapserver
written in Java, built on top of Geotools (like Udig)
Main Focus
rendering images, serving and editing spatial data
More differences to Mapserver
configuration web-based Graphical user interface (stored as xml)
transactional capabilities, support for shared editing
Formats
PostGIS, Shapefile, ArcSDE, DB2, Oracle(soon VPF, MySQL, MapInfo, WFS)
JPG, GIF, PNG, SVG, KML/KMZ, GML, Shapefile, GeoJSON, GeoRSS
WFS and WMS output
Open Source Geospatial
Web GIS Engines
GeoServer
Open Source Geospatial
Open LayersJavaScript API
Ka-MapJavaScript API
Client Side
JavaScript/Ajax Libraries
Frameworks
Web GIS Frameworks
Client-Server Side
JavaScript/Ajax Libraries
Server Side Scripts, Database
MapbenderPHP, JavaScript, PostGIS
MapFishPython (Pylons), Java Script(ExtJs) and Open Layers
CartowebPHP, JavaScript
Open Source Geospatial
Main supporter “MetaCarta”
object-oriented JavaScript library (using Prototype.js and Rico library)
Lets you add maps to any web page by embedding OpenLayer.js
no server-side dependencies
Easily reusable component…similar to Google Maps and MSN Virtual Earth Web Mapping APIs
“Slippy map style”
Input Formats
Tile sources: Virtual Earth, Worldwind, Yahoo & Google Maps, WMS
Vector layer input: KaMap, MapServer, GeoRSS, WFS, [KML]
Standard Tools
Google Like zoom bar, standard functions like zoom in/out pan
Client side - Frameworks
Open Layers
Open Source Geospatial
Main supporter “Camptocamp”
Widgets and plugins oriented architecture
MapFish Client - JavaScript framework – two parts
mapping part OpenLayers
user interface (GUI widgets) ExtJs library
MapFish Server
MapFish Server is a Python framework (based on Pylons)
Main Focus - Adding server side framework to OpenLayers
Advanced UI components: layer tree…
Server-side services: authentication, query…
Server-side processing: routing, editing…
Client/Server - Frameworks
MapFish
Open Source Geospatial
Client/Server - Frameworks
MapFish
Open Source Geospatial
Client/Server - Frameworks
MapFish
Open Source Geospatial
Client/Server - Frameworks
MapFish
Open Source Geospatial
Mapbender
Client/Server - Frameworks
Main supporter “WhereGroup”
Comprehensive Client - Server framework
implemented in PHP, JavaScript and XML
Management Database MySQL or PostgreSql
Functionality
displaying, navigating, editing and querying spatial data and maps
map services authorization services (OWS proxy functionality)
management interfaces for user, group and service administration
Management of WMS and WFS
User interface configuration and tool stored in data base
Input
WMS and WFS
Open Source Geospatial
Main supporter “Refractions”
PostGIS is an extension for PostgreSQL
adds support for geographic objects to PostgreSQL
enables PostgreSQL server to be used as a backend spatial database for GIS
Spatial operations and analysis simply mean running a (spatial) SQL query in the database
Similar functions as SDE and much more ….
Extending GIS Capabilities
Extending GIS CapabilitiesSpatial Data Storage solutions - PostGIS
Open Source Geospatial
FeatureServer
middleware for publishing and modifying geospatial data in lots of different formats to the web (RESTful Geographic Feature Service)
dynamic capabilities to read geographic features (or collections) with standard HTTP methods from distributed sources (aggregation)
translate geographic features between formatse.g. input shape file and open in Google Earth
TileCache
server software solution with caching and rendering capabilities
create your own local disk-based cache of any WMS server
use the resulting map tiles in supporting clientse.g. OpenLayers, Google maps, Virtual Earth, Worldkit
create a fast performing slippy style map a la Google Maps
Extending GIS Capabilities
Extending GIS Capabilities - Additional tools
Open Source Geospatial
Resources
Articles
The State of Open Source GIS,Version September 2007. By Paul Ramsey, formerly Refractions Research, Victoria. 49pages. http://www.foss4g2007.org/presentations/viewattachment.php?attachment_id=8
Comparison Of Geographic Information System Software (Arcgis 9.0 And Grass 6.0): Implementation And Case Study
MS Thesis by Todd R. Buchanan, Fort Hays State University. 89pages
http://covenant-tech.com/thesis.pdf
Geospatial Interoperability Return on Investment Study,National Aeronautics and Space Administration, Geospatial Interoperability Office, April 2005. 80pageshttp://www.egy.org/files/ROI_Study.pdf
Web Sites
Free GIS Project http://www.freegis.org/
Open source GIS list http://opensourcegis.org/
Map Tools http://maptools.org/
OSGeo http://www.osgeo.org/
Open Source Geospatial
http://gmt.soest.hawaii.eduGMT
http://www.terralib.orgTerraLib
http://fwtools.maptools.orgFWTools (utility collection )
http://sourceforge.net/projects/geotoolsGeoTools
http://www.remotesensing.org/projPROJ4
www.gdal.org/ogr
www.gdal.org
Simple Feature Library (OGR) Geospatial Data Abstraction Library (GDAL)
Resources
Tools
http://www.ossim.orOpen Source Software Image Map (OSSIM)
www.spatialdataintegrator.comSpatial Data Integrator
http://www.r-project.org/The R Project for Statistical Computing
http://postgis.refractions.netPostGIS
www.postgresql.orgPostgreSQL
Open Source Geospatial
http://www.mapwindow.orgMapWindow
http://www.dpi.inpe.br/springSpring
http://openjump.orgOpenJump
http://grass.osgeo.orgGrass
http://www.qgis.orghttp://trac.infodrizzle.org/openocean
QGISOpen Ocean Map
http://www.gvsig.gva.es/index.php?id=gvsig&L=2gvSig
http://udig.refractions.nethttp://jgrass.wiki.dev.fsc.bz.it/jgrass
UdigJGrass
Resources
Desktop GIS
Open Source Geospatial
http://www.cartoweb.orgCartoweb
http://ms.gis.umn.eduMapserver
www.openlayers.orgOpen Layers
http://ka-map.maptools.orgKa-Map
www.mapbender.orgMapbender
http://trac.mapfish.org/trac/mapfishMapFish
http://geoserver.orgGeoserver
Resources
Interoperable Web GIS
http://featureserver.orgFeatureserver
www.tilecache.orgTileCache
Open Source Geospatial
http://livecd.ominiverdi.orgOminiverdi Live CD
http://www.gisvm.comGIS Virtual Machine
http://geolive.cartography.st/geolive/wiki/enDescGeoLive
http://maptools.org/ms4w/index.phtmlMapServer for Windows
http://www.hostgis.com/linuxHostgis Linux
Resources
GIS Samplers. Live CDs, Compilations
Open Source Geospatial
Free and Open Source Software for Geospatial 2008
Cape Town International Convention CentreSeptember 29, 2008 – October 3, 2008www.foss4g2008.org/
Resources
Open Source Geospatial
Local GIS user group:
“Cascadia Users of Geospatial Open Source”
http://groups.google.com/group/cugos
Monthly meeting every 3rd Wednesday, 6:00 pmIn the LizardTech offices, located near Pioneer Square:
The National Building
Suite 200
1008 Western Avenue
Seattle, WA 98104
Resources
Open Source Geospatial
Contact Me with Questions
Karsten Vennemann
www.terragis.netSeattle, WA, USA
karsten@terragis.net206 905 1711
Terra gIS Ltd OffersGIS consulting and training