- Rensselaer Polytechnic Institute

Download Report

Transcript - Rensselaer Polytechnic Institute

GIS in the Sciences
ERTH 49xx
Literate Programming
and the Process of GIS
Peter Fox ([email protected])
Material from Steve Signell
School of Science
Rensselaer Polytechnic Institute
Week 9, 2016
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
Individual Projects
Status?
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
Remaining 25%-- excel in one or more areas:
•
•
•
•
•
Data Analysis
Written Report
Static Maps
Web Map
Oral report
Homework – see website
• Sections 10-13, 18-19, Boundless PostGIS
Tutorial
http://workshops.boundlessgeo.com/postgis-intro/
Tips follow…
12
Tip: Loading PostGIS layers in QGIS
I’ve found the DB Manager to work best
(DatabaseDB Manager).
13
Tip: Loading PostGIS layers in QGIS
I’ve found the DB Manager to work best
(DatabaseDB Manager).
• Click and drag layers to add to map.
• SQL window is awesome...
14
Tip: DB Manager SQL Window
DB Manager SQL window is awesome...
15
Tip: DB Manager SQL Window
DB Manager SQL window is awesome...
16
Tip: Getting PostGIS views to work in
QGIS
This will not work in QGIS because QGIS requires a
primary key
CREATE OR REPLACE VIEW orangeline AS
SELECT nyc_subway_stations.geom,
nyc_subway_stations.color,
nyc_subway_stations.name
FROM nyc_subway_stations
WHERE nyc_subway_stations.color::text = 'ORANGE’
17
Tip: Getting PostGIS views to work in
QGIS
Add the red highlighted code to make a fake primary key
CREATE OR REPLACE VIEW orangeline AS
SELECT nyc_subway_stations.geom,
nyc_subway_stations.color,
nyc_subway_stations.name,
row_number() OVER() AS id_qgis
FROM nyc_subway_stations
WHERE nyc_subway_stations.color::text = 'ORANGE’
18