PostGIS is a spatial data type for PostgreSQL. Non-spatial types have functions that do things to them (substring(), trim(), cos() , etc.) and indexes to allow fast access (btrees). PostGIS provides the same facility around spatial data. Functions that do things with geometry (Buffer(), Contains(), Union(), Intersects()) and indexes for fast random access (rtrees).
- POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINETRING, MULTIPOLYGON, GEOMETRYCOLLECTION, CURVESTRING, CURVEPOLYGON, COMPOUNDCURVE
- R-TREE, linear-time algorithm
- OpenGIS “Simple Features for SQL”
- ISO SQL/MM
- Over 300 functions
- Open source
- General Public License (GPL)
- Open development and support
PostGIS uses “lightweight” implementations – using the minimum amount of bytes to express the geometries and indexes. This reduces the disk size, which is not important because disk is expensive (it is not) but because disk is slow. 100x slower than main memory. The more information you can get off of disk and into memory cache, the faster your system will run. So, small indexes are particularly important.
PostGIS has hundreds of functions, all the SFSQL ones, and lots more, that our users have recommended based on their experiences working with the spatial database. Many of these “extra” functions are functions you can only get by buying the most expensive Oracle Enterprise license to get access to full Oracle Spatial.
- Lightweight geometry implementation
- Lightweight indexes (50% size savings)
- Linear time R-Tree
- Row- level locking algorithm
- All OGC Simple Features for SQL, ST_Buffer()
- Aggregates, ST_Collect(), ST_Union()
- Extras, ST_AsGML(), ST_AsKML(), ST_AsSVG(), ST_BuildArea(), ST_LineMerge, ST_Transform()
The main reason to use PostGIS and PostgreSQL is the great location they have in the price/functionality space. PostGIS and PostgreSQL have lots of features, so they meet the needs of lots of potential users, and they do so at a price point that is far better than the proprietary alternatives. Unless the functionality of the proprietary alternatives is worth the extra cost, why use them?
[Reference] Refractions Research (PostGIS Case Studies)
BITNINE GLOBAL INC., THE COMPANY SPECIALIZING IN GRAPH DATABASE
비트나인, 그래프 데이터베이스 전문 기업