We are living in a changing world. A world that is becoming more modern by day.
Every individual is now a sensor, generating a continuous flow of location-encoded data, thanks to this new era of location-aware mobile phones , geocoded Computer IP addresses, GPS devices in our cars and so much to list. It is convincing to say that the location aspect of things is now part of our lives.
Seemingly, questions never end. How close is the nearest hotel from my office? Where were the crimes in my city for the last two months? What is the shortest route from my home to the hospital? Where should the next emergency station be built so as to minimize the response time?
People ask these questions and others like them, every day all over. Answers to these questions and the likes requires a mechanism capable of thinking in two or more dimensions.
Typically, a Desktop GIS application is used to manage this data and formulate an answer for each question. This approach, though completely operational, lacks the ability of answering many questions at ago. In addition, this method, out of the box, is incapable to effectively manage and operate on massive spatial datasets, such as all of the roads of a country in one dataset, or allow tasks to be easily automated instead of significant pointing and clicking.
To manage and contain this flow of data, and the parallel flow of data opened up by remote sensors and crowd sourced mapping, there is need for a tool that is up to the task. A tool that can persistently manage the data, store it, efficiently access it, and powerfully analyze it. There is a big need for spatial databases.
Several spatial database software are available. Oracle Spatial,PostGIS, MySQL, SpatiaLite just to mention a few in the market . The early entrants were dominated by proprietary offerings, but the introduction of open source databases like PostGIS broke this mold.
Specifically, I am interested in PostGIS, and I will tell you why you should also be.
PostGIS is a free and open source library that spatially enables the free and open source PostgreSQL, an object-relational database management system ( ORDBMS ).In this capacity, PostGIS permits the inclusion of spatial data alongside data typically found in a database.
PostgreSQL, out of the box provides transactional support, gist index support for spatial objects and a query planner. New and enhanced capabilities are possible by building upon these core functions, provided by PostGIS and the inherent extensibility of PostgreSQL.
PostgreSQL and PostGIS are known to conform to industry standards more closely than most products. PostgreSQL supports many of the newer ANSI SQL features. Post GIS supports Open Geospatial Consortium ( OGC ) standards and the new SQL Multimedia Spec ( SQL/MM ) spatial standard. This means that you aren’t simply getting to know how to use a set of products; you’re garnering knowledge about industry standards that will help you understand other commercial and open source geospatial databases and mapping tools.
The power of PostGIS is enhanced by other supporting projects, which together now fall under the umbrella of the Open Source Geospatial Foundation (OSGeo):
- Proj4—Provides projection support
- Geometry Engine Open Source ( GEOS )—Advanced geometry-processing support
- Geospatial Data Abstraction Library ( GDAL )—Provides many advanced raster processing features
Most of my work is done with open source tools, and having PostGIS work with them makes bread and butter for me.
There are many open source desktop tools that work with PostGIS. The following is just a brief sampling of the commonly used open source desktop viewing and editing tools:
- Open JUMP
- GRASS GIS
- and without forgetting the open source extract-transform-load (ETL) tool GDAL/OGR.
PostGIS has special features out of the box, that otherwise you will be pressed hard to find in other spatial databases:
- Functions to work with GeoJSON and Keyhole Markup Language ( KML ), allowing web applications to talk directly to PostGIS without the need for additional serializing schemes or translations.
- Comprehensive geometry processing functions that go far beyond basic geometric operations, including functions for fixing invalid geometries and for simplifying and reconstructing geometries.
- Built-in 3D and topology supportSeamless operations for working with vectors and rasters in tandem, as well as for converting between the two data models..
Most OS distributions usually carry a new version that provides a quick install process. Cloud offerings have also come on board, providing PostgreSQL with PostGIS out of the box.
Some popular cloud versions of PostgreSQL that PostGIS users enjoy are CartoDB ,Heroku PostgreSQL , and Amazon RDS for PostgreSQL.
Now you get the power of PostgreSQL together with PostGIS. You understand why I use it all the time. You understand why my geospatial work is simplified. Why not you? Try it and you will find much I didn’t talk about. PostGIS is my thing. You can make it yours too.