literate programming and the process of gis steve signell, instructor (signes@rpi.edu) robert...

Post on 18-Jan-2016

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Literate Programming and the Process of GIS

Steve Signell, Instructor (signes@rpi.edu)Robert Poirier, TA (poirir@rpi.edu)

School of ScienceRensselaer Polytechnic Institute

Monday, March 17, 2014

GIS in the SciencesERTH 4750 (38031)

Literate Programming

The process of GIS

• What is the task?• What data do I need• What analyses do I need to perform.• How is the data to be presented

(Maps/Reports/Web applications…)

3

The process of GIS

One example in action…

The process of GIS

The process of GIS

One question that immediately comes to mind with this dataset is "just how many Ecocodes, Domains, Divisions, Provinces, and Sections are present in this map?" Fortunately, we can answer this with a simple SQL query.

The process of GIS

Here is SQL that gives a table of names of the domains, along with area in km

The process of GIS

Here is SQL that gives you a map of the domains

The process of GIS

Here is SQL that gives a table of names of the divisions, along with area in km

The process of GIS

Here is SQL that gives you a map of the divisions

The process of GIS

Example, continued…

Projects & Grading: Review

Short written assignments & quizzes (25%)Participation in lab, lecture & group project (25%)Individual project (50%)

Vector and raster dataWritten & Oral ReportsMust have dynamic web map component

Group Projects

• Several layers: vector and/or raster • 3-4 data analysis components.• Basic web map with layers & layer selector.• Various assignments along the way

Individual Projects

Most proposals are very ambitious– this is good!

Doing the following will get you 75%:• Several vector & at least one raster component (or vice versa) • 3-4 data analysis components.• Written report with static (print) maps. This will be in the style of literate

programming.• Basic web map with layers & layer selector.• Oral report (~7 minutes, last day of class)

Remaining 25%-- excel in one or more areas:• Data Analysis• Written Report• Static Maps• Web Map• Oral report

Individual Projects

Individual Projects

Individual Projects

Individual Projects

Individual Projects

Individual Projects

Individual Projects

Homework

22

Homework for Thursday• Sections 10-13, 18-19, Boundless PostGIS

Tutorial

http://workshops.boundlessgeo.com/postgis-intro/

Homework

23

Homework: quick overview--demo

Tip: Loading PostGIS layers in QGIS

24

I’ve found the DB Manager to work best (DatabaseDB Manager).

Tip: Loading PostGIS layers in QGIS

25

I’ve found the DB Manager to work best (DatabaseDB Manager). • Click and drag layers to add to map. • SQL window is awesome...

Tip: DB Manager SQL Window

26

DB Manager SQL window is awesome...

Tip: DB Manager SQL Window

27

DB Manager SQL window is awesome...

Tip: Getting PostGIS views to work in QGIS

28

This will not work in QGIS because QGIS requires a primary key

CREATE OR REPLACE VIEW orangeline ASSELECT nyc_subway_stations.geom, nyc_subway_stations.color, nyc_subway_stations.nameFROM nyc_subway_stationsWHERE nyc_subway_stations.color::text = 'ORANGE’

Tip: Getting PostGIS views to work in QGIS

29

Add the red highlighted code to make a fake primary key

CREATE OR REPLACE VIEW orangeline ASSELECT nyc_subway_stations.geom, nyc_subway_stations.color, nyc_subway_stations.name,

row_number() OVER() AS id_qgisFROM nyc_subway_stationsWHERE nyc_subway_stations.color::text = 'ORANGE’

top related