Using Open Source Tools to Create an Enterprise GIS

Create an enterprise GIS with Postgres SQL, QGIS, and PostGIS to manage users, and support multiple GIS software clients
4.5 (167 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.
784 students enrolled Bestselling in GIS
70% off
Take This Course
  • Lectures 19
  • Length 3.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 11/2015 English

Course Description

For years I've been hearing everyone talking about Enterprise GIS, but I haven't seen anyone do it. After this course, I can now say that "I've created a multi-user enterprise GIS on my own!" - John from California.

Do you want to learn how to build an Enterprise GIS from scratch using Free and Open Source Software for GIS (FOSS4g)?

In response to the high cost and complexities of implementing an Enterprise GIS, I created this easy-to-follow, hands-on training course allowing students to actually build a multi-user enterprise GIS from scratch using Postgres, PostGIS (free) and Quantum GIS (free). As an added bonus, this training will show how you can add other GIS products (i.e. commercial GIS software) into the enterprise stack as GIS clients.

In this course you will create an Enterprise GIS that includes vector and raster data for a mid-sized municipality. You will learn how to add users, each with different permissions for accessing and editing data, and also how to use PostGRES to control all aspects of database access, presentation, and editing. You'll even perform simultaneous multi-user editing on the same GIS layer, and learn how a true Enterprise GIS can manage many users at once.

As a bonus, you will see how you can access all the GIS tools from outside of the software by using python to create a table-top GIS application that you might find at a kiosk. And finally, I will show you an example of how the same data in the enterprise can be simultaneously displayed on the Internet using FOSS4g software.

What are the requirements?

  • Students should know what GIS is, and have had some experience using GIS.
  • Students should be excited to learn about how to implement an enterprise GIS.
  • Although this class provides a lot of hand-holding through advanced technical concepts, students should have a natural curiosity about GIS and technology, and not be afraid to tinker around - remember, in this training the stakes are low - if you break it, you can always start again.

What am I going to get from this course?

  • Install PostGRES and PostGIS
  • Design a PostGRES database with multiple users and roles
  • Load GIS and attribute data into PostGRES and PostGIS
  • Manage data by including constraints, views, and indexes.
  • Connect GIS software as clients to the Enterprise PostGRES database
  • Perform simultaneous multi-user editing of GIS data
  • Issue spatial and non-spatial SQL to perform geographic analysis
  • Develop an external application (kiosk) in Python
  • Publish enterprise data on the Internet

Who is the target audience?

  • This course is meant for those looking for hands-on experience building a multi-user enterprise GIS from scratch, using open source tools.
  • Students should have a familiarity with open source tools like QGIS, however, having that experience is not required, as the course is designed to teach student with little or no experience
  • This course is perfect training for someone who is interviewing for a GIS position - not many applicants can articulate how they put together an enterprise GIS.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Getting things set up

Welcome to the course - watch the following material to learn what we are going to cover in this class - and don't forget to download the support material below, so you can work alongside me.


In this lecture, you will learn what an Enterprise GIS is, the stages in enterprise GIS implementation , and the example scenario used in this course.

10 questions

This quiz is for you to evaluate how well you are understanding the material. Don't worry, you won't be graded on it. It really is to help you determine if you are ready to move forward.


In this lecture you will learn how to download and install PostGRES, PostGIS, and Quantum GIS (QGIS). While many courses have the software waiting for the students to use in order to simplify things, we will actually show you how to install PostGRES, PostGIS, QGIS, and other extensions to make the enterprise GIS work.

4 questions

This quiz will allow you to review your knowledge of the installation of PostGRES, PostGIS, and QGIS.


In this lecture you will actually load a variety of data (attribute and spatial) into PostGRES and PostGIS. Particular attention will be paid to open source tools available for data loading, and also how to manage different coordinate systems in the database. Unlike many courses that already have the data waiting for you, this course will make sure that you know how to load the data yourself!

4 questions

This quiz will test your knowledge about the data loading lecture.

Section 2: Managing Data and Users
Introduction to Managing Data and Users

If you've ever used a multi-user enterprise system, you may have wondered how some users have access to certain data but not other data. In this lecture, you will learn how to create specific working GROUPS, and assign those groups to individual layers. You will create groups that have full control over data, view only capabilities, and limited editing capabilities. In the next lecture, students will create individual login roles for specific users who will inherit the permissions granted to the groups.


In this lecture, you will learn how to manage the database users through creating specialized roles and permissions. Particular emphasis is made on giving users the proper permissions for viewing, editing, and creating data. Here you will create a multi-user system with different users having different levels of data access. At the end of this lecture you will have confidence that you can assign different permissions to different users.

3 questions

This quiz will review some of the basic information you gained while adding groups and login rules for your database.


One of the things that makes an enterprise system so powerful is that you can create constraints that protect your data from erroneous data entry. Many GIS implementations have a middle-ware tier to handle data integrity. But, it is often easy to bypass these securities. In a real enterprise system, all the logic and security is handled by the database itself - in other words, you can't circumvent the security. In this lecture, you will learn how to add constraints to the data to ensure that data is properly protected. And unlike many of your GIS counterparts, you can state that the data is protected no matter what system a third party uses to access the data.

1 question

This quiz will test your knowledge of adding constraints


In this lecture, you will learn how to create VIEWS to control what a user might see in the database. Rather than having a user directly link to a layer, a VIEW will allow the database manager to create a visualization of the data that an end user can see. In this lecture, we will focus on creating a specialized view from a simple attribute query, a more complex query that spans multiple tables, and a spatial query that re-imagines the original layer to take on the characteristics of the spatial query.

3 questions

This quiz will test your knowledge about creating views


In this lecture, you will learn how to load raster data into PostGRES using the raster2pgsql.exe command. Although using the command line is a little more cumbersome than a GUI, learning to use this command is well worth it, as the GDAL library allows you to load virtually any kind of data source.

Section 3: Working with Enterprise GIS Data
Introduction to Working with Enterprise Data

In this lecture, you will learn how to use QGIS to perform analysis on data stored in PostGRES. Also, the lecture will demonstrate how to also perform GIS analysis using Manifold GIS. In this case, you will learn how QGIS (or Manifold GIS, or any other GIS product) doesn't care where the data comes from - it will just use it. And, having structured the data in an enterprise GIS you gain the advantage of having the data better managed in PostGRES.


Have you ever tried editing data in a GIS when someone else was trying to edit it? Most often, you can't, as the data becomes locked once a user checks it out for edting. In this session, you will actually perform multi-user, simultaneous editing of the GIS data in PostGRES using QGIS. Students with access to Manifold will also be shown how to edit the data with other software products.

So, unlike most of your GIS counterparts, you'll have built a system that can handle multiple users simultaneously editing the data!

Editing in PostGRES quiz
4 questions

In this lecture, you will learn how to create triggers, that will fire off in response to some action the user might take. Specifically, you will create a trigger that automatically updates a value in the parcels table with the watershed it is contained in. Also, your trigger is going to make sure that the new geometry you create actually falls inside a watershed boundary. This is a really powerful way to control your data quality and also automatically perform analytical tasks in response to a data editing activity you might perform.

Section 4: Deploying the Enterprise GIS
Introduction to deploying the enterprise GIS

In this lecture, you will learn how to create server-side analysis and functions in PostGRES that can serve the entire enterprise. Students will also learn how to call PostGRES and PostGIS commands from external applications, making this a truly enterprise system. You will also see the benefit of allowing the server to do most of the heavy-lifting for certain spatial analysis tasks.


In this lecture, you will learn how to create a table-top application by writing an external program (in this case, python) that talks directly to PostGRES. This means you can write stand alone applications that simply prompt a user for input, and then perform any powerful GIS process on the back end server, without the user needing to know anything about GIS, or even have a GIS application open.

Once you are done with this lecture, you will be come part of the elite 1% of GIS users that can create external applications to leverage the enterprise GIS.


You will receive an overview of how to deploy enterprise GIS to the Internet using QGIS and the Web App Builder by Boundless Geo.

Wrap up

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Dr. Arthur J. Lembo, Jr. is an educator with a passion for GIS and almost 30 years of GIS industry experience.

Currently, Dr. Lembo is an Associate Professor in the Department of Geography and Geosciences at Salisbury University, where he is also the Technical Director of the Eastern Shore Regional GIS Cooperative. Dr. Lembo has published numerous academic papers on GIS, authored a leading textbook on Statistical Problem Solving in Geography, and conducted sponsored research for organizations like the National Science Foundation, NASA, the United States Department of Agriculture, and the Kellogg Foundation.

Ready to start learning?
Take This Course