Introduction to web programming for GIS applications
4.4 (53 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
266 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Introduction to web programming for GIS applications to your Wishlist.

Add to Wishlist

Introduction to web programming for GIS applications

Understanding web programming fundamentals focused on geospatial applications using Leaflet, Turf.js, and PostGIS
Best Selling
4.4 (53 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
266 students enrolled
Created by Michael Miller
Last updated 4/2017
English
Curiosity Sale
Current price: $25 Original price: $100 Discount: 75% off
30-Day Money-Back Guarantee
Includes:
  • 13.5 hours on-demand video
  • 5 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand the basic technologies used in web programming and how they interact to form a web application. You will gain basic knowledge of HTML, CSS, JavaScript, jQuery, Bootstrap, PHP, AJAX, SQL, and the PostgreSQL database. More specifically you will gain enough understanding of these technologies to be able to use Leaflet, Turf.js, and PostGIS to create a web-mapping application that is freely available to all.
View Curriculum
Requirements
  • This is an introductory level course. The focus is on understanding concepts and, although examples will be provided, installing software and following along is not expected.
  • Some familiarity with programming and GIS will be beneficial but it is not assumed.
Description

"Excellent overview of web programming with Geospatial data. I highly recommend this for any beginners. For those with more experience designing web applications, there are a number of points addressed that often are overlooked in typical tutorials. This was a great dive into using open source tools and provides a great example of the tools in action. " - Student Review on Udemy

"Thank you for this course! It fills a knowledge gap that I wasn't even aware I had. As a GIS scientist without formal computer science training, a lot of what you are teaching here will come in handy." - Student message on Udemy

"You truly have inspired me to take a step away and focus on learning more webGIS. Thanks!!" - Student comment on Twitter

This course is oriented towards achieving a conceptual understanding of how web technologies work together to form a web application that can be used to distribute, collect, or analyze geospatial data.

The focus will be on understanding concepts.  You will not have to install any software on your computer.  You will not be asked to follow along step-by-step. Instead the goal will be to provide the background information necessary to understand how the internet works, which technologies you really need to understand and when to use them.  We will also explore additional technologies that you may want to explore further as your understanding and needs grow.

We will be using readily available open source software so you will be able to create web maps without spending any money. The concepts you will learn, however, will be equally valid if you have access to commercial GIS software and web servers.

My intention is to provide the information that I wish I had available before I began my journey into the world of geospatial web development.  I spent a lot of time trying to put together the big picture from the detailed information that was available and I wasted a lot of time pursuing technologies that really were not necessary.  My hope is to help you navigate the world of web development more efficiently than I did and that after taking this course you will be better prepared to take more detailed courses from myself or others. 

Who is the target audience?
  • Two main groups of students will benefit from this course. First will be GIS users who are interested in understanding how to distribute and collect data using the internet. Second will be web developers interested in adding geospatial applications to their toolkit.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
97 Lectures
13:26:37
+
Introduction
6 Lectures 32:21

A short lecture to introduce the course and tell you what it is all about.

Preview 04:12

A little bit about me and why I decided to develop this course.

Preview 05:07

Understand the philosophy and goals of the course

Preview 03:13

What is client-server architecture and how does it work?

Preview 04:39

The major and minor components of a web application

Preview 10:12

Introduction to how HTML, CSS, and JavaScript work together in the browser.

Preview 04:58

Section 1
8 questions
+
HTML - Structure and content
7 Lectures 40:49

The basic structure of an HTML document. Header and body sections.

The structure of an HTML document
05:03

An introduction to HTML tags. Headers, paragraphs, and lists.

Basic HTML Tags
03:39

Adding a link to a web page and using the web to find reference material about HTML tags

Links and finding reference material on the internet
06:31

Divs, line breaks, and HTML tags for styling

Additional HTML tags
04:19

Create tables in HTML using table, th, tr, and td tags.

HTML Tables
03:41

Creating a form with HTML tags

HTML Forms part 1
07:08

Continuation of previous lecture on creating forms in HTML

HTML Forms Part 2
10:28

Section 2 HTML
6 questions
+
CSS - Making your document look good
6 Lectures 45:06

Introduction to the basics of CSS

Introduction to CSS
06:15

Description of the three different places that you can include CSS in your document.

Where CSS lives
04:28

How thebrowser determines which CSS rules to apply when their are conflicts.

CSS precedence
07:22

How to use pseudo-selectors to refine the selections that css rules are applied to.

CSS Pseudo-selectors
06:32

Methods for specifying colors in CSS

Colors in CSS
13:55

What is CSS used for in web applications and how can we learn more.

Uses of CSS
06:34

Section 3 CSS
7 questions
+
The Document Object Model and Events
6 Lectures 30:19

A short introduction to what the Document Object Model means and how it works.

Preview 03:13

An introduction to the concept of objects

What is an object
06:14

Describing an object class, an abstract class, and the instantiation of objects.

Abstraction and Instantiation
02:49

An example of how objects are used, and how their properties are set  in Powerpoint and QGIS

Objects in computer programs
04:21

How is the HTML code of a web page translated into a document object model.

Going from HTML to the DOM
06:14

Learn what an event is and how to respond to events with an event handler

Intro to Events
07:28



​Section 4 - The DOM
6 questions
+
JavaScript and JQuery
17 Lectures 01:41:33

An introduction to the purpose of JavaScript.

Intro to JavaScript
02:45

Learn how to access and modify the Document Object Model using Javascript

Accessing the DOM from JavaScript - Part 1
04:16

Learn more about how to access and modify the Document Object Model using Javascript

Accessing the DOM from JavaScript - Part 2
09:12

Learn how to view element properties using the google chrome developer tools

Viewing objects in Developer tools
09:44

Writing event handlers in Javascript

Event Handlers part 1
08:57

More about writing event handlers in javascript

Event Handlers Part 2
07:31

Even more about event handlers and the if statement in Javascript 

Event Handlers Part 3
03:23

Understand the purpose of variables and how to use them

Variables
04:53

View a second example of DOM manipulation using JavaScript using the switch statement

DOM manipulation example 2
04:44

Using Javascript to perform simple calculations

Calculations in javascript
06:19

Learn how to validate user input and report errors to the user.

Validation in Javascript Part 1
04:43

Learn about the problems associated with alert boxes and methods for communicating with the user without using alerts.

The problem with alerts
04:57

More about validation and an example of using DOM manipulation to communicate to the user.

Validation Part 2
04:38

Finishing our example by outputting our results to the user using DOM manipulation

More DOM manipulation
02:53

Learn how to use for loops and while loops to minimize code repetition in Javascript

Loops in JavaScript
04:12

Learn more about using arrays in JavaScript

Arrays in Javascript
06:25

Learn how to use objects and JSON to store data.

Objects and JSON
12:01
+
Frameworks, Libraries, API's, and Plug-Ins
9 Lectures 01:18:42

An introduction to the frameworks and libraries that we will be using in this course, and a few that we won't be using, but that you probably should know about.

Introduction to Frameworks, libraries, API's, and plug-ins
08:29

An introduction to the purpose and uses of bootstrap

Bootstrap - Introduction
07:08

A demonstration of using Bootstrap classes to layout and style your web page

Bootstrap - Demonstration
18:46

An introduction to jQuery.

jQuery - Introduction
03:04

Selecting DOM elements with jQuery selectors

jQuery - Selections
04:45

Using jQuery to modify the DOM

jQuery - Methods
08:26

Learn how Geo-spatial data is stored on the web

Geospatial data on the web
07:26

Learn how spatial data is structured in geoJSON format

GeoJSON
13:48

Learn about the pros and cons of different mapping libraries and what they can do for you.

Preview 06:50
+
Client-side example. Putting it all together.
10 Lectures 01:52:25

A description of the advantages of Code Editors with some examples.

Code Editors
15:50

Learn how to create a basic responsive web map layout with HTML, CSS, and bootstrap

First Map - HTML & CSS
16:05

Use Javascript to initialize a web map and add a background map to it.

First Map - JavaScript
07:52

Learn how to display and style your own custom data

First Map - Add Custom Data
17:01

Learn how to respond to both DOM events and map events with JavaScript event handlers.

First Map - Respond to user events
13:00

Learn how to add data from an external geoJSON data to a web map

First Map - Adding geoJSON data
11:08

Learn how to loop through geoJSON data and create HTML from it on the fly.

First Map - Build HTML from geoJSON
07:09

Learn how to integrate Turf.js to perform spatial analysis in the client.

First Map - Spatial Analysis with Turf.js
12:16

Learn how to use QGIS to create and modify geoJSON data files for use in leaflet.

First Map - Creating geoJSON with QGIS
08:39

Summary of client side web mapping and its limitations.

First Map - Summary
03:25
+
Introduction to Server Side technologies.
5 Lectures 26:44

Understand the two main server-side technologies, databases and server side programming languages.

Preview 01:54

Understand more about the types of databases available and how they are used.

Introduction to Databases
06:28

Understand how geospatial data is stored in databases and the options that are available.

Geospatial data in databases
05:58

Understand the types of servers that are available and the advantages and disadvantages of each.

Introduction to servers
05:55

A brief explanation of the history of the web and why we need so many disparate programming languages to develop a web application.

Preview 06:29
+
SQL
6 Lectures 54:38

Understand how SQL is used in conjunction with a server side programming language to create dynamic web pages.

Introduction to SQL
07:22

SQL Create statement
09:22

Learn how to use a SQL Insert statement to add new records to a database table.

SQL Insert Statement
05:05

Learn how to use SQL SELECT statements to retrieve data from the database with both single table, multi-table, and spatial queries.

SQL Select statement
11:00

Learn the different methods available to submit a SQL statement to a database with examples.

What can I do with a SQL Statement?
16:39

SQL Update and Delete Statements
05:10
+
PHP & AJAX
12 Lectures 02:24:58

Learn the purpose and basics of PHP

Introduction to PHP
15:24

Learn how to deal with numeric and associative arrays in PHP

Arrays in PHP
09:13

Communication with the server - GET and POST
13:34

Learn how to control program flow in PHP with conditional statements and loops

Conditional Statements and Loops in PHP
14:27

Understand the dangers of SQL injection attacks and how to prevent them with PDO data objects

SQL Injection and PHP Data Objects
15:39

Learn how to access and manage the database using PHP Data Objects

Accessing the database in PHP
16:29

Learn about some of the limitations with PHP and how to solve them with JavaScript and AJAX

Limitations of PHP and addressing them with AJAX
04:59

Learn how to use AJAX to submit a request to the server, process the results on the server and return the data to the client.

Introduction to AJAX - Part 1
11:22

Live demonstration of using AJAX requests to retrieve data from the server.

Introduction to AJAX - Part 2
06:30

Learn how to format database data on the server as JSON and process it on the client.

Returning JSON data with AJAX
16:22

Learn how to format spatial data on the server as geoJSON for inclusion in a leaflet map.

Returning spatial data as GeoJSON - Part 1
09:24

Live demonstration of adding data from the database to a leaflet map.

Returning spatial data as GeoJSON - Part 2
11:35
3 More Sections
About the Instructor
Michael Miller
4.4 Average rating
63 Reviews
283 Students
2 Courses
GIS Programming

I have been programming and working with database applications for over 30 years, and specializing in geospatial applications for over 20 years. My goal with all my courses is to help students understand GIS, and particularly GIS programming, so that they can answer their own geospatial questions, and do so without repeating all the mistakes that I have made.