project logo

Mapbender Quickstart: First steps with Mapbender

Mapbender is a web based geoportal framework to publish, register, view, navigate, monitor and grant secure access to spatial data infrastructure services.

Management interfaces empower administrators who need to maintain and categorize map and feature services and grant access to individuals, groups and other services.

Mapbender is written from the ground up, using modern web technologies. The foundation is laid by Symfony. On the client-side expect to find OpenLayers and jQuery.

With this new code base we will continue the Mapbender idea of being a Geoportal Framework:

  • Applications can be setup, configured and styled right from within the browser

  • Services like WMS can be managed inside a service repository and linked to applications

  • Rights management are easy to maintain, for individual users and groups, whether you store them inside the database or in an LDAP.

  • Search modules (SQL oder Solr) can be configured

  • Applications for digitalization can be setup.

  • Mobile template can be used to provide applications for smartphones and tablets

You will need nothing but a standard web browser for this quickstart.

This quickstart describes how to:

  • start Mapbender

  • create an application

  • load a Web Map Service (OGC WMS)

  • configure WMS

  • create an individual application

  • create a user and a group and assign applications to them

This is how a Mapbender application can look like:

../_images/mapbender_basic_application.png

Installation

For the installation of Mapbender have a look at Installation.

Start Mapbender

  1. Choose Mapbender from the start menu (if a shortcut was already created) or visit http://localhost/mapbender/app.php (this address can be slightly different depending on how the Apache Alias was created in the file /etc/apache2/sites-available/mapbender.conf, more information at Installation)

  2. The application will take a few moments to start up

If you have any difficulties running Mapbender, please check whether your Apache web server and your PostgreSQL database are running.

Start Mapbender in the developer mode app_dev.php

Symfony offers a developer mode with lots of information about your application (logging, exceptions, database queries, memory usage, time and more). This mode is only available from localhost.

  1. Start the developer mode: http://localhost/mapbender/app_dev.php

../_images/mapbender_app_dev1.png
  1. Have a look at the information that is offered in the developer mode.

../_images/mapbender_symfony_profiler.png

Welcome page

  1. The Welcome page lists applications that are public and can be used by all users. The applications are listed with a screenshot, a title and a description.

  2. You can open an application by click on the title, the screenshot or the start button.

  3. Before you can administrate with Mapbender, you have to log in to get access to the administration.

  4. Click on Login at the top-right to open the login page.

  5. You can log in with the user that was generated during installation. It could be root and password root (This is the default user and password that you get after installation of Mapbender on OSGeo-Live. Please change the root password if you want to run a productive environment. Please don’t delete the user root.).

After successful login you are directed to the Mapbender administration.

Application overview

After the login you are directed to the Applications with a list of applications you are allowed to access.

The Application overview provides the following functionality:

  • title and description

  • screenshot for the application (if provided)

  • mapbender-button-show link to the application

  • mapbender-button-copy button to duplicate the application

  • mapbender-button-edit button to edit the application

  • mapbender-button-publish button to publish/unpublish the application

  • mapbender-button-delete button to delete the application

  • with the filter textfield you can search for applications

../_images/mapbender_app_dev1.png

Create an individual application

Create a new application by providing basic information about your application. After that, you can use the edit mode to add elements, layers, styles (CSS-Editor) and security settings.

  1. choose Applications --> New Application

  2. define a title and description for your application

  3. define an URL title, which will be used in the URL to open the application. It can be the same as the title, but should not contain spaces.

  4. upload an image file as screenshot for the application overview

  5. choose a template for your application. The template defines the structure of the application. Mapbender provides some templates for you (Fullscreen, Classic,…). You also can define your own template.

  6. choose the button Create to create the application

  7. click the Edit-Button mapbender-button-edit at the new application to edit the application

Your application is set up. Now you need Elements (modules) like (map, legend, navigation) and WMS to populate your application.

../_images/mapbender_create_application1.png

Tip

Please note that the style-, icon- and layout-configuration has to be done in css- and twig-files at the moment. Read more about template generation at How to create your own Template?.

Copy or rename an application

You also can create a new application by copying an existing application. Every application with write access can be copied. It provides a button mapbender-button-copy to duplicate the application with all the services. The new application will get a derived name, which can be changed in the next step.

Delete an application

You can delete an application from the menu item Applications with the mapbender-button-delete-button. By doing so you only delete the application, the sources are still available.

Export / Import applications and sources

See chapter: YAML Configuration (Configuration and Application files).

Management of Data Sources

Mapbender can handle different services like OGC WMS or OGC WMTS or OGC WFS. Every service has to be handled differently. The administration provides an administration interface for every source (at the moment only WMS).

Source Repository overview

  1. Go to Sources and have a look at the Source repository.

  2. You get an overview on the Sources that are loaded in your Mapbender.

  3. Type (e.g. WMS), Title, Description offer first information about the services.

  4. On click on the button mapbender-button-show View-Button, you get further information about the source.

  5. With the button mapbender-button-delete Delete-Button, you can delete the source from your repository.

