
Recap the tools and workflows from part 1—ArcGIS Pro, QGIS, PostgreSQL with PostGIS, and GeoServer—covering spatial data, 2D and 3D maps, and web publishing.
Create your first html web application by turning a text file into an html document, using code editors to write it, and previewing in a browser.
Explore html tags from h1 to h6, paragraph, link, button, input, image, hr, and br, with attributes like href, src, placeholder, width, height, and use live server in VS Code.
Discover how the address element uses italic styling, apply dir and bidirectional override for right-to-left languages, and use comments, style colors, and width to control layout.
Explore advanced HTML table techniques, including span across columns and rows, padding and borders, plus CSS zebra striping, and learn to structure and style ordered and unordered lists.
Master the span element to style text and assign IDs or classes to HTML elements with CSS. Explore inline and internal CSS, and nested and description lists.
Explore foundational web page layout with header, nav, section, article, aside, and footer, and learn to apply css float to create two-column layouts, with inline and internal css demonstrations.
Compare data lists and selects via an input list. Demonstrate input properties such as required, disabled, checked, max length, and read only across types like email, password, radio, and date.
Master CSS font properties to optimize readability by selecting font family with fallbacks, weight, style, and size. Explore Google fonts to enrich typefaces and ensure broad browser support.
Import icons from the internet using libraries like Google icons, Bootstrap icons, and Font Awesome via CDN links. Use SVG or PNG formats and adjust size with CSS.
Explore how CSS uses display, inline, block, and inline-block to build a navigation menu, center an image, and apply descendant, child, adjacent, and general sibling selectors.
Create a responsive three-column page layout with header and top nav using HTML and CSS, using floats, box-sizing, and a media query for stacking on small screens.
Master the CSS important rule, use calc for dynamic values, and declare and call CSS variables with var(--name), including nested calc, to create responsive styles.
Learn to implement tooltips with hover, create image reflections using webkit reflection, apply gradient masking with -webkit-mask-image, and style multiple CSS buttons with hover transitions and disabled states.
Learn CSS button animations with an animated arrow pointer and hover transitions, and build a simple pagination UI to navigate multiple pages.
Master flexbox basics with css display flex, including flex group, grow, and basis. Use media queries to build responsive layouts that switch from two columns to a stacked column.
Learn to integrate the bootstrap CSS framework to build responsive web pages, choosing between CDN or downloaded files, and apply bootstrap classes like btn and alert for styling.
Learn how to integrate Bootstrap in web projects by copying ready-made components, importing Bootstrap files, and customizing forms, buttons, alerts, cards, and carousels.
Explore bootstrap components to build a complete web page layout with a navbar, sidebar, image cards, tables, and tabs, plus a footer with icons, using responsive grid and columns.
Learn to craft a portfolio webpage layout with a relative home container, calc-based height minus header, and a two-row grid with max-content rows and space around alignment.
Build a portfolio webpage by creating a services section with icon cards and a responsive projects grid that uses hover effects, filters, and a more button to showcase GIS work.
Explore how JavaScript identifiers name variables and functions, with case sensitivity and letters, digits, underscores, and dollar signs. Learn var, let, and const scope, redeclaration, and string concatenation with numbers.
Explore arithmetic and assignment operators in JavaScript, including addition, subtraction, multiplication, division, modulus, exponentiation, and pre-increment and post-increment, with string concatenation and dynamic typing.
Explore JavaScript functions and objects with practical examples, learning parameters, arguments, return values, and dot notation to manipulate objects like a car, for web GIS development.
Explore declaring and using objects in JavaScript, including dot and bracket notation, with methods using this to access properties, and strings: length, slice, substring, substr.
Explore built-in JavaScript string functions, including concat, trim, index of, search, and match; learn ends with and backticks for multi-line strings with dollar sign and braces in web GIS.
Explore JavaScript number data types, including strings and arithmetic behavior, and convert strings to numbers using Number, parseInt, and parseFloat. Demonstrate base conversions to binary, octal, hexadecimal, and decimal.
Explore JavaScript date objects via new Date(), browser timezone, and toDateString/UTC string formatting, plus math functions including random, rounding, min/max, and overflow behavior.
Master for, for-in, while, and do-while loops in JavaScript to iterate arrays and object properties, with syntax insights and practical examples.
Explore how the DOM and document object model let you interact with HTML elements by using getElementById, onclick, onmouseover, onmousemove, and onkeydown, read event.keyCode, and perform CSS manipulation via element.style.
Explore setTimeout and setInterval in JavaScript to delay and repeat code, using callbacks, DOM manipulation (getElementById, innerHTML, onclick) and a bootstrap spinner to show loading and completion after 3 seconds.
Enhance the portfolio webpage by implementing active filter indicators for projects like web mapping, automation, and data engineering. Integrate a Swiper testimonial carousel and GSAP animations for improved visuals.
Learn to build a sign-in page for a portfolio site and implement a show-password toggle using jQuery, Bootstrap, and a checkbox to switch a password field between text and password.
Explore PHP fundamentals including echo and print, comments, variables with $, data types, concatenation with dot, and handling user input via a GET form using $_GET to display input.
Explore how to use user-defined functions in PHP with global and local variables, passing salary values to bonus salary function and increase salary function, and organizing code in separate files.
Discover how a PHP sign-in page validates credentials by querying the users table for the email, verifies the encrypted password, and redirects to services.php, while noting a current access-control issue.
Please rate and comment on the course, as your feedback helps improve the GIS course and supports students on their learning journey.
Develop an interactive Afghanistan provinces map using web GIS, with a searchable dropdown that filters province polygons, and integrate it into a portfolio page using Leaflet and GeoJSON data.
Province names:
--------------
Badakhshan
Badghis
Baghlan
Balkh
Bamyan
Daykundi
Farah
Faryab
Ghazni
Ghor
Hilmand
Hirat
Jawzjan
Kabul
Kandahar
Kapisa
Khost
Kunar
Kunduz
Laghman
Logar
Nangarhar
Nimroz
Nuristan
Paktika
Paktya
Panjshir
Parwan
Samangan
Sari Pul
Takhar
Uruzgan
Wardak
Zabul
---------------------------------------
Province names as html option:
<option value="">All</option>
<option value="Badakhshan">Badakhshan</option>
<option value="Badghis">Badghis</option>
<option value="Baghlan">Baghlan</option>
<option value="Balkh">Balkh</option>
<option value="Bamyan">Bamyan</option>
<option value="Daykundi">Daykundi</option>
<option value="Farah">Farah</option>
<option value="Faryab">Faryab</option>
<option value="Ghazni">Ghazni</option>
<option value="Ghor">Ghor</option>
<option value="Hilmand">Hilmand</option>
<option value="Hirat">Hirat</option>
<option value="Jawzjan">Jawzjan</option>
<option value="Kabul">Kabul</option>
<option value="Kandahar">Kandahar</option>
<option value="Kapisa">Kapisa</option>
<option value="Khost">Khost</option>
<option value="Kunar">Kunar</option>
<option value="Kunduz">Kunduz</option>
<option value="Laghman">Laghman</option>
<option value="Logar">Logar</option>
<option value="Nangarhar">Nangarhar</option>
<option value="Nimroz">Nimroz</option>
<option value="Nuristan">Nuristan</option>
<option value="Paktika">Paktika</option>
<option value="Paktya">Paktya</option>
<option value="Panjshir">Panjshir</option>
<option value="Parwan">Parwan</option>
<option value="Samangan">Samangan</option>
<option value="Takhar">Takhar</option>
<option value="Uruzgan">Uruzgan</option>
<option value="Wardak">Wardak</option>
<option value="Zabul">Zabul</option>
Level up an interactive Afghanistan provinces map by adding side panels, a scale bar, and image import, using Bootstrap and jQuery to toggle layers.
Learn to implement an all/none toggle in a web GIS project by adding JavaScript conditional logic to show or hide map layers with Leaflet.
Learn to convert GeoJSON accident points into clusters using the Leaflet marker cluster plugin, including setup via dist files or CDN, and wiring marker clusters with GeoJSON data.
Learn how to use turfjs to create points from longitude-first coordinates, visualize them on a web map, and compute distances between points in kilometers or miles.
Learn to create a buffer around a point with turf.js, fit bounds, and compute polygon intersection, union, difference, centroid, and point-to-line distance.
Explore creating a point-based buffer with a polygon around a point using turf.js, including line offset, polygon smooth, and transforming polygons through translate and scale on a web map.
Explore apache echarts to visualize data in web gis, using bar charts and other chart types. Leverage a powerful rendering engine, data filtering, clustering, and regression for in-depth data analysis.
Explore an interactive Afghanistan provinces map that visualizes population and region data with a dynamic pie chart, dropdown filtering, and integrated charts in a web GIS project.
Import and configure a bar chart and a line chart in a web GIS project for Afghanistan provinces, wire them to a map, and work with hard-coded data and interactivity.
Explore Geoserver and the world of Web GIS, publishing and visualizing spatial data on the web with open source tools like PostGIS and shapefiles.
Explore requesting WFS from Geoserver and styling map features, including configuring WFS responses, applying SQL filters, and building interactive popups with GeoJSON in web GIS.
Learn to implement a dropdown-based WFS filtering with CQL filtering using Geoserver layers, fetch province names via Ajax, populate options, and zoom to the selected province on the map.
Welcome to the second part of our comprehensive GIS series, where we dive into the exciting world of Web GIS. This hands-on course is designed to empower you with the skills and knowledge necessary to become a master of web technologies and build interactive, dynamic, and visually appealing Geographic Information Systems (GIS) applications.
In this advanced course, we will take your GIS expertise to the next level, focusing on the integration of web development technologies with spatial data to create cutting-edge mapping applications. Through a combination of theoretical lessons, practical exercises, and real-world projects, you'll gain a strong understanding of the following key areas:
HTML Fundamentals: We will start from the basics of HTML, the backbone of web development, and gradually explore the essential tags and structures required to create web pages.
CSS Styling: Learn how to add style and formatting to your web pages using Cascading Style Sheets (CSS) to create visually appealing interfaces for your GIS applications.
Bootstrap Framework: Discover the power of Bootstrap, a popular front-end framework that will enable you to build responsive, mobile-friendly web GIS interfaces efficiently.
JavaScript Essentials: Dive into the world of JavaScript, a versatile programming language used for adding interactivity to web pages, and apply it to manipulate and visualize geographic data.
jQuery Library: Explore jQuery, a fast and lightweight JavaScript library, to simplify and enhance the handling of events, animations, and AJAX interactions in your GIS applications.
PHP Basics: Get introduced to PHP, a server-side scripting language, to perform dynamic data processing and integration within your Web GIS projects.
Leaflet Library: Learn how to use Leaflet, a powerful open-source JavaScript library, to create interactive and customizable maps with various base-maps and overlays.
TurfJS Library: Delve into TurfJS, a geospatial analysis library, to perform complex spatial operations and manipulations directly in the browser.
Echarts Library: Discover Echarts, a powerful charting and visualization library, to create stunning data visualizations for your Web GIS applications.
GeoServer API: Utilize GeoServer's API for Web Map Service (WMS) and Web Feature Service (WFS) to access and manipulate geospatial data for map rendering and feature querying in web applications.
By the end of this course, you will have honed your skills in HTML, CSS, JavaScript, and various libraries essential for Web GIS development. You will be equipped to design, develop, and deploy sophisticated GIS applications that leverage the capabilities of modern web technologies to showcase and analyze spatial data effectively.
Whether you are a GIS professional, a web developer looking to venture into the geospatial domain, or a student with a passion for maps and data, this course will empower you to unlock the true potential of Web GIS and contribute to the evolving field of geospatial technology.
Join us on this exciting journey of mastering Web GIS, and let's map the world together!