Introduction to web programming for GIS applications

Understanding web programming fundamentals focused on geospatial applications using Leaflet, Turf.js, and PostGIS

4.64 (1460 reviews)
Udemy
platform
English
language
Web Development
category
instructor
6,637
students
14.5 hours
content
Nov 2019
last update
$79.99
regular price

What you will 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.

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

"Michael is an incredibly knowledgeable instructor who assumes no prior knowledge. The course content builds up from some very basic coding practices to complex interaction between client and database via a server. Although it was not expected that the exercises were completed I did indeed follow along and now have a fully-functional webapp that I can modify to suit my needs. For an introduction, this course covers an incredibly wide range of concepts covering not only the display and processing of spatial data but also some internet security measures and even a little history thrown in which makes it much easier to understand the possibilities and limitations of Web GIS. I am thoroughly looking forward to starting Michael's Leaflet course." - Student Review on Udemy

"The course is exactly what I need -- not some copy the script and modify, but rather an understanding of what the process is. At this point, it sounds like a great overview and I am equally impressed with the background and teaching style of the instructor." - Student Review on Udemy

"Great course does exactly what it says on the tin! Easily digested bite sized lectures that are clear and concise and always put the learning into a geospatial perspective, just what I was looking for." - Student review on Udemy

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. 

Content

Introduction

Introduction
My Background
Course Philosophy and Goals
Client - Server Architechture
Components of a web application
Introduction to client side programming
Section 1

HTML - Structure and content

The structure of an HTML document
Basic HTML Tags
Links and finding reference material on the internet
Additional HTML tags
HTML Tables
HTML Forms part 1
HTML Forms Part 2
Section 2 HTML

CSS - Making your document look good

Introduction to CSS
Where CSS lives
CSS precedence
CSS Pseudo-selectors
Colors in CSS
Uses of CSS
Section 3 CSS

The Document Object Model and Events

Intro to the DOM
What is an object
Abstraction and Instantiation
Objects in computer programs
Going from HTML to the DOM
Intro to Events
​Section 4 - The DOM

JavaScript and JQuery

Intro to JavaScript
Accessing the DOM from JavaScript - Part 1
Accessing the DOM from JavaScript - Part 2
Viewing objects in Developer tools
Event Handlers part 1
Event Handlers Part 2
Event Handlers Part 3
Variables
DOM manipulation example 2
Calculations in javascript
Validation in Javascript Part 1
The problem with alerts
Validation Part 2
More DOM manipulation
Loops in JavaScript
Arrays in Javascript
Objects and JSON

Frameworks, Libraries, API's, and Plug-Ins

Introduction to Frameworks, libraries, API's, and plug-ins
Bootstrap - Introduction
Bootstrap - Demonstration
jQuery - Introduction
jQuery - Selections
jQuery - Methods
Geospatial data on the web
GeoJSON
Mapping Libraries and API's

Client-side example. Putting it all together.

Code Editors
First Map - HTML & CSS
First Map - JavaScript
First Map - Add Custom Data
First Map - Respond to user events
First Map - Adding geoJSON data
First Map - Build HTML from geoJSON
First Map - Spatial Analysis with Turf.js
First Map - Creating geoJSON with QGIS
First Map - Summary

Introduction to Server Side technologies.

Introduction to server side technology
Introduction to Databases
Geospatial data in databases
Introduction to servers
Common Frustrations

SQL

Introduction to SQL
SQL Create statement
SQL Insert Statement
SQL Select statement
What can I do with a SQL Statement?
SQL Update and Delete Statements

PHP & AJAX

Introduction to PHP
Arrays in PHP
Communication with the server - GET and POST
Conditional Statements and Loops in PHP
SQL Injection and PHP Data Objects
Accessing the database in PHP
Limitations of PHP and addressing them with AJAX
Introduction to AJAX - Part 1
Introduction to AJAX - Part 2
Returning JSON data with AJAX
Returning spatial data as GeoJSON - Part 1
Returning spatial data as GeoJSON - Part 2

PostGIS

Introduction to PostGIS
Simple Features for SQL specification
Above and beyond the SFS.
Loading data into PostGIS and spatial indexing.
PostGIS examples

Server side example. Putting it all together

Database setup
Populate a leaflet map with data from PostGIS.
Adding data from the client - Part 1
Adding data from the client - Part 2
Modify and delete data from the client
Filter data
Show 5 closest attractions
Section 5 - JavaScript

Bonus Lectures

Bonus Lecture:Designing for mobile applications
QGIS2Web - Get a jump start on your leaflet map creation.
Installing PostgreSQL and PostGIS locally
Loading spatial data into PostGIS
Loading non-spatial data into PostGIS
Accessing PostGIS data from the command line, the pgAdmin GUI, QGIS, and ArcGIS
Bonus Lecture: How to get the most from my series of Udemy courses.

Screenshots

Introduction to web programming for GIS applications - Screenshot_01Introduction to web programming for GIS applications - Screenshot_02Introduction to web programming for GIS applications - Screenshot_03Introduction to web programming for GIS applications - Screenshot_04

