We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Introduction to web programming for GIS applications

Michael Miller

"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

Read more

"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.

Enroll now

What's inside

Learning objective

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.

Syllabus

Understand the basic components of web programming, the goals of this course, the basics of client-server programming and understand how it differs from a single user application
Read more

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

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

Understand the philosophy and goals of the course

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

The major and minor components of a web application

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

Section 1
Understand the basics of an HTML document and the most commonly use tags.

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

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

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

Divs, line breaks, and HTML tags for styling

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

Creating a form with HTML tags

Continuation of previous lecture on creating forms in HTML

Section 2 HTML
Understand the purpose of CSS and how it interacts with HTML to improve the presentation of your web page.

Introduction to the basics of CSS

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

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

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

Methods for specifying colors in CSS

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

Section 3 CSS
Understand the Document Object Model (DOM) and how it relates to HTML and CSS. This is the core of client-side programming.

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

An introduction to the concept of objects

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

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

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

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



Understand the purpose of JavaScript and Jquery and how to use them to make web pages interactive

An introduction to the purpose of JavaScript.

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

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

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

Writing event handlers in Javascript

More about writing event handlers in javascript

Even more about event handlers and the if statement in Javascript 

Understand the purpose of variables and how to use them

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

Using Javascript to perform simple calculations

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

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

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

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

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

Learn more about using arrays in JavaScript

Learn how to use objects and JSON to store data.

Understand the various libraries that we will be using in this course

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.

An introduction to the purpose and uses of bootstrap

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

An introduction to jQuery.

Selecting DOM elements with jQuery selectors

Using jQuery to modify the DOM

Learn how Geo-spatial data is stored on the web

Learn how spatial data is structured in geoJSON format

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

Understand the web development process by following along as a simple web map is created using Leaflet.

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

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

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

Learn how to display and style your own custom data

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

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

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

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

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

Summary of client side web mapping and its limitations.

Understand some common server side technologies and how they are used.

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

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

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

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

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

Understand how databases are used in dynamic web pages and the basics of storing, retrieving, and updating data using SQL

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

SQL Create statement

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

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

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

SQL Update and Delete Statements
Understand the basics of the PHP programming languages and how it is used to interact with the database using AJAX to build dynamic web pages.

Learn the purpose and basics of PHP

Learn how to deal with numeric and associative arrays in PHP

Communication with the server - GET and POST

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

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

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

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

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.

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

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

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

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

Understand how PostGIS extends database technology to store and retrieve geospatial data and perform spatial analysis.

Understand how PostGIS adds geospatial functionality to the PostgreSQL database.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Examines spatial web development, which is a growing field with opportunities in many industries
Teaches practical skills, such as using Leaflet, PostGIS, and Turf.js, that are in-demand in the industry
Develops skills in client-side and server-side programming with HTML, CSS, JavaScript, PHP, SQL, and PostGIS
Builds a strong foundation for learners with little to no prior experience in web programming or geospatial analysis
Taught by Michael Miller, who is recognized for his work in geospatial web development and open source software
Provides hands-on labs and interactive materials to reinforce learning

Save this course

Save Introduction to web programming for GIS applications to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction to web programming for GIS applications with these activities:
Practice HTML
The core of any web application is HTML. Review or learn about HTML before starting this course.
Browse courses on HTML
Show steps
  • Review the syntax of HTML elements
  • Expand knowledge of HTML elements
  • Create an example layout using semantic HTML elements
Read "Head First HTML and CSS"
This book will help you solidify your foundational understanding of HTML.
Show steps
  • Read chapters 1-4
Review previously studied material
This course emphasizes technology used in web development. You should brush up on your knowledge to prepare.
Show steps
  • Review notes, assignments, homework, and or quizzes
  • Review textbook references
  • Review slides or recordings of any lectures viewed
  • Do practice questions or complete practice assignments
Three other activities
Expand to see all activities and additional details
Show all six activities
Learn PHP data objects
PHP data objects are commonly used by PHP developers. You should be familiar with them for this course.
Show steps
  • Complete the PHP tutorial on PDO
  • Extend the knowledge of PHP data objects with community resources
Use QGIS to create a geoJSON file
Being able to use QGIS to work with geoJSON is an essential skill for this course.
Browse courses on GeoJSON
Show steps
  • Review the documentation or tutorials for QGIS
  • Create a new project and add a data layer
  • Export the data layer as a geoJSON file
Build a simple portfolio website
Building a simple portfolio website can help you apply the skills you are learning in this course.
Browse courses on Portfolio Website
Show steps
  • Plan the structure and content of your website
  • Design the layout and visual style of your website
  • Develop the HTML, CSS, and JavaScript code for your website
  • Deploy your website to a web hosting provider

