GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. It can read from multiple data sources, generate multiple output formats, and communicate using multiple standard protocols. As such, it fits easily into existing infrastructures, providing a communication path between old and new software components.
GeoServer presents spatial data (tables in a database, files on a hard drive) as feature collections, and allows HTTP clients to perform operations on those collections:
- Render them to an image, as an attractive cartography product
- Apply a logical filter to them and retrieve a subset, or a summary
- Retrieve them in multiple formats (KML, GML, GeoJSON)
GeoWebCache is a Java web application used to cache map tiles coming from a variety of sources. It operates between mapping components (like OpenLayers) and rendering engine in GeoServer and provides great optimization of map image delivery.
Tiled map components generate a large number of parallel requests for map tiles, and the tiles always have the same bounds, so they are prime candidates for caching. GeoWebCache receives tile requests, checks its internal cache to see if it already has a copy of the response, returns it if it does, or delegates to the rendering engine (GeoServer) if it does not.
PostGIS is an open source software component that adds support for geographic objects to the PostgreSQL object-relational database allowing efficient storage, query, and analysis of location information.
PostGIS follows the Simple Features for SQL specification from the Open Geospatial Consortium (OGC). It “spatially enables” the PostgreSQL so that the database can then be used to store and query spatial data (points, lines and polygons). Some other key characteristics of PostGIS include:
- Proven reliability and transactional integrity (ACID compliance)
- Support for common and advanced spatial operations such as geometry creation and conversion, reprojection, buffer, convex hull, generalization, and union
- Geodetic support for measurements across the globe/dateline
- Command-line and graphical tools for flexible management