saving money with open source gis

79
Saving Money Using Open Source Software Bryan Luman [email protected]

Upload: bryanluman

Post on 06-Jul-2015

152 views

Category:

Technology


2 download

DESCRIPTION

2010 Fall ILGISA Workshop

TRANSCRIPT

Page 1: Saving Money with Open Source GIS

Saving Money UsingOpen Source Software

Bryan [email protected]

Page 2: Saving Money with Open Source GIS

What is Open Source Software?

http://notinventedhe.re/on/2010-10-13

Page 3: Saving Money with Open Source GIS

Wikipedia Says...

Open-source software (OSS) is computer software that is available in source code form for which the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, and improve the software.

Page 4: Saving Money with Open Source GIS

What does that mean to me?

• FREE!

• You can make changes to the software

• You can learn from experienced coders

• Oh, yeah... FREE!

Page 6: Saving Money with Open Source GIS

http://www.opensource.org

Page 7: Saving Money with Open Source GIS

(so don’t sue me)

• Check with your lawyer if you are unsure

• JUST AS YOU SHOULD WITH ANY DEAL!

• Example: RFP’s, Microsoft CAL’s, developer licenses.

Page 8: Saving Money with Open Source GIS

End of Scary Legal Stuff

Page 9: Saving Money with Open Source GIS

Where do I find it?

Page 10: Saving Money with Open Source GIS

How do I know if it’s good?

Page 11: Saving Money with Open Source GIS

Recently updated?

Page 12: Saving Money with Open Source GIS

Good documentation?

Page 13: Saving Money with Open Source GIS

How many people maintain it?Not a good

choice

Page 14: Saving Money with Open Source GIS

Active Community?

Page 15: Saving Money with Open Source GIS

Are there companies selling support?

Page 16: Saving Money with Open Source GIS

Books?

Page 17: Saving Money with Open Source GIS

Buzz?

Page 18: Saving Money with Open Source GIS

OK so what do I use?

Page 19: Saving Money with Open Source GIS

Obligatory ESRI Reference

Text

http://www.python.org/

Page 20: Saving Money with Open Source GIS

Programming Language of Choice

def greet puts "Hello world"end

http://www.ruby-lang.org

Page 21: Saving Money with Open Source GIS

http://rubyonrails.org/

Page 22: Saving Money with Open Source GIS

http://www.sinatrarb.com/

Page 23: Saving Money with Open Source GIS

http://jquery.com/

Page 24: Saving Money with Open Source GIS

http://www.postgresql.org/

Page 25: Saving Money with Open Source GIS

http://www.sqlite.org/

Page 26: Saving Money with Open Source GIS

http://www.mongodb.org/

Page 27: Saving Money with Open Source GIS

http://nginx.org/

Page 28: Saving Money with Open Source GIS

Text

http://www.imagemagick.org

Page 29: Saving Money with Open Source GIS

GET TO THE GIS SOFTWARE!!!

Page 30: Saving Money with Open Source GIS

Desktop Apps

Page 31: Saving Money with Open Source GIS

uDighttp://udig.refractions.net/

• Uses Eclipse GUI

• Reads most standard GIS formats (PostGIS, shapefile, WMS, WFS, WCS, GeoRSS, KML, and images)

• Limited map making ability

• Simple editing is OK

Page 32: Saving Money with Open Source GIS
Page 33: Saving Money with Open Source GIS
Page 34: Saving Money with Open Source GIS

GRASShttp://grass.osgeo.org

• One of the first GIS systems

• Initially developed by US Army Construction Engineering Research Laboratory in Champaign, IL

• Incredible powerful for geoprocessing both raster and vector

• Gives ArcInfo 7 a run for it’s money on the UI (i.e. not good)

Page 35: Saving Money with Open Source GIS
Page 36: Saving Money with Open Source GIS
Page 37: Saving Money with Open Source GIS

Quantum GIShttp://www.qgis.org/

• Good middle ground

• Reasonably decent UI

• Power of GRASS

• Almost comparable to ArcView

• Before you buy another license at least give this a try

Page 38: Saving Money with Open Source GIS
Page 39: Saving Money with Open Source GIS
Page 40: Saving Money with Open Source GIS

Databases

Page 41: Saving Money with Open Source GIS

PostGIShttp://postgis.refractions.net/

• Nearly part of the PostgreSQL core

• Based off well documented standards (OGC)

• Fast and Stable

• Large community developing and documenting

Page 42: Saving Money with Open Source GIS

MySQL Spatial Extensions

• Incomplete and not well documented

• Not recommended unless you MUST use MySQL

Page 43: Saving Money with Open Source GIS

Spatialitehttp://www.gaia-gis.it/spatialite/

• Uses much of the same guts as PostGIS

• Based on SQLite so very small and portable

• Possible exchange format

• Can use on iOS devices (GIS on your phone)

• A little young

Page 44: Saving Money with Open Source GIS

http://www.opengeospatial.org/standards/sfs

Most SQL vendors implement geography using a version of the:

OpenGIS Implementation Specification for Geographic information - Simple feature access

Page 45: Saving Money with Open Source GIS

Data Formats

Page 46: Saving Money with Open Source GIS

Most Common

• ESRI Shapefile

• De facto standard

• Documented by ESRI

http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf

Page 47: Saving Money with Open Source GIS

Well Known Text (WKT)&

Well Known Binary (WKB)

• Used in database records

• Well documented

• Compact

Page 48: Saving Money with Open Source GIS

Example

POINT(6 10) =010100000000000000000018400000000000002440

LINESTRING(3 4,10 50,20 25) = 010200000003000000000000000000084000000000000010400000000000002440000000000000494000000000000034400000000000003940

Page 49: Saving Money with Open Source GIS

GMLhttp://en.wikipedia.org/wiki/

Geography_Markup_Language

• OGC/ISO Standard

• Encoded in XML and like XML can be used for good or evil

• Most other open formats take their cue from this format

Page 50: Saving Money with Open Source GIS

Example

<gml:Point gml:id="p21" srsName="urn:ogc:def:crs:EPSG:6.6:4326"> <gml:coordinates>45.67, 88.56</gml:coordinates></gml:Point>

Page 51: Saving Money with Open Source GIS

GeoJSONhttp://geojson.org

• JavaScript Object Notation (JSON) encoded

• Very similar to GML but a little more streamlined

• Different than the ESRI JSON format

Page 52: Saving Money with Open Source GIS

Example{ "type": "Point", "coordinates": [100.0, 0.0] }