Reviews

Jason
November 3, 2023
Some of Bootstrap and Javascript is outdated. I was able to figure it out by going online to see what had changed since this course was first developed and get things working. It was a good exercise for me, because it allowed me to research and troublshoot which actually made it a better learning experience.
Peter
October 7, 2023
Pretty good, but very dated. At minimum, it should be updated with ES6. Even better would be dropping jQuery for vanilla JS, or maybe a modern JS library that manages state.
Lauren
September 9, 2023
A pretty reasonable starting point for me and I have the ability to look back at the materials as I develop my web map.
Alexandru
June 13, 2023
Unlike some newer courses, this won't hold you by the hand. For instance, I never worked with SQL and Apache, and it doesn't explain to you how to use them. I used NodeJS with ExpressJS and had to learn SQL on my own(it wasn't hard, but a little heads-up would have bought me some time). Anyways, at least it shows you how to implement geoJSON into an webpage and that's fine, but in the future, a bit of walk-through would be nice, there are a lot of frameworks out there...
Aurelio
February 9, 2023
Think of this before purchasing the course: YOU: "I want to learn how to make interactive maps for webpages" MIKE: "You should learn [this this this] because of [that that that] And that's it! You will not learn much beyond the basic syntax of the languages you need to program maps for webpages, but you will have an excellent starting point since Mike tells you many options and the reason to use or not use most of them. This course is the one you must look at if you do not know where to begin in the ocean of tools for web mapping. IT WAS GREAT FOR ME. The missing half-star is because I think Mike could have provided more resources at the beginning/middle of the course. He does provide the CDMX project at the end, but I did not know that until I reached the final part of the course. When I was trying to follow him it was kind of annoying to stop and look for things when I was already coding (which is difficult because of the teaching philosophy of this particular course). Also the installation of the database manager could be in the middle of the course, not in the bonus lectures, and he could also include a similar video to install/configure the server to practice the server-side coding as well. Thanks, Mike!
Abir
November 29, 2022
Yes. It's an amazing course indeed. I wondered how all of that technology gets put together to perform geospatial analysis which broadly can be visualized at the same time. And, it answers those questions perfectly.
Tristan
October 19, 2022
As the teacher states, this is not a course where you are expected to code along. And as such, I really appreciated it, although I skipped the HTML and CSS sections as I've already coded e-maps before. What I was really interested in was the DB section (PostgreSQL+PostGIS). Although I don't intend to learn PHP or JQuery, I will try to replicate the project using Node.js and modern JS. I think this is the right way to consider this course: an invitation/inspiration to a further voyage. My only critique would be the use of a powerpoint to show code: I think filming a VSC window would have been better.
Victor
October 5, 2022
This show has no code examples nor a way for the watcher to practice some of the elements being taught.
Alex
August 31, 2022
Micheal, you are an astonishing teacher, the time and dedication you have put in this course is amazing. I strongly recommend this course, it provides you with plenty of useful and practical knowledge in the web programming GIS if you are starting or even if you have already done something in the field.
Mark
August 30, 2022
For me, this was a fantastic learning experience and I recommend the course--it delivers what the course description describes. The instructor (Michael Miller) lays out a clear path from the very beginning basics to a fully completed web-GIS project. This is the third course I've completed with this instructor--they have all been professionally put together and offer tremendous value for someone willing to invest a little study time. The instructor leads you through an explanation of the material and then through the actual coding. With a little diligence and some occasional help from google/stackoverflow, you can build the complete code yourself--I did. Completed code templates are not included--the learning experience is in following the lectures and coding along, and when necessary doing a little online research. When there are the occasional difficult code pieces or application configuration challenges, the Q&A generally contains a fix/bridge over the challenge.
Vekaama
August 11, 2022
It is definitely a good fit. As I was recently introduced to web programming I would like to expand more on the knowledge I gathered from the classroom.
Ari
July 11, 2022
I like to learn and study at udemy because with this learning technique like this i could understand what is the web mapping.
Joe
June 25, 2022
Since I am completely new to web development, the overview of the components needed and how they work together was perfect.
Adam
June 17, 2022
Very informative, was able to follow along with no problems and I feel confident about implementing what I've learnt along the way.
Ruben
June 1, 2022
This course is way better than expected and I not only recommend it to Geodata learners, but to "n00bs" into web developement in general. The teacher has broad knowledge about the very many topics of web developement, has a hands-on mentality and explains to the newcomer how it comes we use such and such web technologies and what is best practice. Now, I have "the big picture". Also, I recommend this course to new web developers, because poking around maps isn't "artificial" or boring, but actually fun and aside from the steep learning curve a project useful to everyone who has used a map once, hence everyone. Too bad, video quality is only 720p.

Charts

Price

Introduction to web programming for GIS applications - Price chart

Rating

Introduction to web programming for GIS applications - Ratings chart

Enrollment distribution

Introduction to web programming for GIS applications - Distribution chart

Related Topics

1004008
udemy ID
11/5/2016
course created date
11/23/2019
course indexed date
Bot
course submited by