Server-side web GIS applications with Leaflet and PostGIS
- Description
- Curriculum
- FAQ
- Reviews
Server-side web GIS applications allow you to access GISĀ data stored in a multi-user database. This means that your data will always be current and any changes that other users make to the data will be immediately available in your application. You will be able to build complex GIS applications where some users will only be able to view certain data that you allow them and other users will be able to add, edit, and delete data from a web-interface. This means that your users will be able to interact with your GISĀ database from any device that has a compatible browser and an internet connection. They may be working in the field from a mobile device or from home on a mac OS computer, or on the other side of the world on a Linux computer.
This course uses PHP for the server-side language because of its popularity and itsĀ wide availability on web servers. We will use PostGIS as a spatial database, again because of its popularity and common usage in GIS applications. I teach standard web development methods that have stood the test of time and will still be available in many years after the latest, greatest, technology has been replaced with something even better. My goal as an instructor is to provide an introduction to the basic concepts. I don’t think you will find any limitations with the software that I teach but if you ultimately decide to use a different server-side language, database, or a newer framework the methods you learn here will provide a solid foundation.
Best of all, this course uses all open source software so there are no costs involved. I have had projects involving more than 50 people, including clients, accessing the same database through web interfaces and desktop GIS for several years with no problem and with no cost other than web-hosting which cost us about $10/month total.Ā
-
7Converting PostGIS data to GeoJSON
-
8PHP script to create GeoJSON from PostGIS
-
9Calling load_baea.php from Leaflet via AJAX
-
10Generalizing our load_data php script
-
11Creating a load data function
-
12Adding the other spatial data
-
13Adding the other spatial data part 2
-
14Cleaning up loose ends
-
15Refreshing data layers from the server
-
16Handling database errors
-
28Single table spatial queries and the geography data type
-
29Multi-table queries joined on a spatial relationship
-
30Finding Projects impacted by constraints
-
31Debugging and adding to other constraints
-
32Finding constraints impacted by projects
-
33Using the Leaflet PM plug-in
-
34Analyzing features created by the draw tool
-
35Moving to a tabbed sidebar
-
36Adding Content to a tabbed sidebar
-
37Cleaning up the client web app
-
38Creating a new group in the CMS for editors
-
39Preparing the database for editing
-
40Modifying the survey table field names
-
41Accessing the current user information from JavaScript
-
42Accessing the current date and time from JavaScript
-
43Working with sequences in PostgreSQL
-
44Refactoring the survey results as a function
-
45Adding edit and delete buttons to the survey results
-
46Wiring the delete button to a generic php delete record script
-
47Creating a survey form and populating with survey data
-
48Creating a survey form and populating with form data part 2
-
49Converting the result input to a select element
-
50Updating the database from the form
-
51Adding a new survey
-
52The insert_data.php script
-
53Creating custom select options from the database
-
54Refactoring our PHP Scripts
-
55Refactoring CSS and JavaScript
-
56Changing text boxes to select elements and populating them
-
57Adding delete and edit buttons
-
58Deleting features
-
59Editing feature attributes
-
60Editing spatial data
-
61Editing spatial data - Part 2
-
62Handling GeoJSON in the update records PHP script
-
63Modifying the form for adding data
-
64Creating new geometries
-
65Handling geometries on the server side
-
66Working with multi-part geometries in leaflet - editing parts
-
67Cleaning things up
-
68Cleaning things up Part 2
-
69Working with multi-part geometries in leaflet - adding and deleting parts
-
70Deleting parts from multi-part features
-
71Issues with adding editing capability to other datasets
-
72Taking it live
-
73Creating a new map with reduced functionality
-
74Where to go next?
Social Network