===== Hacktory GIS ===== ==== Syllabus ==== * Introductions/instructors. Ask for specific requests for topics/direction. * Intr. -- class * Summary of what we're going to cover * Brief discussion of open source vs. free, etc. * Briefly cover core tech (an hour) * DB * File-based vs. relational * Vector vs. Raster * spatial formats - vector * shapefiles * KML * GeoRSS * spatial formats - raster * GeoTIFF/JPEG * GRASS format * Map image generator (GeoServer, MapServer, MapGuide, Mapnik) * Viewing spatial data (uDig, qGIS, openJUMP, GRASS, OSSIM) * Manipulating spatial data (GPSBabel, gpx2shp) * GPS * APIs * JavaScript * OpenLayers * PHP * REST * Scenarios * Locating data -- where can we find data (30 mins) * PASDA * USGS * NSDI * geodata.gov * OSM * Make quick mention of projections, making sure that found data sets have projection information * SRIDs / EPSG * WKT for projections * PRJ file * KML might not have projection info * Web mercator * state plane systems (Philadelphia as example -- tie back to PASDA) * difference in obtaining data in US vs. other parts of the world * Penn State libraries * Possibly emphasize that this is potentially the most important/expensive part of a GIS project * Create/upload your own data (1 hour) * GPS tracks * Geocoding * geocoder.us * geonames.org * Yahoo batch geocoder -- geocode csv file * GDAL/OGR or FWTOOLS for manipulating data * Getting spatial data served out as static image (simple GeoServer/WMS setup) (30 mins) * Connecting GeoServer to the data source * Mention cartography/SLD * Creating dynamic maps with OpenLayers (30 mins) * Setting up the html for map * JavaScript for building map and connecting to WMS * Making map interactive (2h) * Working with OpenLayers API/events/etc. * Setting up FeatureServer * demo app: An app that allows people to edit map features. It can save the feature edits to FeatureServer. Once data set is edited, it can be output in KML. * Followup * OSGEO, Foss4g, talk about community/organization, how OGC (closed) fits in ==== Infrastructure ==== The general idea is that we will set up a server machine (laptop) with the heavy duty software necessary. * Apache * PHP * PostGIS * FeatureServer * GeoServer We could also keep installers for client software (see spatial data viewing/manipulating above) ==== To-Do ==== * Make sure server stack is set up * Grab installers for client software (putty, winscp, uDig, etc.) * Set up user account * Create set-up script/READMEs * Put together demo app