GeoMapFish is a web-based, extensible and flexible GIS application with many features. It offers several interfaces: desktop, mobile, administration, and some more for specific purposes, as well as an API for integrating maps into third-party applications. Based on OGC standards, a GeoMapFish application makes it possible to broadcast spatial data in the form of services (WMS-T, WFS-T, WMTS) for desktop clients (QGIS or ArcGIS for example) or other web clients. On this base, cartographic business applications can be built.

GeoMapFish combines the best technological tools into one application:

  • OpenLayers 6, AngularJS and Ngeo on the client side
  • Pyramid-based Papyrus for the server framework
  • MapServer, QGIS Server or GeoServer for map services
  • PostgreSQL and PostGIS for data storage
  • MapFish Print for printing cartographic documents in PDF or PNG format.

Presentation of new features

Drawing and editing

Defining values in a form
The drawing tool now allows to define a length (for a line, a rectangle or a polygon) or the radius of a circle via a field in the panel for more precision.

Mandatory fields in editing form
The field can be set to mandatory in the editing form.


Polygon-type queries
The selection panel allows to execute queries using points, lines and now polygons.


Map swiper
The new map comparison tool is accessible from the sub-menu in the layertree. Once active, a map slider displays a foreground map to the left. The background map is on the right. It is possible to move left or right the slider to show or hide some part of the map.

The tool is deactivated using the “close” button at the top of the slider.

Enabling and disabling snapping on a layer
A new visual indicator was added to the layer tree allowing to enable or disable snapping on layers.

Desktop geolocation
In this new version, the desktop application will allow to use geolocation features, as does the mobile interface.

The button is located below the zoom buttons.

Improvement of the filter panel
It is possible to close a filter panel while a filter is active. In this situation, the filter will be kept active and visible on the map.

This allows to print a filtered layer.
The panel icon changes to reflect the filter “status” as active when the panel is closed.

Closing legends when disabling the layer
We optimized the layer tree display to close legends when a layer is disabled. The same change has been applied to the mobile version.

Desktop interface on tablet
We slightly adapted the desktop interface for tablet to be a valid alternative on these devices. Keep in mind that it is not as optimized as the mobile version for touch-screen devices.


Story Map
Our API allows to create a “story map” content. It is a list of paragraphs, all linked to a geographic position and completed with a map. When we scroll through the text, the map is centering and panning to the corresponding visible paragraph location. An example of this feature is visible here:


Two-factor authentication
GeoMapFish 2.5 includes two-factor authentication.
This allows increased security for data access.

At first login, the user scans a QR code to register their account on a dedicated application (like FreeOTM or Authy, among others).

Once set, and the account registered on the app, the authentication code is displayed on the application, and will need to be entered in the appropriate form field.

The varying code is asked at each login, additionally to the initial user/password pair.

Better search in WMS/KML browser
When having the mouse focus on the source field, the available list is now opened directly for an easier and simplified use of the “online” mode.

Import KML style
The KML import in the WMS/KML browser in “local” mode now supports styling when loading a feature on the map.

Loading from/in the application and notifications
We have improved and uniformized the whole application to display the loading process and make it visible in the interfaces.

The main elements changed are:

  • Application loading
  • Layer tree loading
  • WMS queries
  • Print
  • Share a permalink
  • User login & logout
  • Profile tool

Filter on MapServer group
We added the possibility to filter on a MapServer group instead of just one single layer. This feature is not available at the moment for QGIS server.

List of some other projects

Here is a non-exhaustive list of projects being migrated to version 2.5:

You can find our demo in 2.5: