open source geospatial:

46
Open Source Geospatial: Exploring the cross-roads of community organization, product integration, and acceptance in the real world Presented at NOAA on 07/29/08 by Aaron Racicot – GIS Programmer, GISP Z-Pulley Inc. (www.reprojected.com) [email protected]

Upload: karma

Post on 06-Jan-2016

44 views

Category:

Documents


0 download

DESCRIPTION

Open Source Geospatial: Exploring the cross-roads of community organization, product integration, and acceptance in the real world Presented at NOAA on 07/29/08 by Aaron Racicot – GIS Programmer, GISP Z-Pulley Inc. (www.reprojected.com) [email protected]. Who am I?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Open Source Geospatial:

Open Source Geospatial:Exploring the cross-roads of community organization, product

integration, and acceptance in the real world

Presented at NOAA on 07/29/08 by Aaron Racicot – GIS Programmer, GISP

Z-Pulley Inc. (www.reprojected.com)[email protected]

Page 2: Open Source Geospatial:

Who am I?

B.S. Computer Science

M.S. Environmental Science

Open Source User/DeveloperGIS Programmer

Page 3: Open Source Geospatial:

Open Source Geospatial – What Is It?

OS Core(Linux)

OS GIS Base Tools (GDAL, FDO, PostGIS, etc.)

OS GIS Web Apps(Mapserver, MapGuide,

OpenLayers, etc.)

OS Base Tools (Apache, Compilers, etc.)

OS GIS Desktop Apps(QGIS, GRASS, UDigJump, OSSIM, etc.)

Page 4: Open Source Geospatial:

OSGeo – Open Source Geospatial Foundation

Board of Directors

Website

Fundraising

Incubation

Promotion and Visibility

Public Geospatial Data

Education and Curriculum

System Administration

Charter Members

General Members

Projects

Page 5: Open Source Geospatial:

OSGeo – Mission

•To provide resources for foundation projects - eg. infrastructure, funding, legal.

•To promote freely available geodata - free software is useless without data.

•To promote the use of open source software in the geospatial industry (not just foundation software) - eg. PR, training, outreach.

•To encourage the implementation of open standards and standards-based interoperability in foundation projects.

•To ensure a high degree of quality in foundation projects in order to build and preserve the foundation "brand".

•To make foundation and related software more accessible to end users - eg. binary "stack" builds, cross package documentation.

•To provide support for the use of OSGeo software in education via curriculum development, outreach, and support.

•To encourage communication and cooperation between OSGeo communities on different language (eg. Java/C/Python) and operating system (eg. Win32, Unix, MacOS) platforms.

•To support use and contribution to foundation projects from the worldwide community through

internationalization of software and community outreach.

•To operate an annual OSGeo Conference, possibly in cooperation with related efforts (eg. EOGEO).

Page 6: Open Source Geospatial:

OSGeo – Projects

MapbenderMapGuide MapServer

OpenLayers GRASS OSSIM

QGISFDO

GDAL/OGR GeoTools

GeoNetwork

Pro

jects

Page 7: Open Source Geospatial:

OSGeo – Events

Page 8: Open Source Geospatial:

OSGeo – Local Groups

Page 9: Open Source Geospatial:

A picture speaks louder than words…

Page 10: Open Source Geospatial:

Examples - Desktop

Grass - Raster Processing

Page 11: Open Source Geospatial:

Examples - Desktop

QGis

Page 12: Open Source Geospatial:

Examples - Web-Based

AJAX-User Based Data Filter

GMT generated graphics

Spatially constrained queries and scenarios

Chameleon Mapserver framework

PostGIS Spatial Data

Page 13: Open Source Geospatial:

Examples - Web-Based

“Google Maps” Like Tools

Tile based image server

Super Slippy!

Openlayers

Page 14: Open Source Geospatial:

How is this useful to you?

Page 15: Open Source Geospatial:

Personal Use….

Thanks to Dylan Beaudette : http://casoilresource.lawr.ucdavis.edu/drupal/node/244

Navigating Wilderness Areas with GRASS

Cla

ssifi

catio

n

Cost S

urfa

ce

Page 16: Open Source Geospatial:

Creating Data….

Digitizing, Modifying, Extracting…

Context Layer Viewing

Create New Shapes

Create New Attributes

Page 17: Open Source Geospatial:

Transforming Data….

How to get coordinates in UTM to Geo-NAD83?

Page 18: Open Source Geospatial:

Web enable geo-data….

Page 19: Open Source Geospatial:

Spatially enable your database….How to select data within a polygon area?

Intersects Geometry Definition

Distance(geometry, geometry)Equals(geometry, geometry)Disjoint(geometry, geometry)Intersects(geometry, geometry)Touches(geometry, geometry)Crosses(geometry, geometry)Within(geometry A, geometry B)Overlaps(geometry, geometry)Contains(geometry A, geometry B)Intersects(geometry, geometry)Relate(geometry, geometry, intersectionPatternMatrix)Relate(geometry, geometry)

Centroid(geometry)Area(geometry)Length(geometry)PointOnSurface(geometry)Boundary(geometry)Buffer(geometry, double, [integer])ConvexHull(geometry)Intersection(geometry, geometry)SymDifference(geometry A, geometry B)Difference(geometry A, geometry B)GeomUnion(geometry, geometry)GeomUnion(geometry set)MemGeomUnion(geometry set)

Page 20: Open Source Geospatial:

What have I been doing?

Page 21: Open Source Geospatial:
Page 22: Open Source Geospatial:

