open source GIS
open source GIS
Video Creators
Veed.io
Contents
1.3.1. Free and open source software, open specification and open data
1.3.2. Components of WebGIS
1.3.3. Component product
1.3.4. Stack Products
WebGIS is composed of four parts, and it can be seen from the name that it includes at least
Web and GIS, which involves technical complexity. From the perspective of WebGIS, open
source tools can be divided into two categories: component products and full-stack
products.
PostGIS
PostGIS is an extension to the PostgreSQL database that supports spatial queries.
PostgreSQL is both a relational and object database and is widely regarded as the most
advanced open source database, similar to Oracle and MS-SQL. PostGIS supports various
spatial queries including proximity, radius, bounding box, collision/overlap detection, etc. It is
a very useful tool that is often used in Web GIS projects.
http://postgis.net/
OpenLayers
OpenLayers is a front-end UI library for creating web-based spatial applications using
javascript. It supports various layer sources and backends. For example, map tiles can be
extracted from GoogleMaps or a custom tile source. The advantage this brings is that it
enables developers to reuse elements such as tile sources and instead focus on more unique
aspects of their application, such as “business logic”. Default components such as tile
sources can easily be swapped out later. It supports bitmap and vector layers, including
points, lines and polygons. One of its most widely used features is the ability to overlay data
layers on top of the base map.
Skip to main content
http://openlayers.org
TileMill
TileMill is a desktop application for generating map tile images, which are then hosted as
static files to be used as base layers. TileMill can be used to create visually stunning base
layers. It has a strong focus on aesthetics and includes many well thought out presets that
enable people without a design background to make very attractive and professional map
layers. The development of TileMill is led by a company called MapBox. They offer several
attractive paid services, including tile hosting and curated and fine-tuned base layers.
http://www.mapbox.com/tilemill/
Leaflet
Leaflet is a Javascript library with an emphasis on front-end UI. It supports a combination of
multiple base layers and geometry types. It covers somewhat similar areas to OpenLayers,
but with slightly reduced functionality. Its strengths over OpenLayers are its excellent
support for mobile devices, great product value, clean minimalist design, and a strong focus
on performance.
http://leafletjs.com/
GeoServer
GeoServer is mainly based on the Java language. It provides basic functionality for creating
and editing geospatial data and providing maps in a service-oriented architecture. It uses
the OpenLayers module and provides and implements the Web Map Service (WMS)
standard. It also uses the GeoTools framework, which covers a small subset of MapServer’s
functionality. Like GeoServer itself, it is written in Java. It will primarily appeal to developers
already using Java-based tools and platforms.
http://geoserver.org/display/GEOS/Welcome
MapGuide
MapGuide is a full-featured web-based GIS application written primarily in PHP and
Javascript. It includes an AJAX-based application UI for viewing and creating maps and data
layers. It supports an impressive range of layer formats including ESRI SHP, SDF, ESRI
ArcSDE, PostGIS, SQL Server Spatial, raster file formats (via GDA), OGC, WMS and WFS. It
also uses the OpenLayers toolkit and supports custom application development in PHP and
Java. It is primarily based on support for various input formats, out-of-the-box editing tools,
and developers already using PHP.
http://mapguide.osgeo.org
GeoMoose
GeoMoose combines several popular open source libraries to create a powerful and flexible
mapping platform with an emphasis on Javascript/AJAX on the front end. It uses MapServer
as the backend and OpenLayers and
SkipDojo (bothcontent
to main Javascript based) for its user interface. It
provides a powerful set of tools for viewing, editing and querying data in the browser. Its
development community seems to be very active and has a good trajectory going forward.
Its appeal comes from its feature set and modern, approachable user interface. Its well-
documented Javascript API will make it accessible to Javascript developers and other web
builders, since most web developers have at least some exposure to Javascript.
http://www.geomoose.org
GeoDjango
GeoDjango is a set of spatial extensions to the Django application framework. Written
primarily in Python, Django is one of the most popular general-purpose frameworks for
building web applications using Python. Unlike GeoMoose or MapGuide, it does not provide
out-of-the-box applications, but a set of carefully designed building blocks for building
custom applications. Unlike some of the other stack products described above, it makes
fewer assumptions about which other geospatial tools will be used in the stack and provides
integration points through a series of clearly designed, well-documented APIs. It may appeal
to developers who want more choice and control when building applications and those who
prefer the Python language.
http://geodjango.org
MapFish
MapFish is another stack product from the Python community. It is based on the (Python-
based) Pylons framework, as well as the (Javascript-based) OpenLayers and ExtJs
frameworks. Unlike GeoDjango, it provides a simple application out of the box that can be
customized and extended. It also supports development in Rails and PHP via plugins. Its
appeal is that it provides a clean, compact starting point that can be easily extended in
various languages. Compared to GeoDjango, it has the advantage that it gives developers
more options so they can get started faster. It will likely appeal to developers with Python or
Javascript experience, as well as Rails/PHP developers who value its clean, compact design.
http://mapfish.org