{ "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ]}

Page 53: Saving Money with Open Source GIS

GeoRSShttp://georss.org

• Essentially a streamlined version of GML

• Used in RSS feeds

• Used by Yahoo in a lot of data streams

Page 54: Saving Money with Open Source GIS

Example

<georss:point> 45.256 -71.92</georss:point>

Page 55: Saving Money with Open Source GIS

KMLhttp://code.google.com/apis/kml/documentation

• Initially developed for Keyhole (Keyhole Markup Language) which was changed to Google Earth after being acquired

• As it’s name implies this is a markup language and is more suited to presenting GIS data than exchanging it

• Now an open standard and supported by Google Earth, NASA Worldwind, and ESRI

Page 56: Saving Money with Open Source GIS

<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://www.opengis.net/kml/2.2"> <Placemark> <name>Simple placemark</name> <description>Attached to the ground. Intelligently places itself at the height of the underlying terrain.</description> <Point> <coordinates>-122.0822035425683,37.42228990140251,0</coordinates> </Point> </Placemark></kml>

Example

Page 57: Saving Money with Open Source GIS

GPXhttp://www.topografix.com/gpx.asp

• GPS eXchange Format

• XML based

• Fairly easy to read and write

• Lots of support in consumer GPS devices

Page 58: Saving Money with Open Source GIS

<?xml version="1.0" encoding="UTF-8" standalone="no" ?><gpx ...> <metadata> <link href="http://www.garmin.com"> <text>Garmin International</text> </link> <time>2009-10-17T22:58:43Z</time> </metadata> <trk> <name>Example GPX Document</name> <trkseg> <trkpt lat="47.644548" lon="-122.326897"> <ele>4.46</ele> <time>2009-10-17T18:37:26Z</time> </trkpt> <trkpt lat="47.644548" lon="-122.326897"> <ele>4.94</ele> <time>2009-10-17T18:37:31Z</time> </trkpt> <trkpt lat="47.644548" lon="-122.326897"> <ele>6.87</ele> <time>2009-10-17T18:37:34Z</time> </trkpt> </trkseg> </trk></gpx>

Page 59: Saving Money with Open Source GIS

Image Formats(some)

GeoTIFFGeoJPG PNG

USGS DEM DOQNetCDF

NITF

JP2

Erdas Imagine ESRI GRID

ECW

ERMapper

BMP MrSID

PCI And many more!!!

Page 60: Saving Money with Open Source GIS

GDAL/OGRhttp://www.gdal.org/

• Swiss army knife of GIS!

• Converts, slices and dices data anyway you like

• Really fast!

• Used in a bunch of OS and commercial applications

• Using ArcGIS? - You are already using GDAL

Page 61: Saving Money with Open Source GIS

Web Mapping

Page 62: Saving Money with Open Source GIS

Openlayershttp://openlayers.org/

• Only totally open, full featured, web map viewer

• Well documented

• Can be used with ESRI ArcGIS Server as well as many other data sources WMS, WFS, GeoRSS, etc...

Page 63: Saving Money with Open Source GIS

MapServerhttp://mapserver.org/

• Original open source web mapping solution

• Akin to ESRI ArcIMS... will lead you into madness with it’s broken HTML

• Using just the map rendering capability is OK

Page 64: Saving Money with Open Source GIS

Mapnikhttp://mapnik.org/

• Beautiful Rendering

• Exceptionally difficult to compile

• May be a little slow compared to MapServer

• Used by Google and Apple

Page 65: Saving Money with Open Source GIS

Tilecachehttp://tilecache.org/

• Nice small python web service

• Will serve tiles ala Google Maps statically or on demand

• Lots of options for increasing web serving performance (memcached, HTTP headers)

Page 66: Saving Money with Open Source GIS

GeoDjangohttp://geodjango.org/

• Django is a python web framework for designing applications quickly

• This is a very nice extension that adds a variety of methods for interacting with spatial data using PostGIS, GEOS, and PROJ4

Page 67: Saving Money with Open Source GIS

Free but not open

• Google Earth

• Google Maps

• Microsoft Bing

• Yahoo Maps

• Mapquest

Page 68: Saving Money with Open Source GIS

http://lakecountyil.gov

Page 69: Saving Money with Open Source GIS

Other Cool Geo API’s

• 4Square

• Facebook

• Twitter

• Flickr

Page 70: Saving Money with Open Source GIS

Open Streetmaphttp://www.openstreetmap.org/

• Totally open dataset of features

• Based on TIGER (in USA) and updated by individuals

• Variable precision

• Excellent cartography

• Made using open source GIS software

Page 71: Saving Money with Open Source GIS

EveryBlockhttp://everyblock.com

• Second evolution of ChicagoCrime.org

• Excellent User Interface

• Uses Openlayers and Mapnik

Page 72: Saving Money with Open Source GIS
Page 73: Saving Money with Open Source GIS

Warning!

Extreme Technical Content ahead!

Page 74: Saving Money with Open Source GIS

libLAShttp://liblas.org

• Library and executables

• Can convert raw LAS to a variety of formats using advanced filtering

• Can get detailed info and compare LAS files

• Supported by Iowa DNR and US Army

Page 75: Saving Money with Open Source GIS

GEOShttp://trac.osgeo.org/geos/

• Geometry Engine, Open Source (GEOS)

• Backbone of PostGIS and Spatialite

• Also used in Quantum GIS, GRASS, OGR, Ingres, MapServer, and GeoDjango

Page 76: Saving Money with Open Source GIS

PROJhttp://trac.osgeo.org/proj/

• Library and executable

• Will project to and from anything

• Used in almost all OS GIS projects

Page 77: Saving Money with Open Source GIS

A little note about projections

Page 78: Saving Money with Open Source GIS

EPSG/WKID Codeshttp://www.epsg.org/Geoodetic.html

• European Petroleum Survey Group (EPSG) initially developed a list of projections for easy reference

• Also known as Well Known ID’s (WKID)

• A good searchable index is: spatialreference.org

Page 79: Saving Money with Open Source GIS

PROJCS["NAD83 / Illinois East (ftUS)", GEOGCS["NAD83", DATUM["North_American_Datum_1983", SPHEROID["GRS 1980",6378137,298.257222101, AUTHORITY["EPSG","7019"]], AUTHORITY["EPSG","6269"]], PRIMEM["Greenwich",0, AUTHORITY["EPSG","8901"]], UNIT["degree",0.01745329251994328, AUTHORITY["EPSG","9122"]], AUTHORITY["EPSG","4269"]], UNIT["US survey foot",0.3048006096012192, AUTHORITY["EPSG","9003"]], PROJECTION["Transverse_Mercator"], PARAMETER["latitude_of_origin",36.66666666666666], PARAMETER["central_meridian",-88.33333333333333], PARAMETER["scale_factor",0.999975], PARAMETER["false_easting",984250.0000000002], PARAMETER["false_northing",0], AUTHORITY["EPSG","3435"], AXIS["X",EAST], AXIS["Y",NORTH]]

EPSG:3435

vs