Loading Web Map Services

You can load OGC Web Map Services (WMS) to your application. Mapbender supports version 1.1.1 and 1.3.0.

A WMS returns an XML-file when the getCapabilities document is requested. This information is parsed by Mapbender and Mapbender gets all the necessary information about the service from this XML.

Tip

You should first check the Capabilities document in your browser before you try to load it with Mapbender

  1. Choose menu item Source --> Add Source or use the mapbender-button-add-button in the source repository. Link to the WMS getCapabilities URL in the text field Serviceurl.

  2. Enter username and password if your service needs authentication.

  3. You can chose only valid to load only services that follow the OGC WMS schema. Services that do not follow the schema may cause problems.

  4. Hit Load to load the service to the repository.

  5. After a successful registration Mapbender will display an overview of the information that was provided by the service.

../_images/mapbender_wms_load1.png

Here are some example WMS:

WhereGroup OSM WMS

http://osm-demo.wheregroup.com/service

Omniscale OSM WMS (see also http://osm.omniscale.de/) http://osm.omniscale.net/proxy/service?

Add Service to Application

After the successful upload of a WMS you now want to add your WMS to an application.

  1. Choose Applications --> mapbender-button-edit edit-Button --> Layers --> Edit-Button.

  2. Click on the mapbender-button-add -button to add a layerset, which represents a collection of layers (possible names can be “main” for the main map and “overview” for the overview map)

  3. Now you can add layer to the layerset

  4. Click on the mapbender-button-add button at your new layerset to add a service.

  5. You can change the order of the services in your application by drag & drop.

../_images/mapbender_add_source_to_application1.png

Configure your WMS

You can configure the WMS for your specific application. Maybe you don’t want to provide all layers or you want to change the order or titles of the layer or disable the feature info or change the min-/maxscale for a layer.

  1. Choose Applications --> mapbender-button-edit edit-Button --> Layers --> edit-Button to configure the Service Instance.

  2. You will see a table with the layers of the service.

  3. You can change the order of the layers via drag & drop

../_images/mapbender_wms_application_settings_en.png

Service configuration:

  • Title: name shown in the application

  • Opacity: choose opacity in percent

  • Format: choose the format for getMap-Requests

  • Infoformat: choose the format for getFeatureInfo-Requests

  • Exceptionformat: choose the format for exceptions

  • Tile buffer: This parameter is valid for tiles services and specifies if additional tiles should be requested. If the user pans the map, these tiles are already downloaded and visible. The higher the value the more tiles are requested. Default: 0

  • BBOX-Faktor: This parameter is valid for non-tiled WMS services. You can specify the size of the returned map-image. A value greater than 1 will request a bigger map-image. Default: 1.25, can be set to 1.

  • BaseSource: should the service be handled as BaseSource (BaseSources can be shown/hided in the layertree)

  • Proxy: if active the service will be requested by Mapbender and not directly

  • Transparency: default is active, the source is without a transparent background if it is deactivated (getMap-Request with TRANSPARENT=FALSE)

  • Tiled: you can request a WMS in tiles, default is not tiled (may be a good choice if you map is very big an the WMS service does not support the width/height)

Vendor Specific Parameter:

You can define Vendor Specific Parameters in a layerset instance to add them to a WMS request. This principle follows Multi-Dimensions in the WMS specification.

You can use Vendor Specific Parameters in Mapbender for example to add the user- and group information of the logged-in user to a WMS request. You can also add hard coded values.

The following example shows the definition of the parameter “group”, which transfers the group-value of the logged-in user.

../_images/mapbender_vendor_specific_parameter3.png
  • Vstype: Mapbender specific variables. Group (groups), User (users), Simple.

  • Name: parameter name of the WMS request.

  • Default: the default value.

  • Hidden: If this value is set, requests are send via a server so that the parameters are not directly visible.

Currently, the element can be used to transfer user- and group-information, e.g. for a user the $id$ and for groups the value $group$.

Layer configuration:

  • title - layer title from service information

  • active (on/off) - enable/disable a layer for this individual application

  • select on - selectable in geodata explorer

  • select allow - layer is active when the application starts

  • info on - layer provides feature info requests, info default activates the feature info functionality

  • info allow - layer info is active when the application starts

  • minscale / maxscale - the scale range in which the layer should be displayed, 0 means no scale limitation

  • toggle - open folder on start of the application

  • reorder - allows to reorder the layers with drag & drop while using the application

  • … -> opens a dialog with more information

  • layers name- layer name of the service information (for getMap-Requests)

  • style - if a WMS provides more than one style you can choose a different style than the default style

Add Elements to your application

Mapbender offers a set of elements. You can add the elements to your application. You have different regions (Toolbar, Sidepane, Content, Footer) to which you can add elements.

../_images/mapbender_application_add_element1.png
  1. Choose Applications --> mapbender-button-edit edit-Button --> Layouts --> Button mapbender-button-add to get an overview over the elements Mapbender provides.

  2. Choose an element from the list.

  3. Notice that you have different areas in your application. Make sure to add the element to a region that makes sense.

  4. Configure the element. Notice: When you select an element for example map you see that the element has a set of attributes. Each element offers individual attributes for configuration.

  5. You can change the position of the element via drag & drop

  6. Have a look at your application. To open your application, choose Applications --> Applications Overview --> `` |mapbender-button-show| ``view-Button

Now you should have gotten an idea how easy it is to change a Mapbender application without any changes in the code.

../_images/mapbender_application_elements1.png

Examples for elements Mapbender offers:

  • About Dialog

  • Activity Indicator

  • BaseSourceSwitcher

  • Button

  • Coordinates Display

  • Copyright

  • Feature Info

  • GPS-Position

  • HTML

  • Legend

  • Layertree - Table of Content

  • Map

  • Meetingpoint (POI)

  • Overview

  • PrintClient

  • Ruler Line/Area

  • Scale Selector

  • ScaleBar

  • SimpleSearch

  • Search Router

  • SRS Selector

  • Spatial Reference System Selector (SRS Selector)

  • Navigation Toolbar (Zoombar)

  • WMS Loader

  • WMC Editor

  • WMC Loader

  • WMC List

You find detailed information on every element at the Mapbender documentation.

Try it yourself

  • add a Map Element to the content of your application

  • add a Layertree to the content of your application

  • add a button that opens the Layertree to the top of your application

  • add the Navigation Toolbar to the content

  • add a Copyright and change the copyright text

  • add a SRS Selector to the footer

User and group management

An access to Mapbender requires authentication. Only public applications can be used by everyone.

A user has permissions to access one or a set of applications and services.

Create a user

  1. To create a user go to User control --> Users --> New User or click the mapbender-button-show add-Button.

  2. Choose a name and a password for your user.

  3. Provide an email address for the user.

  4. Save your new user.

  5. You can provide more information about the user in the tab Profile.

../_images/mapbender_create_user1.png

Create a group

  1. Create a group by User control --> Group --> New Group.

  2. Define a name and a description for your group.

  3. Save your new group.

Assign users to group

  1. Assign a user to a group by Users --> Groups.

  2. Choose one or more users you want to add to the group at Users.

  3. Assign a user by mapbender-button-edit Users --> Edit-Button--> Groups to a group.

../_images/mapbender_assign_user_to_group1.png

Roles

Mapbender provides different rights. They refer to the Symfony ACL System http://symfony.com/doc/2.1/cookbook/security/acl_advanced.html#built-in-permission-map

  • view - Whether someone is allowed to view the object.

  • edit - Whether someone is allowed to make changes to the object.

  • delete - Whether someone is allowed to delete the object.

  • operator - Whether someone is allowed to perform all of the above actions.

  • master - Whether someone is allowed to perform all of the above actions, and in addition is allowed to grant any of the above permissions to others.

  • owner - Whether someone owns the object. An owner can perform any of the above actions and grant master and owner permissions.

  1. Assign roles to a user by Users --> Edit your User --> Security.

../_images/mapbender_roles1.png

Assign an Application to a User/Group

  1. Edit your application by Application --> Edit-Button mapbender-button-edit .

  2. Choose Security

  3. Publish your application by Security --> activated or Application --> visible

  4. Set permissions like view, edit, delete, operator, master, owner

  5. Assign a user/group to the application

  6. Test your configuration!

  7. Logout from Mapbender by Logout.

  8. Login as the new user

../_images/mapbender_security1.png

Assign single elements to a User/Group

  1. Edit your application by Application --> Edit-Button mapbender-button-edit .

  2. Choose Layouts

  3. Every element has a mapbender-button-key -Button

  4. Choose the mapbender-button-key -Button from the element, that should be only availale for special users / groups

  5. Set permissions like view, edit, delete, operator, master, owner

  6. Assign a user/group to the element

  7. Test your configuration!

Start Application at a defined position

You can open an application at a defined location. This can be done by POI or polygon. You also can add texts in the request.

You can pass one or more POIs in the URL. Each POI has the following parameters:

  • point: coordinate pair with values separated by comma (mandatory)

  • label: Label to display (optional)

  • scale: Scale to show POI in (optional, makes only sense with one POI)

If you pass more than one POI, the map will zoom to 150% of the POIs bounding.

To pass a single POI, use the following URL format:

To pass multiple POIs, use the following format:

  • ?poi[0][point]=363374,5621936&poi[0][label]=Hello%201&poi[1][point]=366761,5623022&poi[1][label]=World

Things to try

Here are some additional challenges for you to try:

  1. Try to load some WMS in your application. Try to configure your WMS.

  2. Try to create an individual application.

What Next?

This is only the first step on the road to using Mapbender. There is a lot more functionality you can try.

Mapbender Website

You find tutorials at

Get involved in the project