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:
Installation¶
For the installation of Mapbender have a look at Installation.
Start Mapbender¶
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)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.
Start the developer mode: http://localhost/mapbender/app_dev.php
Have a look at the information that is offered in the developer mode.
Welcome page¶
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.
You can open an application by click on the title, the screenshot or the start button.
Before you can administrate with Mapbender, you have to log in to get access to the administration.
Click on Login at the top-right to open the login page.
You can log in with the user that was generated during installation. It could be
root
and passwordroot
(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:
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.
choose
Applications --> New Application
define a title and description for your application
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.
upload an image file as screenshot for the application overview
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.
choose the button Create to create the application
click the
Edit-Button
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.
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 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 -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¶
Go to
Sources
and have a look at the Source repository.You get an overview on the Sources that are loaded in your Mapbender.
Type (e.g. WMS), Title, Description offer first information about the services.
On click on the button
View-Button
, you get further information about the source.With the button
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
Choose menu item
Source --> Add Source
or use the -button in the source repository. Link to the WMS getCapabilities URL in the text fieldServiceurl
.Enter username and password if your service needs authentication.
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.Hit Load to load the service to the repository.
After a successful registration Mapbender will display an overview of the information that was provided by the service.
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.
Choose
Applications -->
edit-Button --> Layers --> Edit-Button
.Click on the
-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)Now you can add layer to the layerset
Click on the
button
at your new layerset to add a service.You can change the order of the services in your application by drag & drop.
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.
Choose
Applications -->
edit-Button --> Layers --> edit-Button
to configure the Service Instance.You will see a table with the layers of the service.
You can change the order of the layers via drag & drop
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.
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.
Choose
Applications -->
edit-Button --> Layouts --> Button
to get an overview over the elements Mapbender provides.Choose an element from the list.
Notice that you have different areas in your application. Make sure to add the element to a region that makes sense.
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.
You can change the position of the element via drag & drop
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.
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¶
To create a user go to
User control --> Users --> New User
or click theadd-Button
.Choose a name and a password for your user.
Provide an email address for the user.
Save your new user.
You can provide more information about the user in the tab
Profile
.
Create a group¶
Create a group by
User control --> Group --> New Group
.Define a name and a description for your group.
Save your new group.
Assign users to group¶
Assign a user to a group by
Users --> Groups
.Choose one or more users you want to add to the group at
.Assign a user by
Users --> Edit-Button--> Groups
to a group.
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.
Assign roles to a user by
Users --> Edit your User --> Security
.
Assign an Application to a User/Group¶
Edit your application by
Application --> Edit-Button
.Choose
Security
Publish your application by
Security --> activated
orApplication --> visible
Set permissions like view, edit, delete, operator, master, owner
Assign a user/group to the application
Test your configuration!
Logout from Mapbender by
Logout
.Login as the new user
Assign single elements to a User/Group¶
Edit your application by
Application --> Edit-Button
.Choose
Layouts
Every element has a
-Button
Choose the
-Button
from the element, that should be only availale for special users / groupsSet permissions like view, edit, delete, operator, master, owner
Assign a user/group to the element
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:
?poi[point]=363374,5621936&poi[label]=Hello World&poi[scale]=5000
http://demo.mapbender.org/application/mapbender_user?poi[point]=363374,5621936&poi[label]=Hello World&poi[scale]=5000
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:
Try to load some WMS in your application. Try to configure your WMS.
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