Decision Support Pattern - Fisheries

Field Data Collection

Data Analysis

QA/QC/Feedback

Inform Decision Makers

Field Work Back at the Office

Page 23: Open Source Geospatial:

Old Version of Tool

Page 24: Open Source Geospatial:

New Version of Tool

Page 25: Open Source Geospatial:

Being Developed in the Open

Page 26: Open Source Geospatial:

Tools Used

PyQTPyQGIS

Page 27: Open Source Geospatial:

Requirements to build

QGIS 0.9+

QT 4.3+

SIP 4.7+

PyQT 4.3+

OpenOceanMap 0.1+

Py2Exe/Py2App

Inno Installer

Page 28: Open Source Geospatial:

QT and QGIS API exposed

# PyQt4 includes

from PyQt4.QtCore import *from PyQt4.QtGui import *

# QGIS bindings

from qgis.core import *from qgis.gui import *

Page 29: Open Source Geospatial:

Windows inherit from QT

# Main window used for housing the canvas,# toolbars, and dialogs

class MainWindow(QMainWindow, Ui_MainWindow):

def __init__(self,splash): QMainWindow.__init__(self)

# required by Qt4 to initialize the UI self.setupUi(self)

Page 30: Open Source Geospatial:

Create a map canvas from QGIS

# create map canvas

self.canvas = QgsMapCanvas(self)self.canvas.setCanvasColor(QColor(255,255,255))self.canvas.enableAntiAliasing(True)self.canvas.useQImageToRender(False)self.canvas.show()

Page 31: Open Source Geospatial:

Hook up simple tools…Zoom In

# create a little toolbar for map toolself.toolbar = parent.addToolBar(“MapTool")self.toolbar.addAction(parent.mpActionZoomIn)

self.toolZoomIn = QgsMapToolZoom(self.canvas,False)self.toolZoomIn.setAction(parent.mpActionZoomIn)

# Connect the button signal to a slotQObject.connect(parent.mpActionZoomIn,

SIGNAL("triggered()"), self.zoomIn)

# Signal handler for zoom in buttondef zoomIn(self):

self.canvas.setMapTool(self.toolZoomIn)

Page 32: Open Source Geospatial:

Embedded Python Interpreter

Page 33: Open Source Geospatial:

Bundle it all up… py2exe

C:\openoceanmap>more setup.pyfrom py2exe.build_exe import py2exefrom distutils.core import setupopts = { "py2exe": { "includes": ["sip"], "packages": ["qgis","PyQt4"], "dist_dir": "bin", }}setup(options = opts, console=[{"script": "openoceanmap.py"}] )

C:\openoceanmap>python setup.py py2exe

Page 34: Open Source Geospatial:

OpenOceanMap

Page 35: Open Source Geospatial:

Other parts of the process…QA/QC

Field Data Collection

Data Analysis

QA/QC/Feedback

Inform Decision Makers

Field Work Back at the Office

Page 36: Open Source Geospatial:

User Driven QA/QC…

Page 37: Open Source Geospatial:

Other parts of the process…DST’s

Field Data Collection

Data Analysis

QA/QC/Feedback

Inform Decision Makers

Field Work Back at the Office

Page 38: Open Source Geospatial:

Modeling work

Page 39: Open Source Geospatial:
Page 40: Open Source Geospatial:

Forestry Referals DSS

Page 41: Open Source Geospatial:

Rectify

Page 42: Open Source Geospatial:

Digitize

Page 43: Open Source Geospatial:

Download

Page 44: Open Source Geospatial:

Run Reports

Page 45: Open Source Geospatial:

Next?

Integrated DSS for Tidal In Stream Energy

Conversion Projects

Page 46: Open Source Geospatial:

Where to go for more infoZ-Pulley Inc. - Reprojected

http://www.reprojected.com Ecotrust

http://www.ecotrust.orgOSGeo

http://www.osgeo.orgOSGIS

Maptools - http://www.maptools.org FreeGIS - http://freegis.org/ Open Source GIS -

http://opensourcegis.org/Standards

OGC - http://www.opengeospatial.org/Desktop

GRASS - http://grass.itc.it/ QGIS - http://qgis.org/ OSSIM - http://www.ossim.org/ UDIG - http://udig.refractions.net/ JUMP – http://jump-project.org/ OpenEV - http://openev.sourceforge.net/

Server/Web Mapserver - http://mapserver.gis.umn.edu/ MapBender - http://www.mapbender.org MapGuide OS –

http://mapguide.osgeo.org/ OpenLayers - http://www.openlayers.org/ EXTJS – http://extjs.com/ TileCache - http://www.tilecache.org/ FeatureServer - http://featureserver.org/

Tools PostGIS - http://postgis.refractions.net/ Remote Sensing -

http://remotesensing.org/ GDAL/OGR - http://gdal.maptools.org/ PROJ.4 - http://proj.maptools.org/ R-Statistics - http://www.r-project.org/ GMT - http://gmt.soest.hawaii.edu/

Blogs - Aggregators http://planetosgeo.crschmidt.net/ http://www.planetgs.com/ http://slashgeo.org/

Blogs - Individual http://www.osgeo.org/blog http://zcologia.com/news/ http://openlayers.org/blog http://blog.qgis.org/ http://mappinghacks.com/ http://hobu.biz/ http://www.reprojected.com/geoblog

IRC #osgeo, #grass, #mapserver, #openlayers,

etc…Local User Group

http://groups.google.com/group/cugos