Career center

Learners who complete Introduction to web programming for GIS applications will develop knowledge and skills that may be useful to these careers:
Web Developer
Web Development is the central focus of this course, but a Web Developer frequently does more, such as programming and designing web pages. As a Web Developer, you would find the information provided in this course very useful to entering the field from a programming perspective.
GIS Analyst
A GIS Analyst provides solutions to real-world problems using spatial data and geographic technology and is closely related to the field of Web Development. Much of what you learn in this course on the use of web technologies with geospatial data will be useful to your success as a GIS Analyst.
Front-End Developer
Front-End Developers are responsible for the user interface and user experience of a website or web application. The information in this course on HTML, CSS, JavaScript, jQuery, and Bootstrap will form a great foundation for your work as a Front-End Developer.
Software Developer
Creating and maintaining software applications is a big responsibility and typically falls on a Software Developer. This course can teach you the basics of client-server application programming, HTML, CSS, JavaScript, jQuery, Bootstrap, PHP, AJAX, SQL, and PostgreSQL database. These concepts will all be useful to your success as a Software Developer.
Data Analyst
Data Analysts transform raw data into useful information. This course will help you better understand the basics of how data is stored and accessed on the web and the basics of SQL, PHP, AJAX, and PostGIS. This knowledge will be very useful to you as a Data Analyst.
Database Administrator
Database Administrators install and maintain the databases that store data. This course covers the basics of SQL and PostGIS which would be useful to you as a Database Administrator.
Systems Analyst
Systems Analysts analyze the organisation and efficiency of a computer system. They provide solutions to problems and help businesses to operate more efficiently. The information provided in this course will be useful to your work as a Systems Analyst.
Information Architect
Information Architects are responsible for planning the organisation, navigation, and labelling of information on a website or web application. This course will help you to better understand the basics of how a web mapping application is put together which will assist you in your work as an Information Architect.
Network Engineer
Network Engineers plan, implement, and maintain computer networks. The information in this course is only somewhat related to the work that you would do as a Network Engineer, but you may find the material on the Internet and how websites and web applications interact with it to be of interest.
Computer Systems Analyst
Computer Systems Analysts analyze the computer and information needs of an organization and design efficient systems to fulfill those needs. This course may be somewhat useful to you as as Computer Systems Analyst as it teaches the basics of client-server application programming and the basics of databases.
Database Developer
Database Developers design and build software applications that interact withdatabases. They create the structure of the database and write the code that allows users to insert, delete, and update data. This course teaches the basics of databases and the basics of SQL and PostGIS. This knowledge will be very helpful to you as a Database Developer.
Quality Assurance Analyst
Quality Assurance Analysts ensure that software meets the requirements and specifications that it was designed for. This course may be somewhat useful to you in this role as it provides a good overview of how websites and web applications are put together.
Computer Programmer
Computer Programmers design, develop, test, and maintain computer programs. This course provides a broad overview of the Internet, web pages, web applications, and databases. This information could be of interest to a Computer Programmer.
Computer Scientist
Computer Scientists conduct research in the theory and applications of computing. This course provides a broad overview of the Internet, web pages, web applications, and databases. This information could be of interest to a Computer Scientist.
Geospatial Analyst
Geospatial Analysts use geographic information systems (GIS) to solve problems, such as finding the best location for a new business or analyzing the impact of a natural disaster. This course will help build a strong foundation for working with spatial data in web mapping applications.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction to web programming for GIS applications.
Is an excellent supplement for those sections of the course that deal with PostGIS. It can also serve as a general reference for PostGIS.
Is an alternative to the course and can also be used to supplement the course materials.
Provides in depth coverage of Django which can either serve as an alternative to the course or as a supplement.
Provides supplemental material to the JavaScript portions of the course. This would be a good book to read to gain a deeper understanding of Javascript.
If learners want to learn more about javascript, then this book is an excellent resource and can be used as supplemental material to the course.
Provides supplemental material to the course, and would be a useful resource for learners looking to brush up on their Java skills or who are new to Java.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Introduction to web programming for GIS applications.
Geospatial Analysis With R : Go From Beginner To Advanced
Geospatial APIs For Data Science Applications In Python
Node.js, Express, MongoDB & More: The Complete Bootcamp...
Simulating Power Electronic Circuits using Python
Energy Geopolitics using Data Science
Build Responsive Real-World Websites with HTML and CSS
Openlayers 6 From Scratch With A Project
Landing Page Design & Conversion Rate Optimization 2018
Strengthening Geospatial Information Management: Using...
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser