This course focuses on providing GIS professionals with the ability to automate GIS processes to improve performance, accuracy, and provide capabilities not available through standard GIS tools.
The combination of QGIS for data analysis and management and PostGIS for data storage, security, and user management is, in my opinion, the foundation of a geospatial killer app. And best of all it is open source so it can be implemented without any licensing fees. Of course licensing is only part of the cost of implementing software and the problem with open source has always been that it does not always have the best documentation and training can be intimidating for those without a strong IT background.
The biggest benefit to making this switch is the ability to have multiple users editing the same data simultaneously. This capability in commercial software will quickly end up costing your organization 10’s of thousands of dollars (just for software, not including IT support) and the learning curve to implement it is, in my opinion, steeper than moving to open-source methods. In addition you will need to pay commercial GIS companies thousands of dollars for training. If you need multi-user editing (and most GIS companies will at some point) I see no benefit to sticking with your commercial GIS software. But you can rest easy knowing that your spatial data, stored in PostGIS can be viewed and analyzed using your familiar commercial tools. It cannot be edited in most commercial GIS packages but that is not really a problem since editing is very easy in QGIS so you can easy implement a hybrid system where editors and low-level users use QGIS for free while your GIS staff can continue using your commercial licenses for analysis and visualization if they are more comfortable with that.
Other benefits of using open-source GIS include
Robustness – Any enterprise level database software, including PostgreSQL, is going to be orders of magnitude more robust (safe from crashes, data corruption, etc) than a file-based data storage. Commercial database server companies compete on the basis of robustness, security, and speed. If their databases fail it can be national news and billions of dollars are at stake so they have the best and the brightest software engineers they can hire making sure that any possibility of crashing or security glitches are minimized. And open-source database server projects are not much different. In fact most of the web is based on open source database servers because of their economic feasibility.
Security – For many of the same reasons listed above enterprise databases will be much more secure than file-based systems. This applies both to the possibility of hackers snooping around your data and to user error. User error is minimized by controlling exactly what each user is allowed to do in your database. They may be allowed to create or edit but not delete features, or only modify certain fields, etc. This allows relatively low-level employees to work in your expensive database without fear.
Accessibility – Data stored in an enterprise database can be accessed from virtually anywhere via the internet. Setup within an organizations firewall is relatively simple. Access from outside is more complicated and you may need the help of an iT consultant to set it up but is certainly possible to securely access your GIS data from anywhere in the world. It can be accessed by virtually any GIS software, on virtually any operating system, from virtually any programming language. If you want to access that data from a web page, or a mobile application, or pretty much anything you can imagine, it is possible.
Speed – Many GIS operations can be performed in PostGIS itself, and since PostGIS is running on a server and servers are generally much more powerful than a desktop computer you may see significant performance gains and may be able to purchase less expensive computers for GIS users in your organization.
Learn more about my courses on QGIS and PostGIS with the videos below. You can also learn more about my other courses on Web development for GIS, Mobile Mapping applications, and Python at my courses page.
Thanks for your interest in my new course on Python for GIS applications. This course is intended to provide a broad overview of the python programming language and the python ecosystem, especially for geospatial applications. The goal is to provide you with an understanding of how all the pieces work together and provide a starting point from which you can explore specific packages on your own. Continue reading “New Course: Survey of python for GIS applications”
Learn how to develop your own HTML5 GPS data collection applications that work like a native app on your mobile device. While there are many canned options available for mobile data collection that may meet your needs, there are also many times when it may make sense to develop your own for the following reasons. Continue reading “New Course: Mobile GIS data collection apps”
Server-side web GIS applications allow you to build secure, web-based portals to your GIS data that allow display, analysis, and editing of GIS data from anywhere there is an internet connection. This is demonstrated with open-source software so that the concepts are accessible to everyone without cost. If you prefer to use commercial software I think you will still benefit from this course as the core concepts apply to both. Continue reading “New Course: Server-side web GIS applications with Leaflet and PostGIS”
This 3-part mini-course is my attempt to explain the basic concepts of working with PostGIS data from within the Leaflet.js mapping API. Technically this is not Leaflet programming. In this scenario Leaflet.js simply becomes the canvas on which your geospatial data is displayed on a web map. All of the interaction with the geospatial data occur through very common and standard methods of working with enterprise level databases, but with a geospatial twist. Continue reading “Working with PostGIS data from within Leaflet.js (or any other client side mapping API)”
Most GIS professional’s initial foray into web-mapping involves building a client side application using a JavaScript API such as Leaflet, OpenLayers, or Google Maps. They learn to set the initial location and scale, place a point or two on the maps, and maybe even load their own GIS data from a GeoJSON file.
This is exciting. A whole new world is opening up. They are now web mappers and it was EASY! And it usually takes only a few more minutes for them to ask How can I edit this data?”. That is the point when their instructor launches into a long string of techno-babble involving client-server architecture, SQL, spatial databases, and server-side coding. And our hypothetical GIS professional’s mood begins to sink. Its not that easy after all. Surely there is a Leaflet plug-in that they can just load in that works like magic? Continue reading “Editing GIS data on the web: When do you need server-side code”
One of the most frequent questions I get about web programming for GIS is “how do I control access to my web maps and protect my data?”. Its a very important question for web GIS applications that allow online editing because you certainly would not want everybody with internet access to be able to edit your GIS data. Even if your web application doesn’t provide editing capabilities there is often a need to control access to it. Some data may be sensitive, such as the location of endangered species activity or critical infrastructure. Other data is proprietary information that cost you or your client a lot of money to collect and thus you need to prevent competitors from accessing it. Continue reading “New Course: PHP registration, login, and content management system”
In these two videos I discuss performance considerations when choosing a hosting service for your PostGIS database, how to determine if you should invest in higher download speeds on the client side or better performance on the server side, and strategies for mitigating slow response times. Continue reading “Deploying a PostGIS Database Parts 5 and 6 – Performance considerations”
In this video I show how to deploy your PostGIS database to a second remote server option, the AcuGIS Cloud. In general my perception is that getting started with AcuGIS was much easier for general GIS use than A2 hosting. They focus on GIS and they know GIS. Installing PostGIS was a breeze, they have the latest versions of both PostgreSQL and PostGIS available, they have all the extensions for PostGIS, and they have shp2pgsql and raster2pgsql available right in their control panel which simplifies loading your data. Continue reading “Deploying a PostGIS database Part 4 – The AcuGIS Cloud”