GEOG5870/1M: Web-based GIS A course on web-based mapping

Course materials

Block 1

In the first course block, we'll look at the GoogleMaps system and API. GoogleMaps is an excellent way to quickly get a map on the screen, and overlay it with interactive data. At the same time, we'll look at the first of our web-based programming languages, Javascript, which we can use to build data-interactivity into our maps.

Note:

Prior to June 2018, Google allowed access to the Maps API without an API key. An update in their policy now dictates that an API key is required to access the Maps API. To generate an API key a Google Cloud account must be created with billing enabled. These materials do not use an API key, therefore as you work through the materials you will notice that the maps you create are greyed out and display a watermark.

Optional Reading: Introduction & History

Unit 1: Getting Started

Unit 2: JavaScript

Unit 3: Developing Google Maps

Unit 4: Putting it all into practice

Optional Unit 5: Advanced Google Maps

Block 2

GoogleMaps is great, but it doesn't always offer everything you need out of a web-mapping package. If you want your own basemaps, or greater control over serving and uploading data, you need a system where you can serve the maps and data yourself, taking more control over the server-side operation. In Block 2, we'll look at this, building up a full client-server system, based around the PostGres database for data and building a client-side map with the package Leaflet. We'll then give you an overview of some other useful technologies you might like to explore.

In the practicals, we'll start by serving some plain text data from PostGres, then visualise this with a Leaflet map, before adjusting the base map, and finally setting up the system to allow users to upload some new data from our webpage to the PostGres server – the foundation of 'crowdsourcing' and location-based surveys.

Unit 6: Introduction to Linux

Unit 7: Server-side data

Unit 8: Introduction to web mapping with Leaflet

Unit 9: Advanced Data

Optional Unit 10: Serving maps and data from your own server

Extra info