Mapbender tutorial komplett

From MapbenderWiki

Jump to: navigation, search

Contents

Kursprogramm

Einführung / Geschichte Mapbender

Benutzerfuehrung Mapbender

image:zoomin2_off.gif Zoom In Ein Klick auf diesen Button zoomt in die dargestellte Karte hinein. Dabei wird ein kleinerer Ausschnitt der Karte in einem größeren Maßstab (mehr Details) dargestellt.
image:zoomout2_off.png Zoom Out Ein Klick auf diese Schaltfläche zoomt aus der dargestellten Karte heraus.
image:center_off.png Kartenmittelpunkt setzen Mit Hilfe dieser Schaltfläche kann mit einem Mausklick ein neuer Kartenmittelpunkt ausgewählt werden. Die Karte wird automatisch neu gezeichnet.
image:query_off.gif Datenabfrage Mit diesem Button können Objekte in der dargestellten Karte angeklickt werden. Wenn es zu dem Objekt weitere Informationen gibt, werden diese in einem neuen Fenster oder neben der Karte angezeigt.
image:selarea_off.png Ausschnitt wählen Mit Hilfe dieser Schaltfläche kann in der dargestellten Karte ein Viereck aufgezogen werden (linke Maustaste gedrückt halten und Maus ziehen). Dieser Kartenausschnitt erscheint nun auf der gesamten Größe des Fensters. Das ist eine der Hauptfunktionen für die Navigation in der Karte.
image:pan_off.png Karte verschieben über diese Schaltfläche kann die Karte manuell per Drag & Drop mit der Maus verschoben werden.
zoomFull_off.png gesamte Karte anzeigen über diese Schaltfläche wird die Gesamtansicht der Karte in der Anwendung dargestellt.
image:back_off.png zurück über diese Schaltfläche können die letzten Kartenausschnitte wieder aufgerufen werden (ähnlich wie in der Browserfunktion). Dabei werden auch die Ebenen, Kartengröße, etc. berücksichtigt. Verwenden Sie dazu nicht die Browserfunktion.
image:forward_off.png nach vorne über diese Schaltfläche können Kartenausschnitte wiederhergestellt werden, ähnlich der Browserfunktion.
image:measure_off.png Streckenabschnittsmessung über die Schaltfläche Streckenabschnittsmessung werden weitere Schaltflächen aktiviert: z.B. Radiergummi, Flächenabfrage, Polygon schließen und speichern. Je nach Anwendung unterscheiden sich die Zeichenfunktionen erheblich.

Mit dieser Funktion kann in der Karte ein Punkt, Linie oder Polygon abgesteckt (digitalisiert) werden. Die Messung der abgesteckten Fläche und Strecke erfolgt anschließend über die Schaltfläche i. Manche Anwendungen können gezeichnete Objekte auch dauerhaft speichern. Diese Funktionen sind normalerweise extra gekennzeichnet.

image:rubber_off.png Radiergummi über diese Schaltfläche kann die Funktion Streckenabschnittsmessung (Digitalisierung) zurückgesetzt und die gemessene Strecke gelöscht werden.
Image:ClosePolygon off.png Polygon schließen Dabei wird der letzte Stützpunkt mit dem Startpunkt verbunden. Anschließend kann das gezeichnete Objekt optional gespeichert, gedruckt, gelöscht oder die Größe oder Länge berechnet werden.
image:getArea_off.png Strecken- und Flächenabfrage Diese Schaltfläche wird nach der Aktivierung der Schaltfläche Streckenabschnittsmessung im Hauptkartenfenster sichtbar. Nach der Digitalisierung eines Polygons mit der Messen-Funktion kann über die Schaltfläche Flächenabfrage eine Berechnung der Größe der eingegrenzten Fläche und des Umfangs abgefragt werden.
image:save.png Speichern der Geometrie über diese Schaltfläche kann ein digitalisiertes Objekt (gezeichnete Geometrie) zurückgespeichert werden. Auch diese Funktion ist in vielen Anwendung unterschiedlich gelöst.
image:coods_off.gif Koordinaten anzeigen über diese Schaltfläche kann durch Klicken auf einen Punkt in der Karte dessen Koordinaten angezeigt werden.
image:repaint_off.gif Neu laden Mit Hilfe dieser Schaltfläche kann das Kartenfenster neu gezeichnet werden. Diese Funktion wird nicht oft benötigt, da sie meist automatisch erfolgt.
image:getArea_off.png Informationen zur Geometrie anzeigen, die über die Strecken- und Flächenabfrage erzeugt wurde.
image:print_off.png Drucken über diese Schaltfläche wird ein Fenster für die Druckeinstellungen geöffnet.
image:addlist_off.png WMS hinzufügen von Liste Mit diesem Button können über eine angezeigte Liste weitere Karten (WMS Dienste) in das Kartenfenster geladen werden. Welche Karten zur Auswahl stehen hängt von der Anwendung ab. Weitere Informationen zu verfügbaren Kartenservern finden Sie auf der Mapbender Homepage
image:add_filtered_list_off.png WMS von gefilterter Liste hinzufügen Mit diesem Button werden weitere Karten zur Auswahl angeboten. Die Liste ist gefiltert und zeigt alle WMS der eigenen Anwendungen.
image:add_off.png WMS hinzufügen Mit diesem Button können OGC WMS Dienste durch Eingabe der Capabilities URL zu der laufenden Sitzung hinzugeladen werden. Beachten Sie, dass nicht alle Capabilities Dokumente den OGC WMS Spezifikationen entsprechen und es deshalb zu Ladeproblemen kommen kann. Bitte geben Sie zwecks Prüfung der userlist Bescheid, falls ein Capabilities Dokument nicht kompatibel ist.
image:Wmc_save_off.png WMC speichern Mit diesen Button lassen sich die zusammengestellten WMC's abspeichern.
image:Wmc_load_off.png WMC anzeigen/laden Grafische Auflistung der abgespeicherten WMC's. Diese lassen sich einzeln wieder hochladen oder als XML darstellen.
logout_off.png Abmelden Mit dieser Schaltfläche wird die aktuelle Sitzung beendet.
image:help_off.png Hilfe über diesen Button können Sie die aktuelle Hilfe für den Mapbender aufrufen.
home_off.png GUI Liste anzeigen Ansicht der Tabelle der zur Verfügung stehenden GUIs.

Digitalisier-Buttons

image:point_off.png Punkt zeichnen Über diesen Button können Punkte gezeichnet werden.
image:line_off.png Linie zeichnen Über diesen Button können Linien gezeichnet werden.
image:polygon_off.png Polygon zeichnen Über diesen Button können Polygone gezeichnet werden.
image:move_node_off.png Stützpunkt verschieben Stützpunkt einer bestehenden Geometrie verschieben.
image:new_node_off.png neuer Stützpunkt Stützpunkt in eine bestehende Geometrie einfügen.
image:delete_node_off.png Stützpunkt löschen Stützpunkt einer bestehenden Geometrie löschen.
image:geomInfo.png Informationen zur Geometrie anzeigen Bearbeitungd der Geometrie - Sachdateneingabe, speichern, löschen, Geometrie anlegen.
image:geomRemove.png Geomertie aus dem Editierbereich entfernen Wenn eine Geometrie nicht mehr bearbeitet werden soll, kann sie aus dem Editierbereich entfernt werden.

Selektions-Buttons

image:select_rectangle_off.png Selektion über ein Rechteck WFS Selektion über ein Rechteck, das mit der Maus aufgezogen werden kann.
image:select_polygon_off.png Selektion über ein Polygon WFS Selektion über ein Polygon, das gezeichnet wird.
image:select_point_off.png Selektion über einen Punkt WFS Selektion über einen Klickpunkt.
image:select_extent_off.png Select by point WFS Selektion über die derzeit angezeite Ansicht in der Karte.
image:select_choose_off.png Auswahl der verschiedenen Selektionsmöglichkeiten
image:wfs_digitize.png Geometrie in das Editierfenster überführen

Zurück zur Übersicht Benutzerführung Mapbender

siehe auch

Using Mapbender

Please observe that this page has been introduced recently. If you have comments on how to improve it please let us know (find out how to in the MapbenderWiki:Community Portal).

Choose a language version:

We would like to ask for more Translations :)

If you are able to speak languages which are not displayed here at the moment, it would be nice if you could do a translation of the Using Mapbender Chapter for your language. We suggest to add French, Spanish, Dutch, Arabic, Turkish, Chinese, Greek, Czech, Italian (those are the ones we know are already using Mapbender) or any other that you might be interested in.

We don't believe that translating the whole Wiki in all these languages makes sense, but the Using Mapbender does make sense to enable people get a start with Mapbender.

How to start a translation:

  1. If you don't have a Mapbender-Wiki account, ask for an account at [mailto: astrid_emde@osgeo.org]
  2. Make a new entry at this page:example: * MyLanguage: [[Using Mapbender translated in your language]] [[What is Mapbender translated in your language]]
  3. Copy the english chapter Using Mapbender` in your [[Using Mapbender translated in your language]]
  4. translate it to your language
  5. create a Wiki-Link [[translation : Toolbar]]
  6. Copy the english chapter [[Toolbar]] to your new link [[translation : Toolbar]]
  7. translate the toolbar chapter
  8. Copy the english chapter What is Mapbender in your [[What is Mapbender translated in your language]]
  9. translate it to your language
  10. got to the Version History and announce that there is a new translation
  11. give yourself a pat on the back - you did a good job. Thank you.

Was ist Mapbender? (Englisch, Polnisch)

other languages

Was ist Mapbender?

Die Software Mapbender ist eine in PHP und JavaScript implementierte Entwicklungsumgebung für Kartenanwendungen. Alle Daten werden zur Laufzeit dynamisch aus einer Datenbank gelesen, so wie das bei Content management Systemen (CMS) üblich ist. Mapbender ist also im Grunde genommen ein Geodaten CMS und wird deshalb häufig als Geoportalsoftware eingesetzt.

Die Software beinhaltet vorkonfigurierte Oberflächen für die Anzeige, Navigation und Abfrage von OGC standardisierten Diensten (z.B. WMS, WFS-T, GML). Zusätzlich stehen in der Administration Module und Oberflächen für die Verwaltung der Kartenwerke (Server), Benutzer, Benutzergruppen und Berechtigungen zur Verfügung. Die Mapbender-Datenbank ermöglicht eine exakte Benutzer- und projektspezifische Protokollierung aller Aktionen, Abfragen und Navigation.

Mapbender läßt sich praktisch in jede bestehende heterogene Architektur und Webseite integrieren. Eine Liste der Funktionen findet sich im Kapitel Funktionen.

Die Software ist kompatibel mit Kartendiensten und Datendiensten, die entsprechende OGC-Schnittstellenspezifikationen implementieren und kann deshalb als Rahmen für eine breite Palette von GIS- und GDI-Softwareprodukten unterschiedlicher Hersteller genutzt werden. Die Palette der unterstützten Software kann bei Bedarf erweitert werden und ermöglicht es, auch herstellerspezifische Besonderheiten zu berücksichtigen.

Die Funktionen der Mapbender Software werden über eine Funktionsbörse geplant und entwickelt. Der aktuelle Entwicklungsstand informiert über neue Erweiterungen. Die folgenden Seiten geben einen ersten Einblick in die Funktionsweise von Mapbender.

  1. Benutzer und Gruppen siehe User
  2. Oberfläche siehe User Interfaces
  3. Kartendienst (OGC Open Web Services) siehe Map Services


Einsatzgebiete

Mapbender deckt folgende Aufgabenbereiche ab:

  • Web-GIS Client (OGC WMS, WFS, Catalog Service Client)
  • Geo-CMS (Content Management System)
  • Web-basierte Digitalisieroberfläche (OGC WSF-T Client)
  • Securitymanagement (Authentifikation, Autorisation)
  • Abrechnungssystem (Zugriffsprotokolierung)
  • Orchestrierung von netzbasierten Dienstarchitekturen für Geodaten

Die Beschreibung der gesamten Funktionalität kann der Funktionsliste entnommen werden. Neue Funktionen werden in der aktuellen Entwicklung verwaltet.

Entwicklungsgeschichte

Mapbender Framework - Entwicklungsgeschichte

Heute

Falls Sie Mapbender im professionellen Umfeld nutzen und dichter in die Entwicklung eingebunden werden möchten, melden Sie sich bitte bei der Open Source Geospatial Foundation. Dort haben Sie die Möglichkeit über Mailing Listen Kontakt mit der Anwendergemeinschaft aufzunehmen. In einem weiteren Schritt können Sie dann auch eine Rolle im Projekt Mapbender beantragen, alle weiteren Informationen finden Sie auf der Startseite des Projektes unter http://mapbender.osgeo.org

2001 bis 2006 - absteigend

  • 2006.03.31

Eine Vielzahl von Projekten, die auf der FOSSGIS vorgestellt wurden setzen Mapbender produktiv ein. Eine der umfangreichsten Installationen überhaupt wird von der Stadt Bonn betrieben, die neben umfangreichen Projektkspezifischen Erweiterungen auch eine OGC WTS (Web Terrain Servicec) Schnittstelle implementiert hat. Besonderes Augenmerk liegt hier auf der Integration in Content Management Systeme (CMS). Die Integration des Mapbender Geo-CMS in die Eigenentwicklung der Stadt Bonn ist nahtlos. Auf standardisierte Metadaten und Kataloge, wie sie derzeit überall gefordert und implementiert werden hat die Stadt Bonn bisher verzichtet, die diese Dienst oft nicht wirklich nutzbar sind. In der Mapbender Basisentwicklung wird analog zu diesem Vorgehen ein erstes Broker-Modul auf Basis der bestehenden Login-, AddWMS- und ContextDocument-Module implementiert.

  • 2006.03.13

Die Anwendung FIONA ist Online. Damit wurde die Sicherheitsarchitektur, die bereits in Rheinland Pfalz im Ministerium für Wirtschaft, Verkehr, Landwirtschaft und Weinbau aufgebaut wurde um eine externe Authentisierungskomponente (HIT-Verfahren) erweitert. Die Produktionsumgebung läuft auf zwei sich spiegelnden Systemen, um höchste Ausfallsicherheit zu gewährleisten. Die GIS-Komponenten der Anwendung bestehend aus PostgreSQL/PostGIS Datenbank, MapServer, GeoServer und Mapbender basieren vollständig auf Open Source Technologie.

  • 2006.03.10

Mapbender Version 2.2.3 wurde zum Herunterladen bereitgestellt. Alle Informationen zu den Neuerungen können Sie der Versionsdokumentation entnehmen. Mapbender 2.2.3 ist gleichzeitig die letzte Version, die über die SourceForge-Infrastruktur bereitgestellt wird. Zukünftige Versionen werden über die Mapbender Domäne in der Open Source Geospatial Foundation unter https://mapbender.osgeo.org bereitgestellt. Dieser Migrationsschritt wird gleichzeitig genutzt, um auf die Sourcecode-Verwaltungssoftware SVN umzusteigen.

  • 2006.02.27

Vorbereitungen für die Migration der Mapbender Entwicklung in die neue Umgebungen werden gestartet. Der OSGeo-Inkubationsprozess wird parallel entwickelt. Weitere Informationen sind dem OSGeo Wiki zu entnehmen. Bitte beachten Sie dass sich dieser Prozess dynamisch entwickelt. Stabile, offizielle Informationen entnehmen Sie bitte immer diesem Wiki und den statischen Seiten der OSGeo unter https://mapbender.osgeo.org

  • 2006.02.04

Mapbender wird zu einem der 8 Startprojekte der Open Source Geospatial Foundation (OSGeo). Zusammen mit GDAL/OGR, MapServer, MapGuide Open Source, MapBuilder, Geotools, GRASS und OSSIM bildet Mapbender den Kern der Free and Open Source Software Projekte der OSGeo Foundation.

  • 2005.11.10

Mapbender wird auf der brasilianischen MapServer Anwenderkonferenz 2005 vorgestellt. Die Kooperation mit dem Team G10 der Universität von Itjai wird vertieft, ein erster brasilianischer WMS-Dienst geht in Produktion und wird in die Mapbender Userkarte eingebunden.

  • 2005.06.16

Mapbender wird auf der OSG '05 in mehreren Beiträgen vorgestellt. Es gibt einen regen Austausch mit den Entwicklern des Schwesterprojektes MapBuilder und ka-map, beide kürzlich um AJAX-Technologie erweitert. Die drei Entwicklungsteams beschließen, dass MapBuilder und ka-map die AJAX-Technologie weiter vertiefen während Mapbender weiter den Schwerpuntk auf erweiterte Funktionalität, Benutzer, Gruppen, Rollen-Verwaltung und Sicherheit legt. Einige Code-Module werden bereits von allen Projekten genutzt, diese Zusammenarbeit soll ausgebaut werden.

  • 2005.04.04

FLOrlp ist Online. Damit ist die erste große Anwendung mit clientseitiger Digitalisier-Funktionalität in produktiven Betrieb gegangen. Das System bietet mehreren tausend Landwirten und deren Meldevertretern (z.B Maschinenringen, Kooperationen und Genossenschaften) die Möglichkeit Online auf öffentliche Geodaten zuzugreifen. Ein Schwerpunkt der Entwicklung in Mapbender betrifft die Datensicherheit -Vertraulichkeit und Zugriffsschutz. Das Demosystem ist jetzt ebenfalls in Betrieb.

  • 2005.04.29

Mit über 80 Teilnehmern aus Deutschland, Österreich und der Schweiz konnte die Mapbender Anwenderkonferenz als voller Erfolg gewertet werden. Die Entwicklersitzung am Ende der Veranstaltung wurde genutzt, um die weitere Koordination und Entwicklung der Software zu besprechen. Anregungen und Wünsche wurden in die Planung mit aufgenommen. Eine Vielzahl von Fragestellungen konnten direkt von Anwendern beantwortet werden, die bereits eine entsprechende Lösung implementiert haben. Der Wunsch ist, dass diese Kooperationen verstärkt werden.

  • 2005.03.10

Am 29.04.2005 findet in Bonn die Mapbender Anwenderkonferenz statt. Bitte melden Sie sich verbindlich mit dem Anmeldeformular an. Die Anwenderkonferenz ist für alle Teilnehmer kostenfrei.

  • 2005.03.10

Die Anwendung FLOrlp des Ministerium für Wirtschaft, Verkehr, Landwirtschaft und Weinbau - Rheinland Pfalz wurde heute produktiv geschaltet. Die Lösung basiert auf einer WebGIS Architektur mit Freier Software und setzt vollständig auf OGC Standards. Damit steht eine interoperable und übertragbare Best-Practice Lösung für eGovernment Anwendungen zur Verfügung, die den hohen Ansprüchen datenschutzwürdiger Daten gerecht wird. In einem nächsten Schritt wird ein Demosystem bereitgestellt, dort können alle Funktionen der Anwendung getestet und ausprobiert werden.

  • 2005.01.26

Mapbender bindet WFS (Web Feature Server) als Datenquelle für Suchmasken ein. Damit ist ein weiterer grundlegender Schritt in Richtung Interoperabilität erfolgt. Mapbender kann damit alle weltweit verfügbaren standardisierten Geodatenserver für Such- und Markierungsfunktionen einbinden.

  • 2005.01.10

Die ZADI hat intern den Prototypbetrieb der vollständig auf Freier Software basierenden ENV Lösung (Ernährungsvorsorge) aufgenommen. Das BSI prüft im Auftrag der Projektbeteiligten die Gesamtarchitektur auf Aussfallsicherheit, Datenschutz und Datensicherheit.

  • 2004.09.10

Es laufen Vorbereitung für die Übernahme der Quellcodes in das CVS (Concurrent Versioning System) von SourceForge, um Entwicklungen besser integrieren zu können. Damit wird es möglich zwischen verschiedenen Releases zu wechseln und partielle Updates zu fahren. Neben den Stable-Releases im Download-Bereich können damit auch neue Versionen und Bleeding-Edge Entwicklungen direkt aus dem CVS geladen werden.

  • 2004.09.07

Im Downloadbereich von SourceForge ist ein neues Release von Mapbender2 veröffentlicht worden. Sie enthält alle Fehlerbehebungen, die in den letzten Monaten festgestellt wurden. Das Datenmodell wurde erweitert und enthält jetzt zusätzlich Styles Parameter. Das Modul zum Updaten von WMS wurde wie in der Liste diskutiert implementiert. Das neue Release enthält alle erforderlichen Updates und SQL Skripte für einen Upgrade der Version Mapbender2-beta ohne Neuinstallation.

  • 2004.08.30

Die Beta-Version der Mapbender2 Frameworks wurde innerhalb von 2 Monaten über 450 Mal heruntergeladen - das übertrifft bei weitem unsere Erwartungen. Deshalb verstärken wir jetzt noch mals unsere Entwicklungsarbeit, um die Vollversion fertig zu stellen. Bitte nutzen Sie jetzt die Möglichkeit, um letzte aufgetretene Fehler zu melden. Neue Funktionen werden bereits ausschließlich in den Entwicklerversionen MB 2.1 und MB 2.2 implementiert.

  • 2004.08.24

Einen neuer Dienst wurde in das Interoperability Testbed eingebunden. Die DEMIS Web Map Server Software ist beeindruckend schnell und spricht "sauberes" OGC WMS.

  • 2004.08.16

"Barrierefreiheit" beflügelt allerorten als neues Schlagwort Phantasien und Angst von Anwendern, Herstellern und Marktschreiern. Die Entwicklung der bereits seit Mapbender Version 1.0 bekannten HTML 3.2 Anwendung "Mapbender PDA" wird mit dem Hintergrund der Barrierefreiheit wieder aufgegriffen und weitergeführt. Interessierte sind aufgerufen Ihre Anforderungen zu definieren und aktiv bei der Entwicklung mitzumachen.

  • 2004.08.14

Die Testphase (10 Wochen) von Mapbender2 ist abgeschloßen. Die erste Vollversion von Mapbender2 wird Mitte September Online gehen. Daher gilt für MB2 ab sofort Implementierungsstopp. Neue Funktionen werden ab sofort nur noch in Prerelease Versionen von Mapbender 2.1 und 2.2 eingebunden.

  • 2004.07.24

Mapbender ist in die Software Download Liste der GDI-DE - Geoportal.Bund eingetragen worden.

  • 2004.07.14

Das Freie Software WMS Client Framework Mapbender wird bereits in fünf Projekten der GDI-NRW produktiv eingesetzt.

  • 2004.07.01

Das Testbed auf www.mapbender.org wird in Betrieb genommen. Ca. alle 14 Tage wird hier ein WMS Dienst eingebunden. Fall Sie gerne Ihren WMS Dienst testen möchten, nehmen Sie Kontakt mit der User Liste auf.

  • 2004.06.26

Das neue Druckmodul wird getestet.

  • 2004.06.01

Die englischsprachige Dokumentation wurde herausgegeben.

  • 2004.06.01

Eine neue Version von Mapbender2 wurde veröffentlicht.

  • 2004.05.10

Die deutsche Version geht online.

  • 2004.04.18

Die neue Webseite (diese hier) des Projektes wurde fertiggestellt.

  • 2004.04.14

Erste Tests mit dem Prototyp der Mapbender 2 Architektur liefern gute Ergebnisse.

  • 2004.03.19

Das Mapbender 2 Datenmodel ist fertig für die Implementierung.

  • 2004.02.23

Die Webseite soll überarbeitet werden (und einen deutschsprachigen Teil enthalten).

  • 2004.02.02

Die Mapbender Version 1.4 wurde als Stable Release bei SourceForge veröffentlicht.

  • 2004.01.05

der Mapbender Prototyp "SPA" mit neuen Funktionen und einem völlig neugestalteten GUI wurde gestartet. Einige Funktionen werden in der neuen Mapbender Version enthalten sein, welcher im Sommer 2004 fertig werden soll.

  • 2003.12.17

Die magische Zahl von 1000 Downloads von unserer offiziellen Webseite wurde erreicht. Leider wissen wir nicht wieviele dieser Downloads in produktiven Milieus eingesetzt werden, wir können das nicht weiterverfolgen. Es ist geplant, eine Karte mit den Mapbender Installationen und Supportanbietern zu erstellen.

  • 2003.11.20

Neuer Mapbender Version 1.0.1 wurde in SourceForge veröffentlicht. Verschiedene Bugs wurden korrigiert und ein paar neue Funktionen eingefügt.

  • 2003.10.23

500 Downloads bis zum heutigen Tage. Die Nutzer sind anscheinend zufrieden mit der neuen Client Suite. Außerdem macht sich die Nutzergemeinde daran, die Software weiterzuentwickeln. Einige dieser Entwicklungen und neue Funktionen werden in den nächsten Veröffentlichungen zu sehen sein.

  • 2003.08.29

Eine Nutzerliste für Mapbender wurde erstellt.

  • 2003.08.28

Die Projektregistrierung von Mapbender bei SourceForge wurde bestätigt.

  • 2003.08.23

Mapbender wurde bei SourceForge eingereicht. Status ist anhängend.

  • 2003.08.22

Neue Funktionen wurden in den Mapbender Desktop integriert. Versionsupdate auf 1.0.1

  • 2003.08.19

Die Domäne MAPBENDER wurde für .de .org .com und .net registriert. Die Projekthomepage wird Informationen und Links zu Mapbender enthalten.

  • 2003.08.15

Die Mapbender Client Suite Version 1.0.0 wurde unter der GNU GPL License veröffentlicht.

  • 2003.05.12

Die erste offizielle Beta-Version der Client Suite aus dem Mapbender Frameworks wurde veröffentlicht.

  • 2003.04.03

Die CCGIS Client Suite wurde komplett überarbeitet mit der Absicht eine Arbeitsumgebung zu schaffen, welche von den Nutzern selbst genutzt, unterhalten und weiterentwickelt werden kann. Dieser Schritt bedeutet auch, daß diese Software *frei* im Sinne der GNU GPL License zugänglich sein wird und auch der Quellcode öffentlich einzusehen ist. Die Nutzer (und Lizenznehmer) der bisher proprietär entwickelten und vertriebenen CCGIS Client Suite werden befragt, ob und inwiefern sie dieser neuen Philosophie zustimmen können. Der neue Name der Client Suite wird *Mapbender* sein.

  • 2002.12.08

Die CCGIS Client Suite wird um ein für PDA nutzbares Nutzerinterface erweitert.

  • 2002.06.16

Die CCGIS Client Suite geht in einer Installation mit 400 Arbeitsplätzen online.

  • 2002.04.24

Die Benutzerverwaltung wurde erweitert. Es ist nun möglich genaue Nutzerberechtigungen zuzuweisen und den Zugriff auf spezielle Funktionen auf einen eingeschränkten Nutzerkreis zu beschränken. Das Nutzerinterface setzt sich dynamisch über die Berechtigungen in der Datenbank zusammen.

  • 2001.11.23

Die Version 1.0.0 der CCGIS Client Suite wird veröffentlicht. Von Anfang an wird der Industriestandard OGC WMS unterstützt. Die Nutzung wird auf den Betrieb mit der Software SICAD/SD-IMS optimiert, eine der ersten deutschsprachigen Softwarepakete die OGC WMS Anfragen unterstützen.

  • 2001.10.08

Die Betatests für das php-basierte Web Map Interface haben begonnen.

  • 2001.07.16

Ein php-basiertes Web Map Interface wird geplant und erstellt. Es soll als Map Frontend für eine breite Palette an Applikationen dienen. Der Produktname ist *CCGIS Client Suite*.

Installation / Systemvoraussetzungen

Installation Deutsch

Read the Installation instructions in English language

Notice

Ab der Version 2.6 steht ein Installationsskript zur Verfügung, mit dem Mapbender in wenige Minuten installiert werden kann.

Das Skript liegt unter:

/mb_installdir/resources/db/install_2.6.(sh,bat) 

(Das Skript liegt für UNIX-artige Systeme und für Windows OS vor. Das Skript erstellt die Mapbender -Datenbank, Kompiliert die Sprachdateien [.mo] und setzt die Dateiberechtigungen. Einige der Angaben dieser Seite müssen weiterhin berücksichtigt werden [Apache, php-Konfiguration, Anpassung der Datei mapbender.conf, Installation von gettext bzw. poedit])


Notice Sie finden eine Installationsskript für debian lenny unter: http://www.geoportal.rlp.de/mediawiki/index.php/Installation_OSS_GIS_Debian


Update Mapbender

  • Infos, um eine laufende Mapbender Installation zu aktualisieren finden Sie unter Update Mapbender

Betriebsvoraussetzungen (Deutsch)

Mapbender benötigt folgende Softwarevoraussetzungen:

  • Webserver (Apache, MS IIS)
  • PHP(Skriptsprache) möglichst
    • ab Version 5.1.x für pg-prepared Statements
    • PHP 5.2.1 für natives JSON
    • PHP-Erweiterungen, die evtl. als Standard nicht aktiviert sind
      • php-mbstring
      • php-gettext
      • php-gd2
      • php-imagick
      • php5-curl (wenn Sie cURL zur Datenübertragung verwenden möchten beispielsweise bei Proxyverwendung- beachten Sie die Angabe in der mapbender.conf)
  • Datenbank (PostgreSQL >=8.x, PostGIS muss installiert sein)
  • Installation von gettext siehe http://www.mapbender.org/Gettext#Utility_programms
  • take care - Suhosin can effect Mapbender administration and block requests

HINWEIS zu Clientrechner Mehr zu den Systemvoraussetzungen des Clientrechners können Sie unter Client nachlesen.


Download des Pakets

Laden Sie sich das aktuelle Mapbender OSGeo Installationspaket herunter. Näheres zum Download finden Sie unter Download Mapbender (de).


Auspacken des Pakets

Mapbender besteht aus einer Vielzahl von PHP-Dateien in verschiedenen Verzeichnissen, die komprimiert in einem zip-Archiv ausgeliefert werden. Zum Dekomprimieren benötigen Sie ein entsprechendes Programm wie z.B. unzip (Kommandozeile) oder FileZip (Windows).


Verzeichnisse

Mapbender verfügt über folgender Verzeichnisse:

  • conf - Verzeichnis, das die Konfigurationsdatei mapbender.conf enthält
  • http - Anwendungsverzeichnis. In diesem Verzeichnis werden in Unterverzeichnissen die Module nach Typ getrennt abgelegt.
  • log - In diesem Verzeichnis werden auftretende Fehler gespeichert. Das Verzeichnis muß über Schreibrechte verfügen.
  • resources/db - hier befinden sich in SQL-Dateien die Statements, um die Tabellen zu erstellen und zu füllen
  • resources/locale Übersetzungsdateien für verschiedene Sprachen im Mapbender (.po-Dateien)
  • license - Lizenzinformationen
  • owsproxy

Installation Mapbender Datenbank

  • Ab der Version 2.6 kann die Installation der Datenbank über ein Installationsscript erfolgen
    • das Installationsscript liegt im Verzeichnis ../resources/db/
    • für Linux/Unix: install_2.6.sh
      • diese Datei muss ausführbar gemacht werden (z.B. chmod u+x install_2.6.sh)
    • für Windows: install_2.6.bat
    • starten des Installationsscriptes über ./install_2.6.sh (Linux/Unix) bzw. einen Doppelklick auf die install_2.6.bat (Windows)
    • den Installationsanweisungen folgen

Apache Virtuelles Verzeichnis

1. Zuerst wird ein virtuelles Verzeichnis angelegt. Hierzu wird die Datei /etc/apache/httpd.conf editiert (der Ort variiert, bei Apache2 meist /etc/apache2/sites-available/default näheres finden Sie unter Apache):

Alias /mapbender /path/to/mapbender/http/
<Directory /path/to/mapbender/http> Options MultiViews DirectoryIndex index.php Order allow,deny Allow from all </Directory>

Wenn z.B. zu Debugging Zwecken das Verzeichnisdurchsuchen benötigt wird, muß der Zeile Options das Schlüsselwort Indexes hinzugefügt werden.

Für weitere Hinweise (z.B. UTF-8): Apache

Apache Kompression

Für eine optimale Performance ist eine server-seitige Kompression unerläßlich. Hier eine Anweisung für Apache ([Details]). Den Text in Fettschrift an den Directory-Eintrag anhängen

       <Directory /path/to/mapbender/http>
           Options MultiViews
           AllowOverride None
           Order deny,allow
           Deny from all
           Allow from 127.0.0.0/255.0.0.0 ::1/128
   
           # Insert filter
           SetOutputFilter DEFLATE
   
           # Netscape 4.x has some problems...
           BrowserMatch ^Mozilla/4 gzip-only-text/html
   
           # Netscape 4.06-4.08 have some more problems
           BrowserMatch ^Mozilla/4\.0[678] no-gzip
   
           # MSIE masquerades as Netscape, but it is fine
           # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
   
           # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
           # the above regex won't work. You can use the following
           # workaround to get the desired effect:
           BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
   
           # Don't compress images
           SetEnvIfNoCase Request_URI \
           \.(?:gif|jpe?g|png)$ no-gzip dont-vary
   
           # Make sure proxies don't deliver the wrong content
           Header append Vary User-Agent env=!dont-vary
       </Directory>

Die benötigten Module müssen geladen sein (beispielsweise für Ubuntu und Apache2)

a2enmod deflate
a2enmod headers

Unter Windows und Apache2, müssen die Module in der httpd.conf aktiviert werden (Kommentarzeichen entfernen)

LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so

Mapbender wird fast doppelt so schnell geladen werden!


PHP Konfiguration

Sie müssen einige Anpassungen in der php.ini-Datei durchführen. Die Änderungen wirken sich erst nach einem Neustart des (Apache-) Webservers aus.

1. Während der Test- und Installationsphase von Mapbender, sollten Fehlermeldungen angezeigt werden. Passen Sie dazu die php.ini folgendermaßen an:

error_reporting  =  E_ALL & ~E_NOTICE
display_errors = On
log_errors = On
error_log = /var/log/php/error.log  #Logdatei muss für den Webserver schreibbar sein!


2. Nach der Testphase sollten Fehlermeldungen nicht mehr ausgegeben werden:

display_errors = Off

3. Folgende Einstellungen in der php.ini sind zu prüfen ( Erläuterung zu allow_url_fopen):

extension_dir = (path to extensions-directory)
allow_url_fopen = On

4. Die Mapbender Authorisierung wird über SESSIONS geregelt.

session.save_handler = files
session.save_path = (Path to SESSIONS-Directory). (Check authorisation!)
session.use_cookies = 1

5. Weitere Einstellungen für das Session-Management sollten angepaßt werden (siehe dazu 'garbage collection' in der php.ini)

6. Für einige Module (z. B. Druck) wird die Erweiterung gd2 benötigt.

extension=php_gd2.dll        (Windows)
extension=gd.so              (Linux)

Diese Lib befindet sich in einem Debian-System in /usr/lib/libgd.so. Wenn nicht, dann mit folgendem Kommando installieren:

# apt-get install libgd2-dev


7. Für die Administrationsdatenbank sowie für einige Mapbender Module wird Zugriff auf eine PostgreSQL-Datenbank benötigt. Hierzu ist zu prüfen, ob die benötigte Erweiterung in der php.ini eingebunden ist.

extension=php_pgsql.dll      (Windows)
extension=pgsql.so           (Linux)

8. ab der Mapbender version 2.5 werden die Erweiterungen gettext und mbstring benötigt

extension=php_gettext.dll     (Windows)
extension=php_mbstring.dll    (Windows)

9. short_open_tag

short_open_tag = OFF

10. Mapbender benötigt simplexml und dom zum XML parsen. Falls nicht installiert, können schwer zu lokalisierende Fehler auftreten, da PHP keine Fehlermeldungen gibt, falls diese Pakete fehlen! Falls eine Linux Distribution benutzt wird, sind diese Pakete schon installiert, aber falls PHP manuell kompiliert wird, müssen diese Module hinzugefügt werden

Darüberhinaus ist zu prüfen, ob die Datenbankeinstellungen in der conf/mapbender.conf korrekt sind.

Mapbender Datenbank

Installskript

Mapbender beinhaltet ein Installskript, welches die Datenbank erzeugt und füllt. Welche Aktionen dabei ausgeführt werden steht weiter unten unter Installation_de#PostgreSQL_Datenbank. Aufruf unter Unix, ggfs. muss das Skript erst ausführbar gemacht werden:

chmod +x install.sh

danach das Skript starten mit

./install.sh # oder bash install.sh

Aufruf unter Windows:

install.bat

oder per Doppelklick im Explorer.

Ab Mapbender 2.7 können Kommandozeilenargumente angegeben werden, der Aufruf ist dann

./install.sh <HOST> <PORT> <DBNAME> <DBTEMPLATE> <DBUSER>

also z.B.

./install.sh localhost 5432 mapbender template0 postgres

um die Datenbank "mapbender" auf dem lokalen Rechner unter Port 5432 als Benutzer postgres anzulegen. Hierbei wird als Template template0 benutzt.

Das Kennwort des Benutzers wird u.U. öfters abgefragt, es wird die Verwendung von .pgpass bzw. pgpass.conf empfohlen, dort kann eine Benutzername/Kennwort-Kombination sicher abgelegt werden.

Ab Version 2.7 existiert ein Update-Skript (update.sh/update.bat), welches die Datenbank aktuell hält, auch dieses akzeptiert Kommandozeilenargumente:

./update.sh <HOST> <PORT> <DBNAME> <DBUSER>

Überblick über die Datenbankstruktur und die versionsabhängigen Änderungen in der Datenbank (Tabellen, Spalten).

PostgreSQL Datenbank

Hinweis: Die folgenden Schritte werden vom Installskript automatisch durchgeführt.

Hinweis: Ab Version 2.6 wird ausschließlich Postgres mit UTF-8 Zeichensatz unterstützt.

Der Benutzer, mit welchem Sie die unten stehenden psql_*.sql Dateien in die Datenbank laden muss Postgres superuser Rechte besitzen!

Anlegen der Datenbank, mit UTF8 Zeichnsatz

createdb -E UTF8 mapbender

Zuerst wir die leere Tabellenstruktur (tables, keys und constraints) angelegt (pgsql_schema.sql). Im zweiten Schritt werden die Daten (pgsql_data.sql) geladen. Im dritten Schritt werden die Abhängigkeiten (pgsql_serial_set_sequences.sql) geladen. Dei Reihenfolge muss unbedingt eingehalten werden. Alle SQL-Anweisungen liegen unterhalb des Verzeichnisses ./mapbender/resources/db/postgresql, die Daten (pgsql_data.sql) finden sich jeweils in den Untrverzeichnissen utf8 oder iso.

1. Schema erzeugen

psql -f ./pgsql_schema.sql <dbname>

2. Daten einspielen

psql -f /utf8/pgsql_data.sql <dbname>

3. Serial Set Sequences (Abhängigkeiten, Bedingungen und Zählerstand der Sequenzen für Serial-Felder, Autowerte)

psql -f pgsql_serial_set_sequences.sql <dbname> 

Ab Mapbender 2.6 wird PostgreSQL in Versionen < 8 nicht mehr unterstützt.

Hinweis
Räumliche Funktionen (Umprojektion des Koordinatensystems (changeEPSG), Flächenberechnung) benötigen die PostgreSQL-Spracherweiterung PostGIS.

Um PostGIS in die PostgreSQL Datenbank zu laden müssen folgende Befehle ausgeführt werden (als Benutzer mit Super-User Rechten (z.B. su postgres)):

Für ältere Mapbender Versionen < 2.5:

createlang plpgsql <dbname>

Alle Versionen:

psql -f <PostGIS-Verzeichnis>lwpostgis.sql -d <dbname>
psql -f <PostGIS-Verzeichnis>spatial_ref_sys.sql -d <dbname>
Backup

restore backup (Beispiel):

pg_restore -Upgsql -dpostgis_template -C mapbender_dev_utf8.dump

Mapbender Konfigurationsdatei mapbender.conf

Die Mapbender Konfigurationsdatei befindet sich im Ordner "conf". Hier finden Sie die Datei mapbender.conf-dist. Benennen Sie diese Datei um in mapbender.conf und passen Sie sie an Ihre Umgebung an. Beim nächsten Update von Mapbender werden Ihre Angaben nicht überschrieben.

Auswahl von PostgreSQL als Administrationsdatenbanken (das Doppelkreuz wird zum auskommentieren verwendet, folgender Eintrag setzt also PostgreSQL aktiv, MySQL wird aktuell nicht mehr unterstützr)

   define("SYS_DBTYPE", "pgsql"); 

Angaben für den Datenbankzugriff

   define("DBSERVER", "<HOST>");
   define("PORT", "<PORT>");
   define("DB", "<database>");
   define("OWNER", "<owner>");
   define("PW", "<password>");
   

Nutzung von Prepared Statements (PHP > 5.1.x, PostgreSQL > 7.4)

define("PREPAREDSTATEMENTS",true); # bzw. ohne Prepared Statements "false"

Encoding der Datenbank - default characterset UTF-8 / ISO-8859-1

define("CHARSET","UTF-8");

Weiterführende Informationen zur Nutzung von UTF-8 als Encoding unter Apache.

Definieren Sie ein Verzeichnis, in dem temporäre Dateien abgelegt werden können. Für dieses Verzeichnis muß der Webserver (und damit Mapbender) über Schreibrechte verfügen!

 define("TMPDIR", "../tmp");

URL für die Anmeldung

 define("LOGIN", "http://localhost/mapbender/frames/login.php");
 define("MAXLOGIN", 3);
 $login = LOGIN;

URL zum owsproxy (keinen abschließenden Slash angeben)

 define("OWSPROXY", "http://<ip or name>/owsproxy");


type of server-connection curl, socket, http

 #define("CONNECTION", "curl");
 define("CONNECTION", "http");
 #define("CONNECTION", "socket");
 define("CONNECTION_PROXY", "<ip>");
 define("CONNECTION_PORT", "<port>");
 define("CONNECTION_USER", "<user>");
 define("CONNECTION_PASSWORD", "<password>");

Sicherheit: Pfad zu den einzelnen Modulen

Mapbender kann prüfen, ob Benutzer nur Module einfügen darf, die bereits zur Verfügung stehen. Nicht-berechtigte (oder ganz neue Module) können dann nicht eingebunden werden!

 define("CHECK", false);

Diese Einstellung ist nur dann von Bedeutung, wenn Mapbender im Mandantenbetrieb läuft, also mehrere unabhängige Administrationsinstanzen benötigt werden.

Mailserver Einstellungen für interne Mapbender Mails

Von nun an kann Mapbender auch mit seinen Nutzern kommunizieren, z.B. kann im Falle eines verlorenen Passworts ein neues per Email zugeschickt werden. Ausserdem werden Nutzer informiert, wenn ein WMS, den sie benutzen, aktualisiert oder verändert wird.

Damit Mapbender Emails senden kann muss der Administrator einen Mailserver (und einen validen Mailaccount auf diesem Server) in mapbender.conf angeben. Bitte beachten Sie: Mapbender bietet nur SMTP mailing!

Weitere Einstellungen können in 'class_administration.php' gemacht werden, zudem lohnt auch ein Blick auf phpmailer (http://sourceforge.net/projects/phpmailer). Zur Zeit wird phpmailer 1.72 verwendet.

 define("MAILHOST", "0.0.0.0");
 define("MAILUSERNAME", "mapbender");
 define("MAILPASSWORD", "mapbender");
 $mailHost = MAILHOST;
 $mailUsername =  MAILUSERNAME;
 $mailPassword =  MAILPASSWORD;

Mapbender error logging

  • Definiere das Mapbender error logging
define("LOG_LEVEL", "error"); //"off","error","warning","notice" or "all"
define("LOG_JS", "on"); // "on", "alert", "console" or "off"

Internationalisierung

  • Setze USE_I18N auf true in der mapbender.conf.
define("USE_I18N", true);
  • Definiere, welche Sprache der Standard sein soll
define("LANGUAGE", "en");   // "en", "de", "bg", "gr", "nl", "it", es" 
  • Kompiliere die .po Dateien in .mo Dateien via msgfmt, siehe gettext (Stellen Sie sicher, dass gettext installiert wurde).
msgfmt resources/locale/bg_BG/LC_MESSAGES/Mapbender.po -o resources/locale/bg_BG/LC_MESSAGES/Mapbender.mo
msgfmt resources/locale/de_DE/LC_MESSAGES/Mapbender.po -o resources/locale/de_DE/LC_MESSAGES/Mapbender.mo
msgfmt resources/locale/fr_FR/LC_MESSAGES/Mapbender.po -o resources/locale/fr_FR/LC_MESSAGES/Mapbender.mo
msgfmt resources/locale/el_GR/LC_MESSAGES/Mapbender.po -o resources/locale/el_GR/LC_MESSAGES/Mapbender.mo
msgfmt resources/locale/it_IT/LC_MESSAGES/Mapbender.po -o resources/locale/it_IT/LC_MESSAGES/Mapbender.mo
msgfmt resources/locale/es_ES/LC_MESSAGES/Mapbender.po -o resources/locale/es_ES/LC_MESSAGES/Mapbender.mo
msgfmt resources/locale/hu_HU/LC_MESSAGES/Mapbender.po -o resources/locale/hu_HU/LC_MESSAGES/Mapbender.mo
msgfmt resources/locale/pt_PT/LC_MESSAGES/Mapbender.po -o resources/locale/pt_PT/LC_MESSAGES/Mapbender.mo


Umprojizierung

Für einige Module z. B. ChangeEpsg, Flächenberechnung ist eine PostgreSQL-Verbindung notwendig, da hier auf PostGIS-Funktionen zugegriffen wird. Diese Funktionalität steht derzeit bei Verwendung von MySQL als Administrations-Datenbank nicht zur Verfügung!

Berechtigung für das log-Verzeichnis ändern (ab Version 2.4.4)

Ab der Version 2.4.4 muss für das log-Verzeichnis ($mapbenderpath/mapbender/log) eine Schreib-Berechtigung für den Apache Nutzer (debian: "www-data", suse: "wwwrun") gesetzt werden. In das Verzeichnis $mapbenderpath/mapbender/http/tmp muss ebenfalls durch den Apache Nutzer geschrieben werden dürfen.

Prüfung der Konfiguration mit mapbender_setup.php

Das Skript mapbender_setup.php befindet sich im Verzeichnis tools:

/mapbender/tools/mapbender_setup.php

Um das Skipt aufrufen zu können, müssen Sie es in das Verzeichnis mapbender/http/tools/mapbender_setup.php verschieben, da es unter /mapbender/tools/mapbender_setup.php nicht aufrufbar ist.

Hinweis

Beachten Sie, dass das Tools-Verzeichnis aus Sicherheitsgründen nicht mehr dauerhaft durch externe Benutzer aufrufbar sein sollte, da Sie über die mapbender_setup.php interne Informationen ausgeben (PHP-Version, Datenbankname, Datenbankbenutzer ...). Schützen Sie das Verzeichnis über htaccess oder belassen Sie es nur kurzzeitig zu Testzwecken im http-Verzeichnis.

Aufruf mapbender_setup.php

http://localhost/mapbender/tools/mapbender_setup.php

mapbender_setup.php prüft die Konfiguration der mapbender.conf und einige Systemkomponenten.


Nach der Installation - erster Login

Der erste Login nach der Installation erfolgt mit dem User root, dessen Passwort root lautet. Sie können / sollten das Passwort nach der Installation umgehend ändern, um unbefugten Zugriff auf Ihre Mapbender-Installation zu verhindern.

Lesen Sie mehr über den Benutzer root!


Übung: Installation Mapbender

Übung 1: Installation Mapbender

Die Übungen befinden sich am Ende der Seite.

Die drei zentralen Objekte:

Benutzer: User

English

User Management in Mapbender
The Mapbender framework contains a comprehensive and flexible user management. It has evolved over the past five years from the experience gathered in managing Spatial Data Infrastructures. User management implements inheritance, hierarchical structures, multi-client capable (Mandantenfähig) and is billable. These features make Mapbender highly useful for broker systems.

An access to Mapbender always requires an authenticate as a registered user. This user account has permissions to access a set of interfaces GUI and services (WMS, WFS).

There is no inherent difference between user type guest, operator or administrator. The 'role' of a user depends on the authorization to access corresponding interfaces GUI which implement administration or ooperator functionality.

Please observe that the permissions attributed to any user are cumulative, such that the organization of users, services and interfaces has to be exacting.

To implement roles users can be aggregated into groups. Groups can be related to GUI which contain services, operations and show up in the logs. That way users can be managed and cleared collectively.

Learn more about the interaction of User and Interface.

Check out a subset of all functionality at Mapbender Portal where you can create your own user account.

Deutsch

Benutzerverwaltung in Mapbender
Mapbender verfügt über eine flexible Benutzerverwaltung, die sich mit den Anforderungen der Anwender im täglichen Umgang mit komplexen GDI Architekturen entwickelt hat. Die Benutzerverwaltung kennt Vererbung von Hierarchien, ist mandanten-und abrechnungsfähig, was den Einsatz für Broker (Vermittler), Datenanbieter und große Institutionen mit vielen Arbeitsgruppen ermöglicht. Beachten Sie, dass die Berechtigung der Anwender über die Zuordnung zu GUI erfolgt und kumulativ ist. Es ist deshalb zwingend erforderlich Projekte sehr genau und sauber zu planen und zu verwalten! Um die Verwaltung von Benutzern zu erleichtern, können sie in Gruppen zusammengefasst werden. Diese Gruppen können einer GUI zugeordnet werden, wodurch alle Benutzer dieser Gruppe Zugriff auf alle Funktionen und Kartendienste dieser GUI erhalten. Sobald in der GUI eine neue Funktion eingebunden wird, steht sie allen Benutzern der zugeordneten Gruppe zur Verfügung. Beachten Sie unbedingt die damit verbundenen Sicherheitsimplikationen bei der Zuordnung datenschutzrelevanter oder sicherheitskritischer Daten. Im Einzelarbeitsplatzbetrieb kann die Benutzerverwaltung weitgehend ignoriert werden, die Komplexität der Nutzung hängt lediglich von den Anforderungen der Geo-Administration ab.

Um Mapbender verwenden zu können, muss sich zunächst immer ein user anmelden. Dem Benutzerkonto werden Rechte für Oberflächen (GUI) und Dienste (WMS, WFS) zugeordnet.

Es gibt keinen Unterschied zwischen den 'Typen' Administrator, Verwaltung oder Benutzer. Diese 'Rollen' werden dem normalen Benutzer durch das Recht zugeteilt bestimmte Oberflächen zu benutzen. Auch wenn es sich um öffentlich verfügbare Oberflächen handelt, wird diese einem Benutzer zugeordnet (z.B. dem Benutzer 'Internet').

Lesen Sie mehr über das Zusammenspiel von Benutzer und Oberfläche.

Benutzer anlegen und editieren
Um einen neuen Benutzer anzulegen wird aus der Rubrik Benutzerverwaltung der Unterpunkt Benutzer anlegen und editieren ausgewählt. Ein Formular öffnet sich. Füllen Sie die Felder (s.u. Formularfelder) aus, um einen neuen Benutzer über die Schaltfläche <save> anzulegen. Um Daten eines bereits vorhandenen Benutzers zu ändern oder diesen zu löschen, wählen Sie den Namen aus dem Listenfeld User aus und modifizieren die jeweiligen Werte. Zum Löschen eines Benutzers klicken Sie auf die Schaltfläche delete.

Hinweis
Beachten Sie, dass Benutzer nur vom angemeldeten Administrator modifiziert und gelöscht werden können! Ein Anwender kann sich somit im Normalfall nicht selbst löschen oder ändern. Um den Besitzer eines Benutzers zu ändern kann in der Mapbender Datenbank in der Tabelle <mb_user> das Feld <mb_user_owner> auf die ID des Benutzers (<mb_user_id>) geändert werden, der den Besitz übernehmen soll. Ein Benutzer kann nicht mehr verwaltet werden, sobald der zugeordnete Besitzer aus der Datenbank gelöscht wurde. Durch manuelle Zuordnung eines neuen Besitzers kann der Benutzer wieder verwaltet werden.

Benutzer in Gruppen eintragen
Öffnen Sie aus der Rubrik Benutzerverwaltung die Unterpunkte Benutzer in Gruppen eintragen. Ein Formular öffnet sich. Nach der Auswahl eines Benutzers aus dem Listenfeld USER wählen Sie eine oder mehrere Gruppen aus dem Listenfeld GROUP aus. Durch die Schaltfläche (Pfeil nach rechts) werden die markierten Gruppen in das Listenfeld SELECTED GROUP verschoben. Der Benutzer erhält damit Zugriff auf alle GUI und darin enthaltene Funktionen und Kartendienste. Über die Schalttfläche (Pfeil nach links) kann der Benutzer wieder aus den Gruppen entfernt werden.

Gruppe mit Benutzern bestücken
Nach anlegen einer neuen Gruppe kann diese über das Modul Gruppe mit Benutzern bestücken aus der Rubrik Benutzerverwaltung mit Benutzern bestückt werden. Ein Formular öffnet sich. Wählen Sie zunächst eine Gruppe aus dem Listenfeld GROUP aus, anschließend markieren Sie einen Benutzer aus dem Listenfeld USER. Über die Schaltfläche Pfeil nach rechts kann der ausgewählte Benutzer in das Listenfeld SELECTED USER verschoben und so dieser Gruppe zugeordnet werden. Durch die Schalttfläche Pfeil nach links wird der Benutzer aus der Gruppe entfernt.

Benutzer eine GUI als owner zuweisen
Legt ein Benutzer eine GUI an, so ist er automatisch owner dieser GUI. owner bedeutet, dass der Benutzer diese GUI bearbeiten darf (GUI verändern, WMS in GUI bearbeiten). Über die Administration kann anderen Benutzern das Editierrecht für eine GUI zugewiesen werden (admin2_de: GUI editieren Benutzer zuordnen)

contact

Oberfläche: User Interfaces

English

(deutsche Version weiter unten!)

Creating a new user interface or Application (graphical user interface) with elements from one of the default GUI (for example <gui1>) is fairly easy. All features for GUI-management are explained in Interface Management. For instance, the module Edit Interface Elements) provides configuration of all the GUIs modules and interface elements.

Mapbender is also operated with the help of web interfaces. A web interface is an HTML page which has control elements. Examples for control elements are map window (mapframe1) or the zoom button, a layer selection, print preview, an administration interface or an editing window (see Modules for a complete list). There is no such thing as 'the standard' GUI, instead a simple template (the 'zebra') shows the list of GUI that the current user is allowed to access.

Working with on of the default user interfaces may be sufficient for a start. In the long run developing your own applications with your own layout will obviously provide more pleasing results. You can and also share your Application with other Mapbender users. This way the user community gets access to a growing number of spatial data interfaces.

All attributes of the interface are managed in a database, you can share any interface by exporting the corresponding SQL from the database. Additional Modules can be implemented and included as a script (most will be develped in PHP and JavaScript). These code fragments are also part of the interface. If you implement your own module and believe that it could be useful for the head branch - share it.

Deutsch

Eine Benutzeroberfläche oder auch Application (Graphical User Interface) kann im Mapbender schnell und komfortabel gestaltet werden (zum Beispiel unter Verwendung der Elemente der Oberfläche gui, gui1 oder gui2).

Alle Module zur Oberflächenverwaltung (GUI-Management) werden im Abschnitt Interface Management beschrieben. In der Oberflächenverwaltung können z.B. mit dem Modul Oberflächenelemente editieren alle Oberflächenelemente und Module der GUI konfiguriert und auch neue erstellt werden.

Eine Oberfläche (Application) ist immer eine HTML Seite mit Bedienelementen (oder Steuerelementen). Ein Bedienelement kann z.B. ein Kartenfenster oder Zoom-Knopf sein, aber auch die Ebenenauswahl, eine Druckansicht, eine Administrationsoberfläche oder ein Editierfenster (siehe Modules). Es gibt keine zentrale Haupt-Administrationsoberfläche, sondern lediglich Vorlagen, um erste Einstellungen vornehmen zu können. Alle Oberflächen können individuell gestaltet und beliebigen Benutzern zugeordnet werden.

Für die ersten Schritte kann es völlig ausreichen, mit einer der ausgelieferten Oberflächen (z.B. gui oder gui1) zu arbeiten. Ziel ist jedoch, dass Sie eigene Anwendungen mit eigenem Layout und für Ihre Aufgaben optimierter Funktionalität erstellen. Sie können diese Oberflächen auch anderen Anwendern zur Verfügung stellen.

Alle Elemente einer Oberfläche werden durch Datenbanksätze abgebildet. Um eine Oberfläche anderen Anwendern zukommen zu lassen reicht es, einen SQL-Datenbankexport der entsprechenden GUI zu machen und die Module bereitzustellen, die vom Standard-Funktionsumfang abweichen.

Auf diese Weise wird der Anwendergemeinschaft eine wachsende Anzahl von Spezialoberflächen bereitgestellt. Module können auch selbst erstellt (meist in der Programmiersprache PHP und JavaScript) und in jede Oberfläche eingebunden werden.

Kartendienst: Map_Services

Englisch

(deutschsprachige Beschreibung weiter unten!)

All OGC WMS compatible server software packages can be included as maps to Mapbender. Currently the WMS specifications 1.0.0, 1.1.0 and 1.1.1 are supported. Unfortunately, not all software packages implementing WMS conform to the OGC WMS specification. Therfore usability of clients is enhanced by allowing some fuzzyness in the interpretation of the specification. Mapbender implements the specification but at the same moment is more inclusive and not only loads compliant services but also tolerates slight deviations from the specification. This should not encourage anybody to deviate from the standard!

The map service is one of three basic elements of any Mapbender application. An OGC WMS capabilities document will initially be loaded by specifying the getCapabilities URL. It returns an XML document that contains all properties of the service. This Capabilities Document is stotred in the Mapbender database for future reference, it is a cache which also enables monitoring of the services. A map service that has been referenced (uploaded) in this way can be assigned to any user interface (GUI) to be accessed by users.

OGC WMS Capabilities List

A list of selected OGC WMS services is contained in the SQL dump of the software distribution. Have a look at the Mapbender Portal to visualize these services as maps.

For further information on how to include WMS services to the Mapbender catalog read:

List of OGC standardized services currently being added to the catalog:

Capabilities document might not be complete.

Deutsch

Jeder WMS kompatible Kartendienst kann als Datenquelle eingebunden werden. Derzeit werden die WMS Spezifikationen 1.0.0, 1.1.0 und 1.1.1 unterstützt. Dabei wird großen Wert auf die Konformität der Dienste gelegt. Die Praxis zeigt jedoch, dass bei weitem nicht alle Dienste die WMS Spezifikation vollständig konform implementieren. Aus diesem Grund lässt Mapbender kleinere Abweichungen zu, um die Nutzbarkeit der Software zu verbessern. Das sollte niemand ermutigen von der Spezifikation abzuweichen!

Der Kartendienst ist eine der drei Basiskomponenten jeder Mapbender-Anwendung. Zunächst wird das OGC WMS-Capabilities-Dokument geladen. Dies erfolgt durch Eingabe der getCapabilities-URL, die ein XML Dokument zurückliefert, das alle Serverspezifika enthält. Der so geladene Dienst kann dann einer Mapbender Oberfläche (GUI) zugeordnet werden, die von berechtigten Anwendern verwendet werden kann. Lesen Sie mehr zu den technischen Hintergründen der WMS Spezifikation.

Liste zu OGC WMS Capabilities Dokumenten

Die Softwaredistribution enthält ein SQL-Dump mit ausgewählten WMS Diensten, z.B. weltweite Satellitendaten der NASA, Geobasisdaten aus dem Verbundprojekt GDI-NRW und der GDI-DE. Diese Daten können über das Mapbender Portal eingesehen und auch gepflegt werden. Beantragen Sie hier einen Account, um schreibend auf den Datenbestand zugreifen zu können.

Derzeit ist ein Dienst des Projektes Open Streetmap in der Überprüfung. Das Capabilities Dokument enthält GPS Daten der ganzen Welt und daraus abgeleitete Straßendaten. Es fehlen noch einige Metadaten die wir derzeit ermitteln.

Einbinden eines WMS

WMS in GUI einbinden

Link WMS into GUI

EN

To display a map service in a map you have to load the service into your interface (e.g. <gui1>). Choose the category 'Configure WMS Access' and the menu item Link WMS into GUI to link the map service to your GUI (LOADmyWMS => Modul: mod_loadCapabilitiesList.php). This module uses map services, which are already loaded into your system.

guiein.gif

First choose a GUI from the selective list 'GUI'. As soon as you select a GUI, all included WMS are shown in the left list 'WMS'. All map services are provided in the list 'LOAD WMS', which are already loaded into your system and made available by the administrator to link to your GUI. After choosing a map service from the left list you have to decide which settings you like to keep. For this reason existing GUIs with different configurations are listed in the right selective list 'FROM'. After choosing a configuration, the map service with the special settings will be included to your GUI and displayed in the list 'WMS'. After linking a map service to a GUI, modify the service extra for your needs. These settings can be adopt for other GUIs. Further information about this subject see 'WMS GUI settings'




DE

Um einen Kartendienst in einer Karte darzustellen muss der Dienst in eine Oberfläche eingebunden werden, die ein Kartenfenster enthält (z.B. <gui1>). Sie binden den Kartendienst über das Modul WMS in GUI einbinden (LOADmyWMS => Modul: mod_loadCapabilitiesList.php) in eine GUI ein. Dieses Modul greift auf Kartendienste zurück, die bereits in das System hochgeladen wurden.

guiein.gif

Wählen Sie in der Auswahlliste zunächst die GUI aus, in die der neue Kartendienst eingefügt werden soll. Sobald eine GUI ausgewählt wurde, werden in dem Fenster WMS alle bereits in dieser GUI eingebundenen Kartendienste angezeigt. In der Auswahlliste LOAD WMS werden alle Kartendienste angeboten, die bereits in das System hochgeladen wurden und über eine Berechtigung dem Administrator zum Einbinden in eine GUI bereitgestellt wurden. Nachdem Sie einen Kartendienst aus der linken Liste gewählt haben, müssen Sie entscheiden, welche Voreinstellungen Sie übernehmen möchten. Dafür werden in der rechten Auswahlliste (FROM) verschiedene Konfigurationen dieses Kartendienstes aus bereits bestehenden GUIs aufgelistet. Wenn die Auswahl einer Konfiguration erfolgt ist, wird der Kartendienst mit seinen speziellen Einstellungen in die zu bestückende GUI integriert und in dem Fenster WMS nun angezeigt. Nach dem Laden eines Kartendienstes in eine GUI kann der Kartendienst speziell für diese GUI angepasst werden. Diese Einstellungen können auch für weitere GUI übernommen werden. Weiterführende Informationen hierzu enthält der Abschnitt 'WMS GUI Einstellungen'.

WMS_GUI_Einstellungen

(deutsche Version weiter unten!)

English

Mapbender provides the module 'WMS GUI settings' to configure map services. That configuration is only available for the corresponding GUI, so the same service can be kept in different configurations.

guieinst1.gif

After choosing a gui from the left selective list 'GUI', all map services will be displayed in the right selective list 'WMS-TITLE'.

Notice

the top map service in the list will be displayed (requested) first and for this reason it lies in the map at the bottom. The other services overlay each other in order of the list.

Change the position of the map service (layering) with the buttons 'up' and 'down'.

Remove a map service from a GUI with the button remove. The service itself is only removed from this GUI, but not completely from the system (see below).

After choosing a map service from a GUI an interface appears for further configuration of the service.

gui1.gif

Open the capabilities document of the map service with this link. If the requested map server is available a new window will open with a click on the link <LINK: Capabilities>. Choose the spatial reference system underneath this link to make the start settings of the GUI. All spatial reference systems are shown within the list, which are provided by the server of the first loaded service.

Choose the format of the images (Rasterformat), in which the service should provide the map images from the field 'Mapformat'. Normally the format JPEG and PNG are used. Please notice that PNG (and GIF) support transparancy, the format JPEG doesn't.

The field 'Infoformat' defines how the map service provides alphanumeric data, standard is 'text/html'. Alternatively the results can be delivered of some server as a XML-document, if your client supports XML processing.

The field 'Exceptionformat' defines in which format error handling will be delivered. It is advisable to choose the format <inimage> or <application.vnd.ogc.se_inimage> depending on your WMS version, if Mapbender expects a map image but an error message of the requested map occurs. If the server has a problem it provides an image in the requested size, which is shown instead of the map in Mapbender.


Notice

The FeatureInfoFormat "text/html" is default in UMN MapServer and therefor it isn't listed in the formats of the capabilities. For this reason it has to be chosen explicit in Mapbender. Choose the format <inimage> or <application.vnd.ogc.se_inimage> as an exceptionformat.

In the following table the settings for the levels (layers) of the map service can be done.

Notice
  1. The top level (No.0 / seperated with a line) affect the whole map service and shouldn't be changed.
  2. The module to administrate the levels doesn't consider nested or grouped levels. Deactivate all subordinated levels for services, which contain levels in a GROUP. Click on the button <Sublayer off> to remove the sub-layers automatically from the layer scheme. After that is done for a requested map all layers of a group will be activated or deactivated together.

In generall all layers are numbered serially beginning from the top in the column 'No'. Recognize nested layers by the entry of a cipher in the column 'Parent'. It is an independent layer, if the cipher '0' is entered here (now it is subordinate to the whole WMS service). If there is a cipher higher than null, it references to the layer, which it is subordinated. Only this Parent-layer is activated or deactivated in the layer scheme.

Parent

Imagine that the layer No 2 got the parent No 1. That means that the layer No 2 is subordinate to the layer No 1 and will be deactivated by the Mapbender adminstration. Automatically all subordinated layers (here No 2) are also requested, if layer No 1 is activated.


Name

See the name of each layer in the column 'Name', which will be transmitted as <Name> in the Layer-section of the capabilities-document of the map service.


Title

See the title of a layer in the column 'Title'. This title will be transmitted to the Layer-section of the capabilities-document of the map service.


on/off

Define with the column 'on/off', if a layer of the map service will be displayed in the layer selection or won't. Here you can make the settings individually for each GUI and inependently from the service, which layers can or cannot be seen by the users.


sel

The column 'sel' defines, which layers can be activated or deactivated by the user. Here you can freeze layers, which can't activated or deactivated by the user.

Deutsch

Mit WMS GUI Einstellungen stellt Mapbender ein Modul zur Verfügung, um Kartendienste zu konfigurieren. Diese Konfiguration gilt lediglich für die entsprechende GUI, so dass Sie den gleichen Dienst in unterschiedlichen Konfigurationen vorhalten können.

guieinst1.gif

Nach der Auswahl einer GUI in der linken Auswahlliste GUI werden in der rechten Auswahlliste WMS-TITLE alle Kartendienste dieser GUI angezeigt.

Hinweis

Der oberste Kartendienst wird als erster 'gezeichnet' (angefordert) und liegt demnach in der Karte unten. Alle weiteren Dienste werden in der Reihenfolge der Liste überlagert.

Mit den Schaltflächen up und down kann die Position (Schichtung) des Kartendienstes in der GUI verändert werden.

Die Schaltfläche remove ermöglicht einen Kartendienst aus dieser GUI zu entfernen. Der Dienst selbst wird dabei lediglich aus dieser GUI entfernt, aber nicht vollständig aus dem System gelöscht (siehe unten).

Nach der Auswahl eines Kartendienstes aus einer GUI erscheint eine Oberfläche, welche eine weitere Konfiguration des Kartendienstes erlaubt.

gui1.gif

Das Capabilities Dokument des Kartendienstes kann über einen Link aufgerufen werden. Ein Klick auf <LINK: Capabilities> öffnet ein neues Fenster, in dem das XML-Dokument angezeigt wird, falls der angesprochene Kartenserver verfügbar ist. Unterhalb dieses Links wird das Koordinatensystem gewählt mit dem die GUI voreingestellt gestartet wird. Die Liste zeigt alle Koordinatensysteme, die der Server des ersten geladenen Dienstes enthält.

Über die Auswahl "Mapformat" wird das Rasterformat ausgewählt, in dem dieser Dienst seine Kartenbilder anliefern soll. Überlicherweise werden hier die Formate JPEG und PNG genutzt. Beachten Sie, dass PNG (und GIF) eine Tranparenz unterstützt, das Format JPEG dagegen nicht.

Das "Infoformat" definiert wie der Kartendienst alphanumerische Daten zurückliefern soll, im Normalfall wird hier text/html ausgewählt. Falls Ihr Client eine Folgeverarbeitung für XML Daten implementiert, kann die Ergebnisliste von manchen Servern alternativ auch als XML Dokument ausgegeben werden.

Das Exceptionformat definiert, in welchem Format Fehlerbehandlungen zurückgegeben werden. Da Fehlermeldungen statt des angeforderten Kartenbildes zurückgeliefert werden – Mapbender also ein Bild erwartet ist es zweckmässig hier je nach WMS Version das Format <inimage> oder <application.vnd.ogc.se_inimage> zu wählen. Sollte der Server auf ein Problem treffen liefert er ein Bild in der angeforderten Größe zurück, das in Mapbender statt der Karte angezeigt wird.

Hinweis

Der UMN MapServer sieht das FeatureInfoFormat „text/html“ als default an und listet es nicht in den Formaten der Capabilities auf. Daher muss es im Mapbender explizit ausgewählt werden. Als Exceptionformat sollte das Format <inimage> oder <application.vnd.ogc.se_inimage> ausgewählt werden.

In der folgenden Tabelle können Einstellungen zu den Ebenen des Kartendienstes vorgenommen werden.

Zuvor sollten jedoch zwei Punkte beachtet werden
  1. Die oberste Ebene (Nr.0 / durch Linie abgetrennt) betrifft den gesamten Kartendienst und sollte nicht verändert werden.
  2. Das Modul zur Ebenenverwaltung berücksichtigt keine geschachtelten bzw. gruppierten Ebenen. Für Dienste, die Ebenen in einer GROUP enthalten müssen deshalb alle untergeordneten Ebenen deaktivieren werden. Ein Klick auf den Button <Sublayer off> entfernt die Sub-Layer automatisch aus der Ebebenübersicht. In dem angeforderten Kartenbild werden danach immer alle Ebenen einer Gruppe gemeinsam aktiviert oder deaktiviert.

Generell werden alle Ebenen des Kartendienstes, beginnend von der Obersten, in der Spalte Nr. aufsteigend durchnummeriert. Geschachtelte Ebenen lassen sich daran erkennen, dass eine Ziffer in der Spalte Parent eingetragen ist. Wenn dort die Ziffer '0' eingetragen ist handelt es sich um eine eigenständige Ebene (sie ist nun dem gesamten WMS Dienst untergeordnet). Falls in dieser Spalte bei einer Ebene eine Ziffer größer als Null steht, verweist diese auf die Ebene, der sie untergeordnet ist. In der Ebenenübersicht wird nur diese Parent-Ebene an- und ausgeschaltet.

Parent

Wenn die Ebene Nr.2 den Parent Nr.1 hat, bedeutet dies, dass die Ebene Nr.2 der Ebene Nr.1 untergeordnet ist und in der Mapbender Administration deaktiviert wird. Wenn Ebene Nr.1 aktiviert wird werden automatisch alle untergeordneten Ebenen (hier Nr.2) ebenfalls angefordert.


Name

Die Spalte Name gibt für jede Ebene den Namen wieder, der als <Name> in der Layer-Sektion des Capabilities-Dokuments des Kartendienstes angegeben ist.


Title

Der Titel der Ebene wird in der Spalte Title angezeigt, d.h. also der Name, welcher beim Capabilities-Dokument des Kartendienstes in der Layer-Sektion unter <Title> eingetragen ist.


on/off

Über die Spalte on/off wird definiert, ob die Ebene des Kartendienstes in der Ebenenauswahl angezeigt werden soll oder nicht. Hier kann also unabhängig von dem Dienst für jede GUI individuell eingestellt werden, welche Ebenen für den Benutzer sichtbar oder nicht sichtbar sind.


sel

In der Spalte sel kann eingestellt werden, welche Ebenen vom Benutzer an- und ausgestellt werden können. Hier können Ebenen fixiert werden, die der Benutzer weder an- noch ausstellen kann.

WMS_Verwaltung

English

WMS Management


Deutsch

WMS Management

WMS

(See OGC WMS to learn about the specification and WMS Capabilities List to find services from all oer the world)

English

WMS / Upload Server Capabilities

To access maps of an OGC WMS server first the Capabilities document has to be analysed. Mapbender "caches" Capabilities documents in its database to store permanent information regarding the map service. Open the administrative gui (e.g. <admin2_en>) and choose <Upload WMS> from the section <WMS administration>

(LOADWMS => Modul: mod_loadCapabilities.php)

Choose a GUI for uploading the WMS. It can be useful to create several GUI for the purpose of collecting and organizing WMS. These can later be used by the Catalog Services. Once a map service has been uploaded it can be configured for each GUI individually. Use the authorization modules to allow a user or a group to access the services.

Choose the GUI from the list box. Fill in the URL to the Capabilities document of the map service in the lower text field.

Example

GetCapabilities request for MapServer:

http:// <computername> /mapserver?map=../demo.map&VERSION=1.1.1&REQUEST=getCapabilities&SERVICE=wms

Send the getCapabilities request with the button <Load>. The map service will answer with an XML document, which will be analyzed by Mapbender and stored in the Mapbender database. After successful loading a page is displayed showing the content of the map service confirming the upload. Please observe that you are now working with a cached (copied) version of the WMS capabilities. Whenever anything in the structure of the service changes it has to be updated.

Troubleshooting

If the process of uploading (requesting the Capabilities document) takes more than a few seconds probably something went wrong. The reason can be that either the service is not available at the moment or that the Mapbender server has no proper access to the Capabilities document. If you work on your own installation, ask your administrator whether the Mapbender server hardware is allowed to open Capabilities Documents as a file. This setting is changed edited in the file <php.ini>. Find more information in the Installation section or by troubelshooting Allow_url_fopen.

Mapbender Portal

If you have trouble using the Mapbender Portal, ask the operator for assistance.

Administrators

Check the setting allow_url_fopen in your <php.ini> settings. Instead of showing the data of the map service, Mapbender returns an SQL error message and rolls back the database update.

Deutsch

(Lesen Sie mehr über die OGC WMS Spezifikation und finden Sie Dienste aus der ganzen Welt in der WMS Capabilities Liste)

WMS / Server Capabilities hochladen

Um auf die Karten eines OGC WMS-konformen Web Map Server Kartendienstes zugreifen zu können wird zunächst das Capabilities Dokument in Mapbender hochgeladen. Öffnen Sie eine Administrationsoberfläche, und gehen in der Rubrik WMS Verwaltung auf das Modul <Capabilities hochladen> (LOADWMS => Modul: mod_loadCapabilities.php).

Wählen Sie eine GUI aus in die der Kartendienste geladen werden soll. Es bietet sich an, hierfür eigene GUI-Container anzulegen, die lediglich Verweise auf die WMS enthalten und keine Oberflächenelemente enthalten. Diese Container werden später von den Katalogdiensten verwendet. Laden sie den WMS in den WMS-Container hoch und kopieren sie ihn von dort in andere GUIs. So ist der WMS nur einmal gespeichert, aber mehrfach verknüpft. Wenn ein WMS mehrmals hochgeladen wird (z.B. in jede GUI neu), dann bekommt er in der Datenbank mehrere IDs. Die Administration wird dadurch erschwert, siehe Datenbank bereinigen. Achten Sie darauf, dass Sie anderen Zugriff auf die geladenen Kartendienste gestatten, indem Sie die entsprechende GUI über das Berechtigungsmodel einem Benutzer oder einer Gruppe zuordnen.

Wählen Sie in der oberen Auswahlliste eine GUI aus, in welche der Kartendienst eingebunden werden soll. Tragen Sie anschließend im unteren Textfeld die URL zu dem entsprechenden Capabilities-Dokument des Kartendienstes an.

Beispiel

Ein Bespiel des GetCapabilities-Aufrufs mit dem UMN MapServer:

http:// <rechnername> /mapserver?map=../demo.map&VERSION=1.1.1&REQUEST=getCapabilities&SERVICE=wms

Über die Schaltfläche <Load> wird der getCapabilities-Aufruf abgeschickt. Der Kartendienst antwortet mit einem XML Dokument, welches von Mapbender ausgewertet und in der Mapbender Administrationsdatenbank gespeichert wird. Danach wird eine Übersicht des Kartendienstes und der Ebenen angezeigt, um das erfolgreiche Hochladen zu bestätigen. Beachten Sie, dass Mapbender ab jetzt mit einer Kopie des Capabilities Dokumentes arbeitet, um den Zugriff zu beschleunigen und weitere Einstellungsmöglichkeiten zu ermöglichen. Strukturelle Änderungen innerhalb des jeweiligen WMS Dienstes (neue Ebene, anderer Ebenenname) müssen deswegen über die Funktion <Hochgeladene aktualisieren> erneut abgefragt werden.

Fehlersuche

Sollte der Prozess des Hochladens länger als wenige Sekunden dauern kann es sein, dass der Dienst nicht verfügbar ist oder der Mapbender Server keinen Zugriff auf das Capabilities Dokument erhält. Das kann an mehreren Gründen liegen:

  • Der WMS Dienst antwortet nicht
  • Der Mapbender Server erreicht den WMS Dienst nicht, weil er z.B. keinen Proxy-Zugriff hat
  • Der Mapbender Server darf das Capabilities-Dokument nicht als Datei öffnen (siehe auch Allow_url_fopen).
Eigene Installation

Falls Sie eine eigene Installation betreiben, prüfen Sie die Einstellungen allow_url_fopen in der Datei <php.ini>. Mapbender zeigt beim Auftreten eines Fehlers statt der Daten des Kartendienstes eine SQL-Fehlermeldung an und setzt die Änderungen in der Datenbank zurück.

Mapbender Portal

Sollte das Problem auf dem Mapbender Portal auftreten ist der gesuchte Server wahrscheinlich von dort aus nicht erreichbar. Falls Sie selbst das Capabilities Dokument vorliegen haben, können Sie es an den Portalbetreiber schicken, der es für Sie einstellt.

Übung 2: Einbinden eines WMS

Die Übungen befinden sich am Ende der Seite.

siehe dazu auch: Mapbender erste Schritte

Aufbau einer Oberfläche (GUI) / Gestaltungsmöglichkeiten

Anwendung

(deutsche Version weiter unten!)

Application

A Mapbender Application in an HTML page optionally with JavaScrip that contains all elements needed to by the user (hence the old term GUI (deprecated)). In the Mapbender backend the Application is modeled as a relation between users, interface elements and services (OGC WMS and WFS). Each Application consists of at least one service or one HTML element. There are three main types of applications:

  • Map Application - This is the most common application. It usually contains a map and navigation tools as zoom-in, zoom-out, pan, etc.
  • Administration Application - This type of web interface is used to manage services, applications and users. It also manages user permissions, monitoring and editing of metadata.
  • Service Container - This type of application usually only contains links to services but no HTML elements. It is used to structure and organize services, metadata and user permission.

The application is an integral element of the Mapbender authorization system because it defines the permissions of each user on each service. Permissions may include displaying and reprojection maps, querying information from map objects, or digitizing and deleting features from an OGC Web Feature Service.

Creating new Applications

New Applications can be created with the Interface Management application. All elements contained in the default applications (for example <gui1>) can be added to other user generated applications. Examples for control elements are map window (mapframe1) or the zoom button, a layer selection, print preview, an administration interface or an editing window (see Modules for a complete list).

Working with one of the default Applications may be sufficient for a start. In the long run developing your own applications with your own layout will obviously provide more pleasing results. You can and also share your Application with other Mapbender users. This way the user community gets access to a growing number of interface themes and buttons.

All attributes of the interface are managed in the Mapbender database. You can share any interface by exporting the corresponding SQL from the database. Additional Modules can be implemented and included as scripts (most will be develped in PHP and JavaScript). These code fragments are also part of the interface. If you implement your own module and believe that it could be useful for others consider posting them to the developer Mailing List.

Deutsch

Anwendungen (Applications) sind HTML-Seiten mit Bedienelementen (oder Steuerelementen) und optional JavaScript-Modulen. Sie enthalten sämtliceh Funktionalität, die im Browser ausgeführt wird, sowie eine Liste der Ressourcen (Kartendienste, OGC WMS WFS, etc.), die mit der Anwendung angezeigt, abgefragt oder verändert werden sollen. Neue Anwendungen können mit Mapbender schnell und komfortabel über eine Web-Oberfläche erstellt werden. Der Abschnitt Interface Management beschreibt wie das geht.

Ein Bedienelement kann z.B. ein Kartenfenster oder Zoom-Knopf sein, aber auch die Ebenenauswahl, eine Druckansicht, eine Administrationsoberfläche oder ein Editierfenster (siehe Modules). Alle Oberflächen können individuell gestaltet und beliebigen Benutzern zugeordnet werden.

Für die ersten Schritte reicht es aus, mit einer der ausgelieferten Oberflächen zu arbeiten. Diese können später in eigene Anwendungen mit eigenem Layout und für Ihre Aufgaben optimierter Funktionalität überführt werden. Sie können diese Oberflächen auch anderen Anwendern zur Verfügung stellen.

Alle Elemente und Dienste einer Anwendung werden in der Mapbender Datenbank abgebildet und können als SQL-Befehle exportiert und importiert werden. Auf diese Weise entsteht eine wachsende Anzahl von Spezialoberflächen. Neue Module können in PHP und JavaScript auch selbst erstellt und in jede Anwendung eingebunden werden.

Oberfläche

Oberfläche

Alle Benutzeroberflächen in Mapbender werden als eigenständige "Anwendungen" verwaltet. In früheren Versionen wurde hierfür der Begriff GUI verwendet. Benutzeroberflächen können mit Mapbender per Web-Oberfläche zusammengestellt werden, z.B. auf der Basis einer der ausgelieferten Besipiel-Anwendungen. Mit dem Modul Oberflächenelemente editieren können alle Oberflächenelemente und Module der Anwendungen konfiguriert und auch neue Module erstellt werden.

Alle Module zur Oberflächenverwaltung (GUI-Management) werden im Abschnitt Interface Management beschrieben.

Eine Oberfläche (Application) ist immer eine HTML Seite mit Bedienelementen (oder Steuerelementen). Ein Bedienelement kann z.B. ein Kartenfenster oder Zoom-Knopf sein, aber auch die Ebenenauswahl, eine Druckansicht, eine Administrationsoberfläche oder ein Editierfenster (siehe Modules). Es gibt keine zentrale Haupt-Administrationsoberfläche, sondern lediglich Vorlagen, um erste Einstellungen vornehmen zu können. Alle Oberflächen können individuell gestaltet und beliebigen Benutzern zugeordnet werden.

Für die ersten Schritte mit Mapbender empfehlen wir, eine der mitgelieferten Anwendungen zu nutzen. Verändern Sie diese Anwendungen nicht, sondern erstellen sie vorher eine Kopie davon, da die mitgelieferten Anwendungen bei Aktualisierung der Software ggf. überschrieben werden! Über die Benutzerverwaltung können Anwendungen individuell einzelnen Benutzern oder Gruppen zugeordnet werden.

Alle Elemente einer Oberfläche werden durch Datensätze in der Datenbank abgebildet. Erstellen Sie einen SQL-Export der entsprechenden Anwendung um die Einstellungen der Module zu sichern, die vom Standard-Funktionsumfang abweichen.

Die Anwendergemeinschaft kann so nach und nach eine wachsende Anzahl von Spezialoberflächen erstellen und in guter Open Source Tradition der Allgemeinheit zur Verfügung stellen.

Ein kleines Video soll verdeutlichen, wie in kurzer Zeit eine neue Benutzeroberfläche erzeugt werden kann: http://svn.osgeo.org/mapbender/trunk/documents/videos/mb_new_gui.htm

Interface_Management

Interface_Management

EN

Interfaces GUI and control element properties are stored in a database. All properties are edited using SQL. Management can be enhanced using administration interfaces (which are also Mapbender GUIs) and show all GUI and element properties. Read the following list of topics to get acquainted with creating and maintaining GUI.


DE

Oberflächen GUI und deren Elemente werden in einer Datenbank verwaltet. Alle Eigenschaften werden über SQL editiert. Die Verwaltung erfolgt wahlweise über verschiedene Administrationsoberflächen, um die Bedienung zu erleichter. Lesen Sie die folgenden Abschnitt, um sich mit den Möglichkeiten vertraut zu machen.


Start GUI parameterized

EN

Every GUI can either be started from the login prompt (if your account can select from more than one GUI). Check GUI Start Parameters for more details.

DE

Oberfläche parametriert starten Jede GUI kann aus der Anmelde-Startauswahl oder mit entsprechenden Übergabeparametern gestartet werden. Lesen Sie mehr über GUI Start Parameters.


(lesen Sie unten die deutsche Version)

Icons and buttons

EN

The following list contains the most commonly used Mapbender interface elements. There are many more specialized methods and operations to enable functionality for special applications. These are usually implemented by the operator of the respective Mapbender site. All functions can be implemented with different icons and buttons sets, the examples contained in this page just show some of the currently most commonly used ones.

This selection still grows, so please stay in touch with the user mailing list to get to know the newest modules and the further development. You are very much invited to share your own modules with the community.

Extensions to Mapbender Functionality

Mapbender is Free Software licensed as GNU GPL, so extend, change and modify the software as you wish. If you extend the Mapbender software and want to sell a license you must (have to!) also publish your extensions and make them available to the general public free of cost. This effect is caused by the GNU GPL. If you have a problem with this licenseing model, please contact the [arnulf_christl@users.sourceforge.net], we will find ways to solve this problem. Please do not assume that nobody will notice, it is much easier to talk to us. Have fun.

back back_off.gif With the button back in the toolbar you are able to see the last map sections (similar to a browser). In doing so layers, mapsize, etc. are affected also. The parameter target is special to this element. It contains two targets: mapframe and overview, which are activated together.
body Background of Mapbender2. Change this color in the field 'attributes'.
center1 center_off.gif With the button center1 in the toolbar you are able to click to a point and the map will be centered there.
changeEPSG You can change the reference system (SRS) with this drop down menue. The EPSG Codes from the European Petroleum Survey Group are preset here. To give the codes different names you have to change them in the module <mod_changeEPSG.php>.
changePassword Change the password
closePolygon closePolygon_off.gif The button measure activates 3 or optional 4 more buttons: rubber, getArea, closePolygon und save. Now you are able to digitize an area. With the button closePolygon you make a connection between the first and the last point and the area is closed. Then start a query with the button getArea to measure the area. With the button save you can save the geometry as a WKT object in the PostgreSQL/PostGIS database. This function will be developed to a WFS-T.
copyright The copyright module is editable to integrate a logo and/or a notice for copyright.
dragMapSize There is a little red square at the lower right mapframe. Just drag & drop it to maximize the mapframe.
featureInfo1 query_off.gif Start an OGC WMS getFeatureInfo request to the server with the button FeatureInfo in the toolbar to get the query result. The result depends on activated layers and the output format, which is set in the administration.
forward forward_off.gif With the button forward in the toolbar you can recover map sections, similar to a browser.
getArea getArea_off.gif After activating the button measure the button getArea appears in the maframe. After digitizing a polygon with the measure function the button getArea compute the size of the area and the extent.
keyHandler It is possible with the module keyHandler to navigate the functions zoomIn und zoomOut (plus/minus) and the cursor (arrows) with the keyboard. Please notice that this functions depends on the browser and is supported only from few versions MS Internet Explorer.
layout1 This element is only for layout purpose and has no other functions. In this case the element is a colored area, which is the background for the toolbar. Such areas can be used for layout for they need nearly no disc space and no loss of performance.
logout logout_off.gif To close a session use the logout button in the toolbar. Please notice that the optional available local cookie is deleted. Other clients activated at the same time do not allow access also.
mapbender To support the spread of the software we suggest to include the Mapbender logo in each gui with a link to the project homepage (http://www.mapbender.org). A sample is allways included in <gui1>. Regard this logo as a guiding star on every data highways.
mapframe1 Mapframe1 is the frame for the displayed map section. It is a quiet extensive object, because of the navigatable frame and it is target for many other modules.
measure measure_off.gif Digitize a point, line or polygon in the map with the button measure in the toolbar. Subsequently the measurement of the digitized area and line is done with the button getArea.
metadata metadata_off.png This Button shows metadata from all loaded services (WMS) and their layers.
navFrame The displayed map can be moved in each direction (belonging to mapframe) with the function navFrame. The navigation arrows in the frame of the map are clickable. You can change the color of the frame with the parameter 'content'.
overview The small map is called overview. You can zoom in or out the map with the overview or with the main map. Each loaded WMS is useable as an overview map.
pan1 pan_off.gif The button pan in the toolbar is able to pan the displayed map. Just click in the map and drag & drop to pan the map.
print1 With the button print in the toolbar a window opens to make the print settings. Please notice that Mapbender will achieve a higher quality, if the underlying map service is configured specially for that.
printPDF With the button print in the toolbar a window opens to make the print settings. printPDF can also be use as an iframe in the gui. Please notice that Mapbender will achieve a higher quality, if the underlying map service is configured specially for that.
repaint repaint_off.gif With the button repaint in the toolbar a mapsection will be drawn new. This function is optional, because many modules in the main mapframe already make a repaint, e.g. the layers with the treeGDE. It might sometimes be reasonable to deactivate repainting, if the server is being exposed to reduce the number of map requests. That makes especially sense, if users set on and off many layers at the same time.
rubber rubber_off.gif With the button rubber in the toolbar the function measure (digitizing) is reset and the measured distance is deleted.
sandclock Display of charge state, as an image may be included an animated GIF like a sandclock, progress bar and very popular is a biting banana.
saveWKT Oberflächenelemente der Kartenkomponente.2.gif It is possible to resave a digitized geometry into tha database with the button saveWKT. Please notice implicitly that this function should be considerable parametrized before using productive, because the preset module checks all available geometry tables in PostgreSQL/PostGIS and provides it in a listbox!
scalebar Display of the scalebar adapt to the selected section. Please notice that this module is not compatible with all coordinate systems.
scaleSelect With this selective list you are able to display different scales. Please notice that this module is not compatible with all coordinate systems.
scaleText With the description field scaleText you may register a scale manually and in doing so it is free selectable. Please notice that this module is not compatible with all coordinate systems.
selArea1 selarea_off.gif It is possible to pull a rectangle in the displayed map with the button selArea in the toolbar (keep the left mouse button pushed and pull the mouse). This mapsection appears complete in the whole frame. This is one of the main functions for navigation in the map.
showCoords coods_off.gif It is possible to click in the map and the coordinates of this point will be displayed with the button showCoords in the toolbar.
treeGDE It is possible to configure height, color and behauvior of the WMS in the treeGDE (folder) and the included layers (sheets). Please notice that there is a very configurable module, which is able to combine and connect layers from different WMS. So building up nested tree structures is no problem.
zoomIn1 zoomin2_off.gif Zooming into the map is done with the button zoomIn in the toolbar. A small section of the map will be displayed in a much bigger scale (more details). The module <zoomOut> is analog to this function.
zoomOut1 zoomout2_off.gif Zooming out of the displayed map is done with the button in the toolbar. The module <zoomIn> is analog to this function.

DE

Die folgende Auflistung enthält die meistgenutzten Oberflächenelemente, die im Lieferumfang von Mapbender enthalten sind. Diese Auswahl wächst stetig, informieren Sie sich über die User Mailing Liste über neueste Module und die weitere geplante Entwicklung. Sie sind herzlich eingeladen Ihre selbstentwickelten Module auch anderen Anwendern zur Verfügung zu stellen.

Hinweis zum kommerziellen Einsatz der Software

Falls Sie Mapbender kommerziell weiterverkaufen möchten, sind Sie durch die Lizenzierung als GNU GPL Software dazu verpflichtet alle Erweiterungen, die Sie an der Software vorgenommen haben weiterzugeben, bzw. der Allgemeinheit zur Verfügung zu stellen. Sollten Sie damit ein Problem haben, wenden Sie sich bitte unbedingt bevor Sie anfangen selbstgestrickte Lizenzen zu verkaufen an den Projekt Administrator, um das Problem anzusprechen. Bisher konnten alle Schwierigkeiten bezüglich der Lizenzierung als GNU GPL ausgeräumt werden. Zählen Sie bitte nicht darauf, dass es schon keiner merken wird. Es ist einfacher mit uns zu reden.

back back_off.gif Über die Schaltfläche back in der Werkzeugleiste können die letzten Kartenausschnitte wieder aufgerufen werden (ähnlich wie in der Browserfunktion). Dabei werden auch die Ebenen, Kartengröße, etc. Berücksichtigt. Eine Besonderheit dieses Elementes liegt im Parameter target. Es beinhaltet zwei Ziele, da der Mapframe und der Overview angesprochen werden.
body Hintergundfäche des Mapbender2, dessen Farbe bei Attributes eingestellt wird.
center1 center_off.gif Über die Schaltfläche center1 in der Werkzeugleiste wird beim Klicken auf einen Punkt in der Karte dieser zentriert dargestellt.
changeEPSG Über die Auswahlliste kann das Projektionssystem gewechselt werden. Voreingestellt werden hier die EPSG Codes der European Petroleum Survey Group angezeigt. In dem Modul <mod_changeEPSG.php> können diese Codes mit sprechenden Namen versehen werden.
changePassword Änderung des Passwortes
closePolygon closePolygon_off.gif Über die Schaltfläche measure werden drei bis optional vier weitere Schaltflächen aktiviert: rubber, getArea, closePolygon und save. Es kann nun eine Fläche digitalisiert werden. Über die Schaltfläche closePolygon wird der letzte Stützpunkt mit dem Startpunkt verbunden und so geschlossen. Anschließend kann über die Schaltfläche getArea eine Abfrage über diese Fläche gestartet werden. Über das Modul <save> kann die Geometrie als WKT Objekt in eine PostgreSQL/PostGIS Datenbank gespeichert werden. Diese Funktion soll in Richtung WFS-T ausgebaut werden.
copyright Das Copyright-Modul <mod_copyright.php> kann editiert werden, um Logo und/oder Copyright-Hinweise zu integrieren.
dragMapSize Am rechten unteren Kartenrand ist ein kleines rotes Quadrat sichtbar. Durch klicken und ziehen (Drag & Drop) kann das Kartenfenster vergrößert werden.
featureInfo1 query_off.gif Über die Schaltfläche FeatureInfo in der Werkzeugleiste wird ein OGC WMS getFeatureInfo-Request an die ausgewählten Server geschickt, die entprechende Abfrageergebnisse zurückliefern. Das Ergebnis ist abhängig von den aktivierten Layern und dem in der Administration ausgewählten Ausgabeformat.
forward forward_off.gif Über die Schaltfläche forward in der Werkzeugleiste können Kartenausschnitte wiederhergestellt werden, ähnlich der Browserfunktion.
getArea getArea_off.gif Die Schaltfläche getArea wird nach der Aktivierung der Schaltfläche measure im Hauptkartenfenster sichtbar. Nach der Digitalisierung eines Polygons mit der measure-Funktion kann über die Schaltfläche getArea eine Berechnung der Größe der eingegrenzten Fläche und des Umfangs abgefragt werden.
keyHandler Mit dem Modul keyHandler ist es möglich per Tastatur die Funktionen zoomIn und zoomOut (Plus/Minus) sowie den Cursor (Pfeiltasten) zu navigieren. Bitte beachten Sie, dass diese Funktion stark Browserabhängig ist und nur von einigen MS Internet Explorer Versionen unterstützt wird.
layout1 Das Element layout1 dient nur der graphischen Gestaltung und hat keinerlei Funktion. In diesem Fall stellt das Element eine farbige Fläche dar, die den Hintergrund für die Werkzeugleiste bildet. Solche Flächen können für die Layoutgestaltung genutzt werden benötigen praktisch keinen Speicherplatz und bringen deshalb keinen Perfomanzverlust mit sich.
logout logout_off.gif Über die Schaltfläche logout in der Werkzeugleiste wird die aktive Sitzung beendet. Beachten Sie, dass das optional verfügbare lokale Cookie dabei gelöscht wird, andere Clients, die Sie zwischenzeitlich geöffnet haben gestatten ebenfalls keinen Zugriff mehr.
mapbender Um die Verbreitung der Software zu unterstützen empfehlen wir, das Mapbender-Logo in jeder Oberfläche sichtbar einzubinden und mit einem Link auf die Projekthomepage (http://www.mapbender.org) zu versehen. Eine Vorlage ist immer in <gui1> enthalten. Betrachten Sie das Logo als guten Stern auf allen Datenautobahnen.
mapframe1 Der mapframe1 bildet den Rahmen für den dargestellten Kartenausschnitt. Es ist ein recht umfangreiches Objekt, da es den navigierbaren Rahmen berücksichtigt und Ziel für viele Aufrufe anderer Module ist.
measure measure_off.gif Über die Schaltfläche measure in der Werkzeugleiste kann in der Karte ein Punkt, Linie oder Polygon abgesteckt (digitalisiert) werden. Die Messung der abgesteckten Fläche und Strecke erfolgt anschließend über die Schaltfläche getArea.
metadata metadata_off.png Über den Button werden die Metadaten aller geladenen Dienste (WMS) und der enthaltenen Ebenen angezeigt.
navFrame Über die Funktion navFrame (gehört zu mapframe) läßt sich die dargestellte Karte in die gewünschte Richtung verschieben. Die Navigationspfeile im Rahmen der Karte dienen als Klickpunkt. Die Farbe des Rahmens ist im Parameter content konfigurierbar.
overview Der overview bezeichnet die kleine Übersichtskarte. Es kann sowohl über den overview in oder aus einer Karte gezoomt werden als auch über die Gesamtkarte. Es kann jeder eingebundene WMS als Übersichtskarte genutzt werden. Über wms=2 kann dem Modul z. B. die Information gegeben werden, dass der WMS mit der Position 2 im Overview angezeigt werden soll. dabei wird der Extent des WMS verwendet.
pan1 pan_off.gif Über die Schaltfläche pan in der Werkzeugleiste kann die dargestellte Karte angeklickt und manuell per Drag & Drop verschoben werden.
print1 Über die Schaltfläche print in der Werkzeugleiste wird ein Fenster für die Druckeinstellungen geöffnet. Beachten Sie, dass Mapbender eine höhere Qualität erzielen kann, wenn der zugrundeliegende Kartendienst speziell dafür konfiguriert wird.
repaint repaint_off.gif Über die Schaltfläche repaint in der Werkzeugleiste wird ein Kartenausschnitt neu gezeichnet. Diese Funktion ist optional, da viele Module das Hauptkartenfenster bereits selbst neu zeichnen, z.B. die Ebenenübersicht mit der Baumstruktur. Es kann allerdings sinnvoll sein, dieses automatische Neuzeichnen zu deaktivieren, falls der Server stark beansprucht wird, um die Anzahl von Karten-Anfragen zu reduzieren. Das macht vor allem dann Sinn, wenn die Benutzer häufig viele Ebenen gleichzeitig an und ausstellen.
rubber rubber_off.gif Über die Schaltfläche rubber in der Werkzeugleiste kann die Funktion measure (Digitalisierung) zurückgesetzt und die gemessene Strecke gelöscht werden.
sandclock Anzeige des Ladezustandes, als Bild kann hier ein animiertes GIF eingebunden werden, eine Sanduhr, Ladebalken, und sehr beliebt ist auch die Banane mit Biss.
saveWKT Oberflächenelemente der Kartenkomponente.2.gif Über die Schaltfläche saveWKT kann eine digitalisierte Geometrie in die Datenbank zurückgespeichert werden. Beachten Sie unbedingt, dass diese Funktion erheblich parametriert werden sollte, bevor sie im produktiven Einsatz geht, da das Standardmodul alle in PostgreSQL/PostGIS verfügbaren Geometrietabellen ausliest und in einer Listbox anbietet!
scalebar Die Anzeige der Maßstabsleiste paßt sich dem gewählten Ausschnitt entsprechend an. Beachten Sie, dass dieses Modul nicht mit allen Koordinatensystemen kompatibel ist.
scaleSelect Mit Hilfe dieser Auswahlliste können verschiedene Maßstäbe dargestellt werden. Beachten Sie, dass dieses Modul nicht mit allen Koordinatensystemen kompatibel ist.
scaleText Über das Textfeld scaleText kann ein Maßstab manuell eingetragen und auf diese Weise frei gewählt werden. Beachten Sie, dass dieses Modul nicht mit allen Koordinatensystemen kompatibel ist.
selArea1 selarea_off.gif Mit Hilfe der Schaltfläche selArea in der Werkzeugleiste kann in der dargestellten Karte ein Viereck aufgezogen werden (linke Maustaste gedrückt halten und Maus ziehen). Dieser Kartenausschnitt erscheint nun auf der gesamten Größe des Fensters. Das ist eine der Hauptfunktionen für die Navigation in der Karte.
showCoords coods_off.gif Über die Schaltfläche showCoords in der Werkzeugleiste kann durch Klicken auf einen Punkt in der Karte dessen Koordinaten angezeigt werden.
treeGDE Die Baumstruktur für die WMS (Ordner) und enthaltenen Ebenen (Blätter) können hier in Größe, Farbe und Verhalten konfiguriert werden. Beachten Sie, dass es alternativ ein hochkonfigurierbares Modul gibt, dass Ebenen auch unterschiedlicher WMS kombinieren und verbinden kann. Damit können beliebig tief verschachtelte Baumstrukturen aufgebaut werden.
zoomIn1 zoomin2_off.gif Die Schaltfläche zoomIn in der Werkzeugleiste ermöglicht das hineinzoomen in die dargestellte Karte. Es wird ein kleinerer Ausschnitt der Karte in einem größeren Maßstab (mehr Details) dargestellt. Das Gegenstück zu dieser Funktion ist das Modul <zoomOut>.
zoomOut1 zoomout2_off.gif Über die Schaltfläche zoomOut in der Werkzeugleiste kann aus der dargestellten Karte heraus gezoomt werden. Das Gegenstück zu dieser Funktion ist das Modul <zoomIn>.

Create new Gui

EN

(deutsche Version weiter unten!)

Create a new GUI with the module 'Create new GUI' in the category 'GUI Management' from the left list. The following form opens:

erst1.gif

Fill in the name of the GUI in the field <Name> (mandatory field), optional ad a short description. Finish with the button <new> and a new interface container will be created. The name of the GUI has to be unique. If te name already exists in your system a mesasge shows up. Now the new GUI is ready for futher processing. Please notice that the name of the Gui can be seen in a selective list so choose one good to be recognize. Also the name of the GUI will be shown in the title of your browser and helps to orientate on the destop - especially helpfull for administrators and power-users with several Mapbenders open at the same time.


DE

Das Erstellen einer neuen Oberfläche erfolgt über das Modul GUI erzeugen aus der linken Liste. Eine Eingabemaske erscheint:

erst1.gif

In Eingabefeld <Name> (Pflichtfeld) wird die Bezeichnung der neuen GUI (Oberflächencontainer) eingegeben, zusätzlich muss eine Kurzbeschreibung (Description) eingegeben werden. Abschließend wird über die Schaltfläche <New> der neue Oberflächencontainer angelegt. Der Name einer Oberfläche muss eindeutig sein. Falls dieser bereits im System vorhanden ist, wird eine Meldung angezeigt. Die neu angelegte Oberfläche kann jetzt weiter bearbeitet werden. Beachten Sie, dass der Name der Oberfläche später in der Auswahl der Benutzer angezeigt wird, es sollte also ein "sprechender" Name verwendet werden. Der Name wird auch in der Titelzeile des Browsers angezeigt und hilft bei der Orientierung auf dem Desktop. Das gilt vor allem für Administratoren und Power-Anwender die gleichzeitig mehrere Mapbender Oberflächen parallel nutzen. This page has moved to Edit Interface Elements

Create new gui elements

EN

A gui element is identified by it's name. The name is shown in the field <ID:>, respectivly in the right list, where elements have to be choosen to edit. Please notive that the name has to be unique! To create a new gui element and add it to the actual gui, enter a new name in the field <ID:> and click the button <SAVE>. If the name is allready remit a message will show up. Just enter a new name and try again. Automatically you adopt properties and parameters of the shown element. Therefor it is reasonable to have a look at an element that has at least some of the desired properties and parameters.




DE

Ein Oberflächenelement wird über seinen Namen identifiziert. Der Name wird im Feld <ID:> angezeigt, bzw. in der Liste rechts, aus der die Elemente auch zur Bearbeitung ausgewählt werden können. Beachten Sie, dass der Name eindeutig sein muss! Um ein neues Oberflächenelement zu erzeugen und der aktuellen GUI hinzuzufügen geben Sie einfach einen neuen Namen in das Feld <ID:> ein und drücken Sie den Knopf <SAVE>. Falls der Name bereits vergeben ist wird eine Meldung ausgegeben. Tragen Sie einfach einen neuen Namen ein und versuchen Sie es erneut. Sie übernehmen dabei automatisch die Eigenschaften und Parameter des gerade angezeigten Elementes, deshalb ist es sinnvoll sich zuvor ein Element anzeigen zu lassen, das bereits die gewünschten Attribute und Funktionen zumindest teilweise enthält. (lesen Sie unten die deutsche Version)

Icons and buttons

EN

The following list contains the most commonly used Mapbender interface elements. There are many more specialized methods and operations to enable functionality for special applications. These are usually implemented by the operator of the respective Mapbender site. All functions can be implemented with different icons and buttons sets, the examples contained in this page just show some of the currently most commonly used ones.

This selection still grows, so please stay in touch with the user mailing list to get to know the newest modules and the further development. You are very much invited to share your own modules with the community.

Extensions to Mapbender Functionality

Mapbender is Free Software licensed as GNU GPL, so extend, change and modify the software as you wish. If you extend the Mapbender software and want to sell a license you must (have to!) also publish your extensions and make them available to the general public free of cost. This effect is caused by the GNU GPL. If you have a problem with this licenseing model, please contact the [arnulf_christl@users.sourceforge.net], we will find ways to solve this problem. Please do not assume that nobody will notice, it is much easier to talk to us. Have fun.

back back_off.gif With the button back in the toolbar you are able to see the last map sections (similar to a browser). In doing so layers, mapsize, etc. are affected also. The parameter target is special to this element. It contains two targets: mapframe and overview, which are activated together.
body Background of Mapbender2. Change this color in the field 'attributes'.
center1 center_off.gif With the button center1 in the toolbar you are able to click to a point and the map will be centered there.
changeEPSG You can change the reference system (SRS) with this drop down menue. The EPSG Codes from the European Petroleum Survey Group are preset here. To give the codes different names you have to change them in the module <mod_changeEPSG.php>.
changePassword Change the password
closePolygon closePolygon_off.gif The button measure activates 3 or optional 4 more buttons: rubber, getArea, closePolygon und save. Now you are able to digitize an area. With the button closePolygon you make a connection between the first and the last point and the area is closed. Then start a query with the button getArea to measure the area. With the button save you can save the geometry as a WKT object in the PostgreSQL/PostGIS database. This function will be developed to a WFS-T.
copyright The copyright module is editable to integrate a logo and/or a notice for copyright.
dragMapSize There is a little red square at the lower right mapframe. Just drag & drop it to maximize the mapframe.
featureInfo1 query_off.gif Start an OGC WMS getFeatureInfo request to the server with the button FeatureInfo in the toolbar to get the query result. The result depends on activated layers and the output format, which is set in the administration.
forward forward_off.gif With the button forward in the toolbar you can recover map sections, similar to a browser.
getArea getArea_off.gif After activating the button measure the button getArea appears in the maframe. After digitizing a polygon with the measure function the button getArea compute the size of the area and the extent.
keyHandler It is possible with the module keyHandler to navigate the functions zoomIn und zoomOut (plus/minus) and the cursor (arrows) with the keyboard. Please notice that this functions depends on the browser and is supported only from few versions MS Internet Explorer.
layout1 This element is only for layout purpose and has no other functions. In this case the element is a colored area, which is the background for the toolbar. Such areas can be used for layout for they need nearly no disc space and no loss of performance.
logout logout_off.gif To close a session use the logout button in the toolbar. Please notice that the optional available local cookie is deleted. Other clients activated at the same time do not allow access also.
mapbender To support the spread of the software we suggest to include the Mapbender logo in each gui with a link to the project homepage (http://www.mapbender.org). A sample is allways included in <gui1>. Regard this logo as a guiding star on every data highways.
mapframe1 Mapframe1 is the frame for the displayed map section. It is a quiet extensive object, because of the navigatable frame and it is target for many other modules.
measure measure_off.gif Digitize a point, line or polygon in the map with the button measure in the toolbar. Subsequently the measurement of the digitized area and line is done with the button getArea.
metadata metadata_off.png This Button shows metadata from all loaded services (WMS) and their layers.
navFrame The displayed map can be moved in each direction (belonging to mapframe) with the function navFrame. The navigation arrows in the frame of the map are clickable. You can change the color of the frame with the parameter 'content'.
overview The small map is called overview. You can zoom in or out the map with the overview or with the main map. Each loaded WMS is useable as an overview map.
pan1 pan_off.gif The button pan in the toolbar is able to pan the displayed map. Just click in the map and drag & drop to pan the map.
print1 With the button print in the toolbar a window opens to make the print settings. Please notice that Mapbender will achieve a higher quality, if the underlying map service is configured specially for that.
printPDF With the button print in the toolbar a window opens to make the print settings. printPDF can also be use as an iframe in the gui. Please notice that Mapbender will achieve a higher quality, if the underlying map service is configured specially for that.
repaint repaint_off.gif With the button repaint in the toolbar a mapsection will be drawn new. This function is optional, because many modules in the main mapframe already make a repaint, e.g. the layers with the treeGDE. It might sometimes be reasonable to deactivate repainting, if the server is being exposed to reduce the number of map requests. That makes especially sense, if users set on and off many layers at the same time.
rubber rubber_off.gif With the button rubber in the toolbar the function measure (digitizing) is reset and the measured distance is deleted.
sandclock Display of charge state, as an image may be included an animated GIF like a sandclock, progress bar and very popular is a biting banana.
saveWKT Oberflächenelemente der Kartenkomponente.2.gif It is possible to resave a digitized geometry into tha database with the button saveWKT. Please notice implicitly that this function should be considerable parametrized before using productive, because the preset module checks all available geometry tables in PostgreSQL/PostGIS and provides it in a listbox!
scalebar Display of the scalebar adapt to the selected section. Please notice that this module is not compatible with all coordinate systems.
scaleSelect With this selective list you are able to display different scales. Please notice that this module is not compatible with all coordinate systems.
scaleText With the description field scaleText you may register a scale manually and in doing so it is free selectable. Please notice that this module is not compatible with all coordinate systems.
selArea1 selarea_off.gif It is possible to pull a rectangle in the displayed map with the button selArea in the toolbar (keep the left mouse button pushed and pull the mouse). This mapsection appears complete in the whole frame. This is one of the main functions for navigation in the map.
showCoords coods_off.gif It is possible to click in the map and the coordinates of this point will be displayed with the button showCoords in the toolbar.
treeGDE It is possible to configure height, color and behauvior of the WMS in the treeGDE (folder) and the included layers (sheets). Please notice that there is a very configurable module, which is able to combine and connect layers from different WMS. So building up nested tree structures is no problem.
zoomIn1 zoomin2_off.gif Zooming into the map is done with the button zoomIn in the toolbar. A small section of the map will be displayed in a much bigger scale (more details). The module <zoomOut> is analog to this function.
zoomOut1 zoomout2_off.gif Zooming out of the displayed map is done with the button in the toolbar. The module <zoomIn> is analog to this function.

DE

Die folgende Auflistung enthält die meistgenutzten Oberflächenelemente, die im Lieferumfang von Mapbender enthalten sind. Diese Auswahl wächst stetig, informieren Sie sich über die User Mailing Liste über neueste Module und die weitere geplante Entwicklung. Sie sind herzlich eingeladen Ihre selbstentwickelten Module auch anderen Anwendern zur Verfügung zu stellen.

Hinweis zum kommerziellen Einsatz der Software

Falls Sie Mapbender kommerziell weiterverkaufen möchten, sind Sie durch die Lizenzierung als GNU GPL Software dazu verpflichtet alle Erweiterungen, die Sie an der Software vorgenommen haben weiterzugeben, bzw. der Allgemeinheit zur Verfügung zu stellen. Sollten Sie damit ein Problem haben, wenden Sie sich bitte unbedingt bevor Sie anfangen selbstgestrickte Lizenzen zu verkaufen an den Projekt Administrator, um das Problem anzusprechen. Bisher konnten alle Schwierigkeiten bezüglich der Lizenzierung als GNU GPL ausgeräumt werden. Zählen Sie bitte nicht darauf, dass es schon keiner merken wird. Es ist einfacher mit uns zu reden.

back back_off.gif Über die Schaltfläche back in der Werkzeugleiste können die letzten Kartenausschnitte wieder aufgerufen werden (ähnlich wie in der Browserfunktion). Dabei werden auch die Ebenen, Kartengröße, etc. Berücksichtigt. Eine Besonderheit dieses Elementes liegt im Parameter target. Es beinhaltet zwei Ziele, da der Mapframe und der Overview angesprochen werden.
body Hintergundfäche des Mapbender2, dessen Farbe bei Attributes eingestellt wird.
center1 center_off.gif Über die Schaltfläche center1 in der Werkzeugleiste wird beim Klicken auf einen Punkt in der Karte dieser zentriert dargestellt.
changeEPSG Über die Auswahlliste kann das Projektionssystem gewechselt werden. Voreingestellt werden hier die EPSG Codes der European Petroleum Survey Group angezeigt. In dem Modul <mod_changeEPSG.php> können diese Codes mit sprechenden Namen versehen werden.
changePassword Änderung des Passwortes
closePolygon closePolygon_off.gif Über die Schaltfläche measure werden drei bis optional vier weitere Schaltflächen aktiviert: rubber, getArea, closePolygon und save. Es kann nun eine Fläche digitalisiert werden. Über die Schaltfläche closePolygon wird der letzte Stützpunkt mit dem Startpunkt verbunden und so geschlossen. Anschließend kann über die Schaltfläche getArea eine Abfrage über diese Fläche gestartet werden. Über das Modul <save> kann die Geometrie als WKT Objekt in eine PostgreSQL/PostGIS Datenbank gespeichert werden. Diese Funktion soll in Richtung WFS-T ausgebaut werden.
copyright Das Copyright-Modul <mod_copyright.php> kann editiert werden, um Logo und/oder Copyright-Hinweise zu integrieren.
dragMapSize Am rechten unteren Kartenrand ist ein kleines rotes Quadrat sichtbar. Durch klicken und ziehen (Drag & Drop) kann das Kartenfenster vergrößert werden.
featureInfo1 query_off.gif Über die Schaltfläche FeatureInfo in der Werkzeugleiste wird ein OGC WMS getFeatureInfo-Request an die ausgewählten Server geschickt, die entprechende Abfrageergebnisse zurückliefern. Das Ergebnis ist abhängig von den aktivierten Layern und dem in der Administration ausgewählten Ausgabeformat.
forward forward_off.gif Über die Schaltfläche forward in der Werkzeugleiste können Kartenausschnitte wiederhergestellt werden, ähnlich der Browserfunktion.
getArea getArea_off.gif Die Schaltfläche getArea wird nach der Aktivierung der Schaltfläche measure im Hauptkartenfenster sichtbar. Nach der Digitalisierung eines Polygons mit der measure-Funktion kann über die Schaltfläche getArea eine Berechnung der Größe der eingegrenzten Fläche und des Umfangs abgefragt werden.
keyHandler Mit dem Modul keyHandler ist es möglich per Tastatur die Funktionen zoomIn und zoomOut (Plus/Minus) sowie den Cursor (Pfeiltasten) zu navigieren. Bitte beachten Sie, dass diese Funktion stark Browserabhängig ist und nur von einigen MS Internet Explorer Versionen unterstützt wird.
layout1 Das Element layout1 dient nur der graphischen Gestaltung und hat keinerlei Funktion. In diesem Fall stellt das Element eine farbige Fläche dar, die den Hintergrund für die Werkzeugleiste bildet. Solche Flächen können für die Layoutgestaltung genutzt werden benötigen praktisch keinen Speicherplatz und bringen deshalb keinen Perfomanzverlust mit sich.
logout logout_off.gif Über die Schaltfläche logout in der Werkzeugleiste wird die aktive Sitzung beendet. Beachten Sie, dass das optional verfügbare lokale Cookie dabei gelöscht wird, andere Clients, die Sie zwischenzeitlich geöffnet haben gestatten ebenfalls keinen Zugriff mehr.
mapbender Um die Verbreitung der Software zu unterstützen empfehlen wir, das Mapbender-Logo in jeder Oberfläche sichtbar einzubinden und mit einem Link auf die Projekthomepage (http://www.mapbender.org) zu versehen. Eine Vorlage ist immer in <gui1> enthalten. Betrachten Sie das Logo als guten Stern auf allen Datenautobahnen.
mapframe1 Der mapframe1 bildet den Rahmen für den dargestellten Kartenausschnitt. Es ist ein recht umfangreiches Objekt, da es den navigierbaren Rahmen berücksichtigt und Ziel für viele Aufrufe anderer Module ist.
measure measure_off.gif Über die Schaltfläche measure in der Werkzeugleiste kann in der Karte ein Punkt, Linie oder Polygon abgesteckt (digitalisiert) werden. Die Messung der abgesteckten Fläche und Strecke erfolgt anschließend über die Schaltfläche getArea.
metadata metadata_off.png Über den Button werden die Metadaten aller geladenen Dienste (WMS) und der enthaltenen Ebenen angezeigt.
navFrame Über die Funktion navFrame (gehört zu mapframe) läßt sich die dargestellte Karte in die gewünschte Richtung verschieben. Die Navigationspfeile im Rahmen der Karte dienen als Klickpunkt. Die Farbe des Rahmens ist im Parameter content konfigurierbar.
overview Der overview bezeichnet die kleine Übersichtskarte. Es kann sowohl über den overview in oder aus einer Karte gezoomt werden als auch über die Gesamtkarte. Es kann jeder eingebundene WMS als Übersichtskarte genutzt werden. Über wms=2 kann dem Modul z. B. die Information gegeben werden, dass der WMS mit der Position 2 im Overview angezeigt werden soll. dabei wird der Extent des WMS verwendet.
pan1 pan_off.gif Über die Schaltfläche pan in der Werkzeugleiste kann die dargestellte Karte angeklickt und manuell per Drag & Drop verschoben werden.
print1 Über die Schaltfläche print in der Werkzeugleiste wird ein Fenster für die Druckeinstellungen geöffnet. Beachten Sie, dass Mapbender eine höhere Qualität erzielen kann, wenn der zugrundeliegende Kartendienst speziell dafür konfiguriert wird.
repaint repaint_off.gif Über die Schaltfläche repaint in der Werkzeugleiste wird ein Kartenausschnitt neu gezeichnet. Diese Funktion ist optional, da viele Module das Hauptkartenfenster bereits selbst neu zeichnen, z.B. die Ebenenübersicht mit der Baumstruktur. Es kann allerdings sinnvoll sein, dieses automatische Neuzeichnen zu deaktivieren, falls der Server stark beansprucht wird, um die Anzahl von Karten-Anfragen zu reduzieren. Das macht vor allem dann Sinn, wenn die Benutzer häufig viele Ebenen gleichzeitig an und ausstellen.
rubber rubber_off.gif Über die Schaltfläche rubber in der Werkzeugleiste kann die Funktion measure (Digitalisierung) zurückgesetzt und die gemessene Strecke gelöscht werden.
sandclock Anzeige des Ladezustandes, als Bild kann hier ein animiertes GIF eingebunden werden, eine Sanduhr, Ladebalken, und sehr beliebt ist auch die Banane mit Biss.
saveWKT Oberflächenelemente der Kartenkomponente.2.gif Über die Schaltfläche saveWKT kann eine digitalisierte Geometrie in die Datenbank zurückgespeichert werden. Beachten Sie unbedingt, dass diese Funktion erheblich parametriert werden sollte, bevor sie im produktiven Einsatz geht, da das Standardmodul alle in PostgreSQL/PostGIS verfügbaren Geometrietabellen ausliest und in einer Listbox anbietet!
scalebar Die Anzeige der Maßstabsleiste paßt sich dem gewählten Ausschnitt entsprechend an. Beachten Sie, dass dieses Modul nicht mit allen Koordinatensystemen kompatibel ist.
scaleSelect Mit Hilfe dieser Auswahlliste können verschiedene Maßstäbe dargestellt werden. Beachten Sie, dass dieses Modul nicht mit allen Koordinatensystemen kompatibel ist.
scaleText Über das Textfeld scaleText kann ein Maßstab manuell eingetragen und auf diese Weise frei gewählt werden. Beachten Sie, dass dieses Modul nicht mit allen Koordinatensystemen kompatibel ist.
selArea1 selarea_off.gif Mit Hilfe der Schaltfläche selArea in der Werkzeugleiste kann in der dargestellten Karte ein Viereck aufgezogen werden (linke Maustaste gedrückt halten und Maus ziehen). Dieser Kartenausschnitt erscheint nun auf der gesamten Größe des Fensters. Das ist eine der Hauptfunktionen für die Navigation in der Karte.
showCoords coods_off.gif Über die Schaltfläche showCoords in der Werkzeugleiste kann durch Klicken auf einen Punkt in der Karte dessen Koordinaten angezeigt werden.
treeGDE Die Baumstruktur für die WMS (Ordner) und enthaltenen Ebenen (Blätter) können hier in Größe, Farbe und Verhalten konfiguriert werden. Beachten Sie, dass es alternativ ein hochkonfigurierbares Modul gibt, dass Ebenen auch unterschiedlicher WMS kombinieren und verbinden kann. Damit können beliebig tief verschachtelte Baumstrukturen aufgebaut werden.
zoomIn1 zoomin2_off.gif Die Schaltfläche zoomIn in der Werkzeugleiste ermöglicht das hineinzoomen in die dargestellte Karte. Es wird ein kleinerer Ausschnitt der Karte in einem größeren Maßstab (mehr Details) dargestellt. Das Gegenstück zu dieser Funktion ist das Modul <zoomOut>.
zoomOut1 zoomout2_off.gif Über die Schaltfläche zoomOut in der Werkzeugleiste kann aus der dargestellten Karte heraus gezoomt werden. Das Gegenstück zu dieser Funktion ist das Modul <zoomIn>.

Create TreeGDE

(deutsche Version weiter unten!)

EN

There are different possibilities to integrate map services and their containing levels in an application. Till Mapbender version 1.6 the levels of an wms were listed as a static list one below the other in the left part of the application. With growing number of map services and containing levels this list was just too long. For this reason the module <treeGDE> was implemented in Mapbender version 1.8 which has a dynamic tree structure. In this tree structure a wms is displayed as a folder which can be opened and containing the levels. There are several types. The module <tree_GDE> refreshs the main mapframe automatically after activating a level (activate checkbox!). But that doesn't the module <tree_GDE_1>, therefor the GUI should contain the button refresh or the application is managed by other modules. The module <treeConfGDE> enlarges the tree structure with manual configuration: levels may be nested as much as desired, so that the user just have to click the different checkboxes to activate or deactivate several layers of even different wms at the same time. (Image isn't available yet). To create an own tree structure with the simple module <tree_GDE> you have to choose a GUI first containing a wms already. The module !TreeConfGDE is loaded with Edit GUI-Elements into the according GUI.

Notice: This module requires a good structure, because it is not possible to move levels and folders that easy. Nobody considered this in fact not laborious functionality as necessary. If you disagree (we too) please contact us by sending a mail to the User Mailing List. Or intend your data structure very carefully from the beginning so you haven't to move anything afterwards.

  • insert folder/layer: To insert a new folder/layer choose first the GUI which you want to edit. In the left window the according tree structure of the chosen GUI appears. Insert a name for the new folder/layer in the textfield description. Choose the desired service from the field wms. Following choose in the field folder or layer if a folder or layer should be inserted. The field position defines wether a new folder is inserted behind or in an existing folder.

With these two options you have the possibility to create a parallel or nested folder structure. Please notice that the folder symbol will be displayed not until you fill in some content. With an empty folder you see only the writing.

  • delete folder: To delete a new folder first choose the according GUI. In the left window appears the tree structure of the chosen GUI. Activate the radiobuttons in the left window of the field which you want to delete and push the button delete. The changes can be seen in the left window.
  • change folder: To change a new folder first choose the GUI again. In the left window appears the tree structure of the chosen GUI. Insert a name in the field description. Subsequently activate the radiobutton in the left window of the field you like to change. The changed name appears in the left window when you push the button change.
  • connect layers: The button 'connect layers' gives you the possibility to display to seperate layers in a single one. That means: by activating a radiobutton of a layer in the tree structure and the choice of a wms and the according layer you are able to display them connected by pushing the button 'connect layers'.

DE

Es gibt unterschiedliche Möglichkeiten Kartendienste und die darin enthaltenen Ebenen in eine Anwendung zu integrieren. Bis zur Version Mapbender 1.6 wurden die Ebenen eines WMS als statische Liste im linken Bereich der Anwendung untereinander aufgelistet. Mit zunehmender Anzahl an Kartendiensten und enthaltenen Ebenen wurde diese Liste unpraktisch lang. Deshalb wurde mit der Version 1.8 das Modul TreeGde implementiert, das eine dynamische Baumstruktur abbildet. Dabei werden WMS als Ordner dargestellt, die aufgeklappt werden können und Ebenen enthalten. Es gibt davon mehrere Varianten. Das Modul TreeGde zeichnet beim Aktivieren einer Ebene (Häkchen setzen) das Hauptkartenfenster automatisch neu. Das Modul treeConfGDE erweitert die Baumstruktur um manuelle Konfiguration: Ebenen können beliebig tief geschachtelt werden. Ausserdem können Ebenen verbunden werden, so dass der Anwender nur noch ein Häkchen setzen muss, um automatisch mehrere Ebenen sogar unterschiedlicher WMS gleichzeitig an- oder auszustellen. (Abbildung liegt noch nicht vor). Um eine eigene Verzeichnisstruktur mit dem einfachen Modul TreeGde zu erstellen, muss zunächst eine GUI ausgewählt werden, in die bereits mindestens ein WMS geladen wurde. Das Modul treeConfGDE wird über Edit GUI-Elements zu der entsprechenden GUI hinzu geladen. Achtung! Das Modul treeGDE sollte dann ausgeschaltet sein!

Hinweis: Es ist möglich Ebenen und Ordner mittels des Moduls/Buttons WMS_preferences auch nachträglich zu verschieben.

  • Ordner/Ebene einfügen: Zum Einfügen eines neuen Ordners/Ebene wird zuerst oben rechts die GUI ausgewählt, die bearbeitet werden soll. Im linken Fenster erscheint die entsprechende Baumstruktur der ausgewählten GUI. In das Eingabefeld Beschriftung (Labeling) wird ein Name für den neuen Ordner/Ebene eingegeben. Über das Feld WMS kann der gewünschte Service für die Ebene ausgewählt werden (beim Anlegen eines leeren Ordners sollte kein WMS gewählt werden, ansonsten wird nach dem Layer gefragt, den man ja noch nicht angeben möchte). Anschließend wird im Feld Ordner oder Ebene ausgewählt, ob ein Ordner oder eine Ebene eingefügt werden soll. Mit dem Feld Position wird festgelegt, ob der neue Ordner hinter oder in einem bereits existierenden Ordner (mit dem Radio-Button auszuwählen) eingefügt wird. Soll die Ebene default sein, muss dies unter WMS Gui Einstellungen entsprechend eingestellt werden. Ist sie damit voreingestellt und im Ordnerbaum wird der Layer nicht erstellt, erscheint ihr Kartenbild trotzdem.

Mit diesen beiden Optionen besteht die Möglichkeit eine parallele oder ineinander verschachtelte Ordnerstruktur zu erstellen. Bitte beachten, dass das Ordnersymbol erst dargestellt wird, nachdem dem Ordner Inhalte hinzugefügt wurden. Ein leerer Ordner wird lediglich als Schriftzug dargestellt.

  • Ordner löschen: Zum Entfernen eines neuen Ordners muss zuerst die GUI ausgewählt werden. Im linken Fenster erscheint die entsprechende Baumstruktur der ausgewählten GUI. Mit Hilfe des Radiobuttons kann im linken Fenster das zu löschende Feld markiert und abschließend über die Schaltfläche löschen entfernt werden. Die Änderung wird im linken Fenster sichtbar.
  • Ordner ändern: Zum Ändern eines neuen Ordners wird zuerst wieder die zu bearbeitende GUI ausgewählt. Im linken Fenster erscheint die entsprechende Baumstruktur der ausgewählten GUI. Im Feld Beschriftung wird ein Name eingegeben. Danach wird mit Hilfe des Radiobuttons im linken Fenster das zu ändernde Feld markiert. Der geänderte Name erscheint im linken Fenster durch das Betätigen der Schaltfläche ändern.
  • Ebenen verbinden: Die Schaltfläche Ebenen verbinden gibt die Möglichkeit zwei separate Ebenen in einer einzelnen darzustellen. D.h. durch anklicken eines Radiobuttons einer Ebene im Verzeichnisbaum und der Auswahl eines WMS sowie einer zugehörigen Ebene, können diese mit Hilfe der Schaltfläche Ebene verbinden zusammen dargestellen werden.

Design gui

(deutsche Version weiter unten!)

EN

A GUI can be configured quiet differently. Examples for GUIs can be seen e.g. on this site http://www.mapbender.org/ in the Gallery.

Insert images, logos etc. (gif):

In the category 'interface management' under the menu item 'Edit GUI-Elements' create new elements by giving a new id and push the button save. Insert in the field Comment a short description for the new element which is easy to recognize. To include a logo or image specify the according HTML-tag img for graphics. Make a reference to the image by filling in the relative or absolute path in the line SRC. Insert the values top, left, width and height to make the position of the image. Use the 'Z-Index' in case of intersection with other graphic objects. Rendering takes place according to this value (0 references the bottom, above that lays 1, above that 2, etc.).

Areas:

With the help of design elements like coloured areas, it is easy to create nice layouts (shadows, frames). Create a new element as an area without much disc space: specify HTML-tag 'div', also a number of pixels for the position (top, left) and the size (width, height). E.g. create a red area with the parameter styles and the entry background-color:#ff0000. Insert a 0 (Null) in the 'Z-Index' and you have a red background. Notice that the other elements of the GUI need now a 'Z-Index' = 1 or higher.

Move several elements at the same time:

Maybe you want to insert a header in the GUI with your own logo and you have to move all elements of the GUI downwards. For this reason a SQL-statement is helpful which will be processed directly into a MySQL frontend (e.g. PhpMyAdmin or MySQL-Front). Because all GUI-elements are stored in the database you are able to move all or some of them by execute the following SQL:

SQL-string:

UPDATE gui_element SET e_top=e_top+80 WHERE fkey_gui_id='Name_of_my_GUI' AND e_top >=350

(This SQL-string moves all elements, which are 350 pixel under the upper edge of the window, some more 80 pixel downwards).

Notice:

Please notice to insert the name of your GUI in the string <fkey_gui_id>, otherwise you move the objects of all GUIs!


DE

Eine Oberfläche (GUI) kann sehr unterschiedlich gestaltet werden. Beispiele für GUIs können z.B. auf der Seite http://www.mapbender.org/ unter dem Menüpunkt Galerie eingesehen werden.

Einfügen von Bildern, Logos o.ä. (gif):

In der Rubrik Oberflächenverwaltung unter dem Menüpunkt Oberflächenelemente editieren können neue Element erzeugt werden, indem eine neue ID eingeben und der Knopf Save gedrückt wird. Tragen Sie in dem Feld Comment eine kurze Beschreibung für das neue Element ein, der leicht wiederzuerkennen ist. Für das Einbinden eines Logos oder Bildes wird der entsprechende HTML-Tag img für Graphiken angegeben. Durch Angabe des relativen oder absoluten Pfades in der Zeile SRC wird das Bild referenziert. Positioniert wird das Bild durch die Werte Top, Left, Width und Height. Bei Überschneidungen mit anderen Graphikobjekten ist der 'Z-Index' anzugeben. Entsprechend diesem Wert erfolgt die Darstellung (0 referenziert die Grundfläche, darüber liegt 1, darüber liegt 2, usw.).

Flächen:

Mit Hilfe von gestalterischen Elementen, wie farbigen Flächen, lassen sich leicht ansprechende Layouts (Schattierungen, Rahmen) erstellen. Wenn bei einem neuen Element als HTML-Tag div sowie Pixelangaben für die Positionierung (Top, Left) und Größe (Width, Height)angegeben werden, kann eine Fläche erzeugt werden ohne viel Speicherplatz zu verbrauchen. Über die Angabe Styles und z.B. den Eintrag background-color:#ff0000 wird eine rote Fläche erzeugt, die durch den Z-Index=0 im Hintergund steht. Natürlich müssen die vordergründigen Elemente mit Z-Index=1 oder höher versehen sein.

Verschieben von mehreren Elementen gleichzeitig:

Falls z.B. eine Kopfzeile mit dem eigenen Logo einfügt werden soll, so ist es sinnvoll alle sichtbaren GUI-Elemente auf einmal nach unten zu verschieben. Hier kann ein SQL-Befehl hilfreich sein, der direkt in ein MySQL Frontend eingetragen wird (z.B. PhpMyAdmin oder MySQL-Front). Da alle GUI-Elemente in der Datenbank gespeichert sind, können mit Hilfe des unten angegeben Befehls alle oder mehrere Elemente gleichzeitig positioniert werden:

SQL-Befehl:

UPDATE gui_element SET e_top=e_top+80 WHERE fkey_gui_id='Name_meiner_GUI' AND e_top >=350

(Dieser SQL-Befehl verschiebt alle Elemente, die 350 Pixel unterhalb der Oberkante des Fensters positioniert sind um weitere 80 Pixel nach unten).

Hinweis:

Achten Sie drauf, dass Sie bei SQL-Befehlen immer das Feld <fkey_gui_id> mit dem Namen der GUI parametrieren, da sonst die Objekte aller GUIs verschoben werden!

Parameter

EN

Normally a module consists of a file in which the funcionality of Javascript or PHP is implemented and parameters which are implemented in a GUI with a form in the Mapbender administration database.

Notice: Modules, which are only layout elements of a GUI, have no other functionality and refer for that reason to no other scripts.

For Mapbender2 is primary a DHTML-application, the parameters orientate to the single modules on the HTML-syntax.

Parameters of a module:

ID The id of a module has to be unique in a GUI and shouldn't contain any special characters.
POSITION The position of a module has to be higher than the position of the module 'body' of the same GUI (as a rule > 1). The position affects the loading sequence of Mapbender.
PUBLIC "0" - Module is deactivated, "1" - Module is activated
COMMENT A short description of the module to make the administration of the module more clearly.
HTML-TAG HTML-TAG, to integrate the module into the application
SRC If necessary insert a source, e.g. for images which should be included for buttons. The keyword sessionID is exchanged in each case with the current SessionID.
ATTRIBUTES Attributes, which a HTML-TAG may contain. The keyword sessionID is exchanged in each case with the current SessionID.
LEFT Position of the elements in the GUI (count from the left in pixel).
TOP Position of the elements in the GUI (count from above in pixel).
WIDTH Width (Pixel)
HEIGHT Height (Pixel)
Z-INDEX Layering, elements with a higher z-index overlay the elements with a lower z-index.
STYLES Additional stylesheets.
CONTENT Content of an element, which is displayed in the GUI.
CLOSE-TAG Maybe a TAG to close the HTML-elements.
JAVASCRIPT A !JavaScript-file, which provides the functionality.
MODUL A !JavaScript, which can be used by several elements (modules), but should be loaded only once.
TARGET The target of a module. The target of the ZOOM-BUTTONS (module) are e.g. the main map frame in the GUI1.
REQUIRES Dependecies, refer the module, which is required by this module.



DE

Ein Modul besteht in der Regel aus einer Datei, in der die Funktionalität in JavaScript oder PHP implementiert ist und Parametern, die beim Bestücken einer Oberfläche (GUI) über ein Formular in der Mapbender Administrationsdatenbank eingetragen werden.

Hinweis: Module, die lediglich Layoutelemente einer Oberfläche sind, haben keine weitere Funktionalität und verweisen daher auch auf keine weiteren Skripte.

Da Mapbender2 in erster Linie eine DHTML-Anwendung ist, orientieren sich die Parametern zu den einzelnen Modulen an der HTML-Syntax.

Parameter eines Moduls:

ID Die ID eines Moduls muss in einer Oberfläche eindeutig sein und sollte keine Sonderzeichen enthalten.
POSITION Die Position eines Moduls muss höher sein, als die des Moduls body derselben Oberfläche (i.d.R.>1). Mit der Position kann das Ladeverhalten des Mapbenders beeinflusst werden.
PUBLIC "0" - Modul ist deaktiviert, "1" - Modul ist aktiv
COMMENT Eine kurze Beschreibung des Moduls, um die Verwaltung der Module über- sichtlicher zu gestalten.
HTML-TAG HTML-TAG, mit dem das Modul in die Anwendung integriert wird.
SRC Ggf. eine Quelle, z.B. bei Bildern, die als Button eingebunden werden soll.Das Schlüsselwort sessionID wird durch die jeweils aktuelle SessionID ausgetauscht.
ATTRIBUTES Attribute, die das HTML-TAG enthalten kann. Das Schlüsselwort sessionID wird durch die jeweils aktuelle SessionID ausgetauscht.
LEFT Position des Elements in der Oberfläche von links (Pixel).
TOP Position des Elements in der Oberfläche von oben (Pixel).
WIDTH Breite (Pixel)
HEIGHT Höhe (Pixel)
Z-INDEX Schichtung, Elemente mit höherem z-index überdecken Elemente mit geringerem z-index.
STYLES Zusätzliche stylesheets.
CONTENT Inhalt eines Elements, das in der Oberfläche angezeigt wird.
CLOSE-TAG Ggf. ein TAG zum Schließen des HTML-Elements.
JAVASCRIPT Eine !JavaScript-Datei, die Funktionalität bereitstellt.
MODUL Ein !JavaScript, das von mehreren Elementen (Modulen) genutzt werden kann, aber nur einmal geladen werden soll.
TARGET Das Ziel eines Moduls. Das Hauptkartenfenster ist z.B. ein Ziel des ZOOM-BUTTONS (Modul) in der gui1.
REQUIRES Abhängigkeiten, benennt das Modul, welches von diesem Modul benötigt wird.

Delete

EN

(deutsche Version weiter unten!)

To delete an existing GUI choose in the category 'interface managment' the menu item 'Delete!'. The GUI, which should be deleted, will be marked. Following push the button delete to completely remove this GUI.

loeschengui.gif

When deleting a GUI all entries of the interface elements of the GUI, the references to loaded WMS and users will be deleted. The included WMS, the users and the groups itself stay in the database and can be deleted in a different way.

Notice

The entries of the GUI and their references in the JOIN-tables will be removed from the database with constraints. For this reason the tables of the database have to be of type 'InnoDB'. The mostly used database MySQL supports the table type InnoDB, but on some operating systems only the tabel type ISAM is implemented. Please read the instructions for InnoDB in MySQL.





DE

Um eine bestehende Oberfläche zu löschen, wird aus der Rubrik Oberflächenverwaltung der Unterpunkt Löschen! ausgewählt. Es erscheint eine Auswahlliste aller vorhandenen Oberflächen. Die zu löschende Oberfläche wird markiert und kann abschließend über das Betätigen der Schaltfläche delete entfernt werden.

loeschengui.gif

Beim Löschen einer GUI werden alle Einträge zu allen Oberflächenelementen, die Zuordnung der geladenen WMS und Benutzer gelöscht. Sowohl die eingebundenen WMS als auch die Benutzer und Gruppen selbst verbleiben in der Datenbank und werden über eigene Methoden gelöscht.

Hinweis

Die Einträge der GUI und ihrer Verknüpfungen in den JOIN-Tabellen werden per Löschweitergabe aus der Datenbank entfernt. Hierfür muss die Datenbank über Tabellen vom Typ InnoDB verfügen. Die meistens verwendetete Datenbank MySQL unterstützt zwar den Tabellentyp InnoDB, bei einigen Betriebssystemen wird voreingestellt aber nur der Typ ISAM implementiert. Lesen Sie dazu die Erläuterungen unter InnoDB in MySQL.

Export Gui (SQL)

EN

The module Export GUI (SQL) writes all values of the chosen GUI into a SQL-file. This SQL-file can be loaded in each other Mapbender installation. In this way it is possible to export, save, relay and modify GUIs very easy. Choose a GUI from the list, which you like to export.

After choosing a GUI the SQL-strings are shown. Now you can save, copy or relay them.

Notice: After import of a gui the gui exists in the database but is not owned by anyone. You have to add a row in the table gui_mb_user

DE

Das Modul Oberfläche exportieren (SQL) schreibt alle Werte der ausgewählten GUI in eine SQL Datei. Diese SQL Datei kann in jede andere Mapbender Installation eingelesen werden. Hiermit können GUIs ohne viel Aufwand exportiert, gesichert, weitergegeben und bei umfangreichen Änderungen auch modifiziert werden. Wählen Sie aus der Liste die GUI (Oberfläche), die Sie exportieren möchten.

Nachdem eine Oberfläche ausgewählt wurde, werden die SQL-Befehle angezeigt. Diese können nun gesichert, kopiert oder weitergegeben werden.

Hinweis: Nach dem Einspielen einer Oberfläche , ist diese noch keinem Nutzer zugeordnet. In der Tabelle gui_mb_user muß noch eine Zeile eingefügt werden.


contact

Kontakt: astrid_emde@osgeo.org

Übung 3: GUI

Benutzer-/ Gruppenadministration

  • Benutzerverwaltung

User Management

EN

Mapbender provides a flexible user management, which has developed with the users demands in daily handling with complex GDI architectures. The user management is able to inherit hierarchy, to client- and billable, which is especially usefull for broker, provider and other institutions with many groups. Please notice that the authorization of the users happens with an allocation to a gui and is cumulative. For this reason it is necessary tp plan and manage projects very carefully.




DE

Mapbender verfügt über eine flexible Benutzerverwaltung, die sich mit den Anforderungen der Anwender im täglichen Umgang mit komplexen GDI-Architekturen entwickelt hat. Die Benutzerverwaltung kennt Vererbung von Hierarchien, ist mandanten -und abrechnungsfähig, was den Einsatz für Broker (Vermittler), Datenanbieter und große Institutionen mit vielen Arbeitsgruppen ermöglicht. Beachten Sie, dass die Berechtigung der Anwender über die Zuordnung zu einer GUI erfolgt und kumulativ ist. Es ist deshalb zwingend erforderlich, Projekte sehr genau und sauber zu planen und zu verwalten!

  • Benutzer anlegen und editieren

Zum Anlegen eines neuen Benutzers wird aus der Rubrik Benutzerverwaltung, der Unterpunkt Benutzer anlegen und editieren ausgewählt (EDIT USER).

Füllen Sie die Felder aus und bestätigen Sie über die Schaltfläche <save>. Um Daten eines bereits vorhandenen Benutzers zu ändern oder diesen zu löschen, wählen Sie den Namen aus dem Listenfeld User aus und ändern die Werte. Zum Löschen eines Benutzers klicken Sie auf die Schaltfläche <delete>.

Hinweis Beachten Sie, dass Benutzer nur vom ihrem Ersteller ("OWNER") geändert oder gelöscht werden können! Ein Anwender kann sich somit im Normalfall nicht selbst löschen oder ändern. Der Ersteller ("OWNER") eines Benutzers kann nur manuell direkt in der Datenbank geändert werden. Hierfür wird in der Tabelle <mb_user> das Feld <mb_user_owner> auf die ID des Benutzers (<mb_user_id>) gesetzt, der den Besitz übernehmen soll. Ein Benutzer kann nicht mehr verwaltet werden, sobald der zugeordnete Besitzer aus der Datenbank gelöscht wurde! Durch manuelle Zuordnung eines neuen Besitzers kann der Benutzer wieder verwaltet werden.

Formularfelder des Benutzers

Feld Wert Erläuterung
Name Eingabe erforderlich Der Benutzername muss im System eindeutig sein, ggf. wird eine Meldung angezeigt.
Password Eingabe erforderlich Das Passwort des Benutzers wird verschlüsselt in der Datenbank hinterlegt und kann im Mapbender2 nicht dekodiert werden.
Owner automatisch Der angemeldete Benutzer, der einen neuen Benutzer anlegt, wird dadurch dessen Besitzer. Nur der Besitzer kann die Daten des Benutzers ändern bzw. ihn aus dem System löschen.
Description optional Eine Beschreibung zu dem Benutzer.
Login_count default 0 Ein Benutzer kann maximal dreimal (Default-Wert, Anzahl ist konfigurierbar über mapbender.conf) hintereinander ein falsches Passwort eintragen, danach wird der Zugriff auf das System gesperrt, bis der zuständige Besitzer den Login_count wieder zurückgesetzt hat (von 3 auf 0). Jede erfolgreiche Anmeldung setzt den Login_count (Feld mb_user_login_count) automatisch zurück auf den Wert 0.
Email optional Emailadresse, um ggf. Meldungen (z.B. bei Verlust des Passworts) an den Benutzer zu schicken.
Phone optional Es ist geplant ein SMS-Modul einzubinden über das der Anwendern benachrichtigt werden kann.
Department optional Zusätzliche Information.
Resolution default 72 Bildschirmauflösung des Benutzers für eine maßstabs- gerechte Darstellung der Karte. Beachten Sie die Hinweise zum maßstäblichen Drucken.
  • Gruppe anlegen und editieren

Gruppe anlegen und editieren

  • Benutzer in Gruppe eintragen

Benutzer in Gruppe eintragen

  • Gruppe mit Benutzern bestücken

Fill group with users

EN

(deutsche Version weiter unten!)


After creating a new group insert users with the category 'user administration'and the module 'user in group'. The following form opens (see below). First choose a group from the list GROUP. Following mark the user, which you like to insert, in the list USER. Insert the user in agroup by move the chosen user to the list SELECTED USER with the button PfeilRechts (arrow to the right).

PfeilLinksRemove a user from a group by pushing the button (arrow to the left).
grupbest.gif





DE

Nach anlegen einer neuen Gruppe kann diese über das Modul Gruppe mit Benutzern bestücken aus der Rubrik Benutzerverwaltung mit Benutzern bestückt werden. Das folgende Formular öffnet sich (s.u.). Wählen Sie zunächst eine Gruppe aus dem Listenfeld GROUP aus, anschließend markieren Sie einen Benutzer aus dem Listenfeld USER. Über die Schaltfläche (Pfeil nach rechts)PfeilRechtskann der ausgewählte Benutzer in das Listenfeld SELECTED USER verschoben und so dieser Gruppe zugeordnet werden.

PfeilLinksDurch die Schalttfläche (Pfeil nach links)  wird der Benutzer aus der Gruppe entfernt.
grupbest.gif
  • Benutzer Zugriff erteilen

Give user access

EN

With the allocation of a user to a gui, the users gets access functions and map services of this gui. If the group of this user is allocate to a gui, he also gets access to all functions and map services of the gui. Please notice the security implications.


  • Einem Benutzer Zugriff auf mehrere Oberflächen erteilen | Give user access to several guis

Give user access to several GUIs

(deutsche Version weiter unten!)

EN

Chose the category Authorization and the menu item Allow one user to access serveral guis to give a new user access to several guis. The following forms opens:

benutzerzu.gif

After choosing a user from the list USER mark the name of the gui in the list GUI. PfeilRechtsMove the marked gui with the button to the list SELECTED GUI and the user gets access.


File:Schalt2.gif "" This button removes the marked gui and access for this user will be denied.




DE

Um einem neu angelegten Benutzer gleichzeitig Zugriff auf mehrere Oberflächen zu erteilen, wird aus der Rubrik Benutzerzugriff erteilen der gleichnamige Unterpunkt gewählt. Das folgende Formular öffnet sich:

benutzerzu.gif

Nach der Auswahl eines Benutzers aus dem Listenfeld USER wird eine Oberfläche aus dem Listenfeld GUI markiert. PfeilRechtsDurch die Schaltfläche wird die markierte GUI in das Listenfeld SELECTED GUI verschoben, der ausgewählte Benutzer erhält Zugriff.


File:Schalt2.gif "" Die Schalttfläche entfernt die markierten GUI aus dem Zugriff des Benutzers.


  • Oberfläche mehreren Benutzern zuordnen | Allocate a gui to several users

Allow several users access to a GUI

(deutsche Version weiter unten!)

EN

To allow several users access to a gui choose the category 'Authorization' and the menu item 'Allow several users access to a gui'. The following from opens:

zuord.gif

First choose a gui from the list 'GUI'. Subsequently mark a user from the list USER. Move the marked user with the button (arrow to the right) to the list SELECTED USER. Now the selected gui is allocated to the user. Remove a marked user with the button (arrow to the left) and his access is denied.




DE

Um eine Oberfläche mehreren Benutzern zuzuordnen, wird aus der Rubrik Benutzerzugriff erteilen der gleichnamige Unterpunkt ausgewählt. Das folgende Formular öffnet sich:

zuord.gif

Auch hier ist zunächst eine Oberfläche aus dem Listenfeld GUI auszuwählen. Anschließend wird ein Benutzer aus dem Listenfeld USER markiert. Durch die Schaltfläche (Pfeil nach rechts) kann der markierte Benutzer in das Listenfeld SELECTED USER verschoben und so die ausgewählte Oberfläche dem markierten Benutzer zugeordnet werden. Durch die Schaltfläche (Pfeil nach links)wird dem markierten Benutzer der Zugang zu einer Oberfläche wieder entzogen.


  • Einer Gruppe mehrere Oberflächen zuordnen | Allocate a group to several guis

Allow one group access to several GUIs

EN

(deutsche Version weiter unten!)

To allow one group access to several GUIs choose the category 'Authorization' and then the menu item 'Allow one group access to several GUIs'. The following forms opens::

gruppezu.gif

First choose a group from the list GROUP. Subsequently mark a gui from the list GUI. Move the marked gui with the button (arrow to the right) to the list SELECTED GUI and allocate the selected group to the marked guis. Remove the marked guis from the group with the button (arrow to the left).




DE

Um einer einzelnen Gruppe mehrere Oberflächen zuzuordnen, wird aus der Rubrik Benutzerzugriff erteilen der gleichnamige Unterpunkt ausgewählt. Das folgende Formular öffnet sich:

gruppezu.gif

Zuerst muss wiederum eine Gruppe aus dem Listenfeld GROUP ausgewält werden. Anschließend wird eine Oberfläche aus dem Listenfeld GUI markiert. Durch die Schaltfläche (Pfeil nach rechts)wird die markierte Oberfläche in das Listenfeld SELECTED GUI verschoben und so die ausgewählte Gruppe der markierten Oberfläche zugeordnet. Durch die Schalttfläche (Pfeil nach links)wird die markierte Oberfläche einer Gruppe wieder entzogen.


  • Einer Oberfläche mehrere Benutzer zuordnen | Allocate one gui to several users

Allow several groups access to one GUI

(deutsche Version weiter unten!)

EN

To give several groups access to one gui choose the category 'Authorization' and the menu item 'Allow several groups access to one GUI'. The following form opens:

oberzu.gif

First choose a gui from the list 'GUI'. Subsequently mark a group from the list 'GROUP'. Move the marked group with the button (arrow to the right) to the list'SELECTED GROUP'. Now the chosen gui is allocated to the marked group. Remove the marked group with the button (arrow to the left).




DE

Um einer einzelnen Oberfläche mehrere Benutzer zuzuordnen, wird aus der Rubrik Benutzerzugriff erteilen der gleichnamige Unterpunkt ausgewählt. Das folgende Formular öffnet sich:

oberzu.gif

Auch hier erfolgt zuerst eine Auswahl einer Oberfläche aus dem Listenfeld GUI. Danach wird eine Gruppe aus dem Listenfeld GROUP markiert. Durch die Schaltfläche (Pfeil nach rechts) wird die markierte Gruppe in das Listenfeld SELECTED GROUP verschoben und die ausgewählte Oberfläche kann so der markierten Gruppe zugeordnet werden. Durch die Schaltfläche (Pfeil nach links) kann aus der markierten Gruppe eine Oberfläche wieder entfernt werden.



DE

Durch die Zuordnung eines Benutzers zu einer GUI erhält der Benutzer Zugriff auf alle in der GUI enthaltenen Funktionen und Kartendienste. Auch wenn die Gruppe des Benutzers einer GUI zugeordnet wird, erhält der Benutzer automatisch Zugriff auf alle in der GUI enthaltenen Funktionen und Kartendienste. Beachten Sie die damit verbunden Sicherheitsimplikationen.

  • CreateUser | Benutzer erzeugen

Description

english

This module is used by the Mapbender Portal Site (./mapbender/http/index.html) to enable people to create their own user account. It can be (de-)activated in Mapbender.conf.

Create a new user

Creates a new Mapbender user account. A name and password are required, names have to be unique. The email address is optional, it can be used to receive a new password if the current one is lost.

Deutsch

Dieses Modul ist in die Portalseite von Mapbender (./mapbender/http/index.html) eingebunden und ermöglicht es Anwendern sich selbst eine Kennung mit Passwort zu erstellen. Es wird in der Datei Mapbender.conf (de-)aktiviert.

Benutzer erzeugen

Dieses Modul erzeugt Mapbender Benutzerkennungen. Die Angabe einer Benutzerkennung und Passwort sind obligatorisch. Die Angabe der Email Adresse ist optional und wird verwendet, um ein neues Passwort anzufordern.

Files

For this module the following files are required / Für dieses Modul werden die folgenden Dateien benötigt:

SQL

Use this sql statement to insert this module in the corresponding gui / Mit diesem SQL kann das Modul in die entsprechende GUI eingefügen werden:

  • ChangePassword | Passwort ändern

Description

English

Notice: If you are a Mapbender Operator and need to create a new password for root because you forgot or misplaced it, go to the Installation instructions page to find the SQL that will do that for you.

Functionality

This module implements online changing passwords for logged users.

Deutsch

Hinweis: Um in einer produktiven Mapbender Installation ein neues Passwort per SQL zu ändern lesen Sie bitte den Abschnitt Datenbank in der Installationsanleitung.

Funktionalität

Dieses Modul ermöglicht eine Online-Änderung des Kennwortes eines angemeldeten Anwenders.

Files

For this module the following files are required / Für dieses Modul werden die folgenden Dateien benötigt:

SQL

Use this sql statement to insert this module in the corresponding gui / Mit diesem SQL kann das Modul in die entsprechende GUI eingefügen werden:



  • Gruppe

EN

Create and edit group

Create a new group under the category 'User Management' and the module 'Create and edit group'. A formular pops up. Fill in the correct values in the fields and save them with the button 'save'. To change or delete the data of an existing group, first choose this group from the upper selective list 'GROUP'. Change the values and save them with the button 'save'. Delete a group with the button 'delete'.


Enter user in groups

Open in the category 'User Management' the link 'Enter user in groups'. A formular pops up. After choosing a user from the selective list USER, choose one or more groups from the selective list GROUP. Move the marked groups in the selective list SELECTED GROUP with the button 'arrow to the right'. So the user gets access to all guis and their functions and map services. Remove a user from a group with the button 'arrow to the left'.




DE

Gruppe anlegen und editieren

Eine neuen Gruppe wird über die Rubrik Benutzerverwaltung und das Modul Gruppe anlegen und editieren erstellt. Ein Formular öffnet sich. In die Felder werden die entsprechenden Werte eingetragen und abschließend durch das Klicken der Schaltfläche save gespeichert. Um die Angaben einer bereits vorhandenen Gruppe zu ändern oder zu löschen, wird diese zunächst aus dem oberen Listenfeld GROUP ausgewählt. Ändern Sie die entsprechenden Werte und speichern Sie die Änderung mit der Schaltfläche save. Zum Löschen einer Gruppe drücken Sie die Schaltfläche delete.

Benutzer in Gruppen eintragen

Öffnen Sie aus der Rubrik Benutzerverwaltung die Unterpunkte Benutzer in Gruppen eintragen. Ein Formular öffnet sich. Nach der Auswahl eines Benutzers aus dem Listenfeld USER wählen Sie eine oder mehrere Gruppen aus dem Listenfeld GROUP aus. Durch die Schaltfläche (Pfeil nach rechts) werden die markierten Gruppen in das Listenfeld SELECTED GROUP verschoben. Der Benutzer erhält damit Zugriff auf alle GUI und darin enthaltene Funktionen und Kartendienste. Über die Schalttfläche (Pfeil nach links) kann der Benutzer wieder aus den Gruppen entfernt werden.


Übung 4: Benutzer und Gruppenadministration

GUI - individuelle Anpassungen

  • Oberfläche_gestalten

Design gui

(deutsche Version weiter unten!)

EN

A GUI can be configured quiet differently. Examples for GUIs can be seen e.g. on this site http://www.mapbender.org/ in the Gallery.

Insert images, logos etc. (gif):

In the category 'interface management' under the menu item 'Edit GUI-Elements' create new elements by giving a new id and push the button save. Insert in the field Comment a short description for the new element which is easy to recognize. To include a logo or image specify the according HTML-tag img for graphics. Make a reference to the image by filling in the relative or absolute path in the line SRC. Insert the values top, left, width and height to make the position of the image. Use the 'Z-Index' in case of intersection with other graphic objects. Rendering takes place according to this value (0 references the bottom, above that lays 1, above that 2, etc.).

Areas:

With the help of design elements like coloured areas, it is easy to create nice layouts (shadows, frames). Create a new element as an area without much disc space: specify HTML-tag 'div', also a number of pixels for the position (top, left) and the size (width, height). E.g. create a red area with the parameter styles and the entry background-color:#ff0000. Insert a 0 (Null) in the 'Z-Index' and you have a red background. Notice that the other elements of the GUI need now a 'Z-Index' = 1 or higher.

Move several elements at the same time:

Maybe you want to insert a header in the GUI with your own logo and you have to move all elements of the GUI downwards. For this reason a SQL-statement is helpful which will be processed directly into a MySQL frontend (e.g. PhpMyAdmin or MySQL-Front). Because all GUI-elements are stored in the database you are able to move all or some of them by execute the following SQL:

SQL-string:

UPDATE gui_element SET e_top=e_top+80 WHERE fkey_gui_id='Name_of_my_GUI' AND e_top >=350

(This SQL-string moves all elements, which are 350 pixel under the upper edge of the window, some more 80 pixel downwards).

Notice:

Please notice to insert the name of your GUI in the string <fkey_gui_id>, otherwise you move the objects of all GUIs!


DE

Eine Oberfläche (GUI) kann sehr unterschiedlich gestaltet werden. Beispiele für GUIs können z.B. auf der Seite http://www.mapbender.org/ unter dem Menüpunkt Galerie eingesehen werden.

Einfügen von Bildern, Logos o.ä. (gif):

In der Rubrik Oberflächenverwaltung unter dem Menüpunkt Oberflächenelemente editieren können neue Element erzeugt werden, indem eine neue ID eingeben und der Knopf Save gedrückt wird. Tragen Sie in dem Feld Comment eine kurze Beschreibung für das neue Element ein, der leicht wiederzuerkennen ist. Für das Einbinden eines Logos oder Bildes wird der entsprechende HTML-Tag img für Graphiken angegeben. Durch Angabe des relativen oder absoluten Pfades in der Zeile SRC wird das Bild referenziert. Positioniert wird das Bild durch die Werte Top, Left, Width und Height. Bei Überschneidungen mit anderen Graphikobjekten ist der 'Z-Index' anzugeben. Entsprechend diesem Wert erfolgt die Darstellung (0 referenziert die Grundfläche, darüber liegt 1, darüber liegt 2, usw.).

Flächen:

Mit Hilfe von gestalterischen Elementen, wie farbigen Flächen, lassen sich leicht ansprechende Layouts (Schattierungen, Rahmen) erstellen. Wenn bei einem neuen Element als HTML-Tag div sowie Pixelangaben für die Positionierung (Top, Left) und Größe (Width, Height)angegeben werden, kann eine Fläche erzeugt werden ohne viel Speicherplatz zu verbrauchen. Über die Angabe Styles und z.B. den Eintrag background-color:#ff0000 wird eine rote Fläche erzeugt, die durch den Z-Index=0 im Hintergund steht. Natürlich müssen die vordergründigen Elemente mit Z-Index=1 oder höher versehen sein.

Verschieben von mehreren Elementen gleichzeitig:

Falls z.B. eine Kopfzeile mit dem eigenen Logo einfügt werden soll, so ist es sinnvoll alle sichtbaren GUI-Elemente auf einmal nach unten zu verschieben. Hier kann ein SQL-Befehl hilfreich sein, der direkt in ein MySQL Frontend eingetragen wird (z.B. PhpMyAdmin oder MySQL-Front). Da alle GUI-Elemente in der Datenbank gespeichert sind, können mit Hilfe des unten angegeben Befehls alle oder mehrere Elemente gleichzeitig positioniert werden:

SQL-Befehl:

UPDATE gui_element SET e_top=e_top+80 WHERE fkey_gui_id='Name_meiner_GUI' AND e_top >=350

(Dieser SQL-Befehl verschiebt alle Elemente, die 350 Pixel unterhalb der Oberkante des Fensters positioniert sind um weitere 80 Pixel nach unten).

Hinweis:

Achten Sie drauf, dass Sie bei SQL-Befehlen immer das Feld <fkey_gui_id> mit dem Namen der GUI parametrieren, da sonst die Objekte aller GUIs verschoben werden!


  • GUI_Management

Die Oberflächenverwaltung beinhaltet folgende Möglichkeiten:


Übung 5: GUI - Individuelle Anpassungen

Übung 6: Reiterstruktur mit dem Element tabs

Übung 7: WMS als Hintergrundkarte

Ordnerbaum konfigurieren und einbinden (treeConfGDE)

Create TreeGDE

(deutsche Version weiter unten!)

EN

There are different possibilities to integrate map services and their containing levels in an application. Till Mapbender version 1.6 the levels of an wms were listed as a static list one below the other in the left part of the application. With growing number of map services and containing levels this list was just too long. For this reason the module <treeGDE> was implemented in Mapbender version 1.8 which has a dynamic tree structure. In this tree structure a wms is displayed as a folder which can be opened and containing the levels. There are several types. The module <tree_GDE> refreshs the main mapframe automatically after activating a level (activate checkbox!). But that doesn't the module <tree_GDE_1>, therefor the GUI should contain the button refresh or the application is managed by other modules. The module <treeConfGDE> enlarges the tree structure with manual configuration: levels may be nested as much as desired, so that the user just have to click the different checkboxes to activate or deactivate several layers of even different wms at the same time. (Image isn't available yet). To create an own tree structure with the simple module <tree_GDE> you have to choose a GUI first containing a wms already. The module !TreeConfGDE is loaded with Edit GUI-Elements into the according GUI.

Notice: This module requires a good structure, because it is not possible to move levels and folders that easy. Nobody considered this in fact not laborious functionality as necessary. If you disagree (we too) please contact us by sending a mail to the User Mailing List. Or intend your data structure very carefully from the beginning so you haven't to move anything afterwards.

  • insert folder/layer: To insert a new folder/layer choose first the GUI which you want to edit. In the left window the according tree structure of the chosen GUI appears. Insert a name for the new folder/layer in the textfield description. Choose the desired service from the field wms. Following choose in the field folder or layer if a folder or layer should be inserted. The field position defines wether a new folder is inserted behind or in an existing folder.

With these two options you have the possibility to create a parallel or nested folder structure. Please notice that the folder symbol will be displayed not until you fill in some content. With an empty folder you see only the writing.

  • delete folder: To delete a new folder first choose the according GUI. In the left window appears the tree structure of the chosen GUI. Activate the radiobuttons in the left window of the field which you want to delete and push the button delete. The changes can be seen in the left window.
  • change folder: To change a new folder first choose the GUI again. In the left window appears the tree structure of the chosen GUI. Insert a name in the field description. Subsequently activate the radiobutton in the left window of the field you like to change. The changed name appears in the left window when you push the button change.
  • connect layers: The button 'connect layers' gives you the possibility to display to seperate layers in a single one. That means: by activating a radiobutton of a layer in the tree structure and the choice of a wms and the according layer you are able to display them connected by pushing the button 'connect layers'.

DE

Es gibt unterschiedliche Möglichkeiten Kartendienste und die darin enthaltenen Ebenen in eine Anwendung zu integrieren. Bis zur Version Mapbender 1.6 wurden die Ebenen eines WMS als statische Liste im linken Bereich der Anwendung untereinander aufgelistet. Mit zunehmender Anzahl an Kartendiensten und enthaltenen Ebenen wurde diese Liste unpraktisch lang. Deshalb wurde mit der Version 1.8 das Modul TreeGde implementiert, das eine dynamische Baumstruktur abbildet. Dabei werden WMS als Ordner dargestellt, die aufgeklappt werden können und Ebenen enthalten. Es gibt davon mehrere Varianten. Das Modul TreeGde zeichnet beim Aktivieren einer Ebene (Häkchen setzen) das Hauptkartenfenster automatisch neu. Das Modul treeConfGDE erweitert die Baumstruktur um manuelle Konfiguration: Ebenen können beliebig tief geschachtelt werden. Ausserdem können Ebenen verbunden werden, so dass der Anwender nur noch ein Häkchen setzen muss, um automatisch mehrere Ebenen sogar unterschiedlicher WMS gleichzeitig an- oder auszustellen. (Abbildung liegt noch nicht vor). Um eine eigene Verzeichnisstruktur mit dem einfachen Modul TreeGde zu erstellen, muss zunächst eine GUI ausgewählt werden, in die bereits mindestens ein WMS geladen wurde. Das Modul treeConfGDE wird über Edit GUI-Elements zu der entsprechenden GUI hinzu geladen. Achtung! Das Modul treeGDE sollte dann ausgeschaltet sein!

Hinweis: Es ist möglich Ebenen und Ordner mittels des Moduls/Buttons WMS_preferences auch nachträglich zu verschieben.

  • Ordner/Ebene einfügen: Zum Einfügen eines neuen Ordners/Ebene wird zuerst oben rechts die GUI ausgewählt, die bearbeitet werden soll. Im linken Fenster erscheint die entsprechende Baumstruktur der ausgewählten GUI. In das Eingabefeld Beschriftung (Labeling) wird ein Name für den neuen Ordner/Ebene eingegeben. Über das Feld WMS kann der gewünschte Service für die Ebene ausgewählt werden (beim Anlegen eines leeren Ordners sollte kein WMS gewählt werden, ansonsten wird nach dem Layer gefragt, den man ja noch nicht angeben möchte). Anschließend wird im Feld Ordner oder Ebene ausgewählt, ob ein Ordner oder eine Ebene eingefügt werden soll. Mit dem Feld Position wird festgelegt, ob der neue Ordner hinter oder in einem bereits existierenden Ordner (mit dem Radio-Button auszuwählen) eingefügt wird. Soll die Ebene default sein, muss dies unter WMS Gui Einstellungen entsprechend eingestellt werden. Ist sie damit voreingestellt und im Ordnerbaum wird der Layer nicht erstellt, erscheint ihr Kartenbild trotzdem.

Mit diesen beiden Optionen besteht die Möglichkeit eine parallele oder ineinander verschachtelte Ordnerstruktur zu erstellen. Bitte beachten, dass das Ordnersymbol erst dargestellt wird, nachdem dem Ordner Inhalte hinzugefügt wurden. Ein leerer Ordner wird lediglich als Schriftzug dargestellt.

  • Ordner löschen: Zum Entfernen eines neuen Ordners muss zuerst die GUI ausgewählt werden. Im linken Fenster erscheint die entsprechende Baumstruktur der ausgewählten GUI. Mit Hilfe des Radiobuttons kann im linken Fenster das zu löschende Feld markiert und abschließend über die Schaltfläche löschen entfernt werden. Die Änderung wird im linken Fenster sichtbar.
  • Ordner ändern: Zum Ändern eines neuen Ordners wird zuerst wieder die zu bearbeitende GUI ausgewählt. Im linken Fenster erscheint die entsprechende Baumstruktur der ausgewählten GUI. Im Feld Beschriftung wird ein Name eingegeben. Danach wird mit Hilfe des Radiobuttons im linken Fenster das zu ändernde Feld markiert. Der geänderte Name erscheint im linken Fenster durch das Betätigen der Schaltfläche ändern.
  • Ebenen verbinden: Die Schaltfläche Ebenen verbinden gibt die Möglichkeit zwei separate Ebenen in einer einzelnen darzustellen. D.h. durch anklicken eines Radiobuttons einer Ebene im Verzeichnisbaum und der Auswahl eines WMS sowie einer zugehörigen Ebene, können diese mit Hilfe der Schaltfläche Ebene verbinden zusammen dargestellen werden.
  • ConfTreeGde

Description

NOTE:
This Module is deprecated and doesn't work with Mapbender > 2.5

You could take a look at this Module if you search a similar functionality for Mapbender >=2.6!

english

The configurable tree allows to combine several WMS into one layer and to cascade any number of folders in a collapsible structure.

The administration interface is not yet very nice to use... :-)

Functionality
Open Issues
  • Semantic highlighting of scale limits does not work yet in this version. ImplementMe?
New Features
  • Administration: reorganize tree
    • Select a branch and "move up"
    • Select branch and include in different project
    • etc...
Notice

This module cannot be used in conjunction with setBackground!

deutsch

Der konfigurierbare Verzeichnisbaum erlaubt es verschiedene WMS in einem Layer zu kombinieren und jede Anzahl von Ordnern in einer zusammenklappbaren Struktur zu kaskadieren.

Die Verwaltungsoberfläche muss überarbeitet werden.

Funktionalität
Offene Punkte
  • Das Ausgrauen der Ebenen beim Verlassen des entsprechenden Maßstabes funktioniert in dieser Version noch nicht.
Neue Funktionen
  • Administration: Umstrukturierung des Verzeichnisbaums
    • Wählen Sie einen Zweig und "move up"
    • Wählen Sie einen Zweig und binden ihn in ein anderes Projekt ein
    • etc...
Hinweis

Dieses Modul kann nicht in Verbindung mit der Hintergrundkartenauswahl setBackground verwendet werden!

Files

For this module the following files are required / Für dieses Modul werden die folgenden Dateien benötigt:

SQL

Use this sql statement to insert this module in the corresponding gui / Mit diesem SQL kann das Modul in die entsprechende GUI eingefügen werden:

Übung 8: Ordnerbaum konfigurieren

Integration von Mapbender in die eigene Architektur

  • GUI über Link öffnen
  • GUI als iframe einbinden
  • BBOX
  • highlightPOI

Description

english

when Mapbender GUI is opened highlight 1 to n pois with a Symbol and a special text.

Parameter mb_myPOI must be defined in session.conf.

deutsch

Beim Öffnen der GUI werden 1 bis n Punkte mit einem Symbol und Text markiert.

Parameter mb_myPOI in session.conf definieren.

Die markierten Punkte bleiben sichtbar, bis die GUI verlassen wird. Frage: Wie kann man die POIs wieder löschen?

Achtung: das Trennzeichen zwischen Text und Koordinate war bei MB 2.5 und 2.6 die Pipe ("|"). Ab 2.6.1 sind es drei Tiefstriche ("___")!

Element vars

poi_image: path to an image that should be displaed at the highlighted coordinates / Pfad zum Bild, das an den markierten Koordinaten angezeigt werden soll

poi_style: style to display the poi text / Style in dem der Text dargestellt werden soll

poi_width: pixel width of the poi_image / Pixelbreite von poi_image

poi_height: pixel height of poi_image / Pixelhöhe von poi_image

Files

For this module the following files are required / Für dieses Modul werden die folgenden Dateien benötigt:


SQL

Use this sql statement to insert this module in the corresponding gui / Mit diesem SQL das Modul in die entsprechende GUI einfügen:


Example how to open a gui with POI (Mapbender 2.4.x)


Example how to open a gui with POI in Mapbender 2.5 and 2.6.0

Please note: Since Mapbender version 2.5 the URL for opening a gui with POI should look like that (separator for mb_myPOI is now | instead of ,):

Example how to open a gui with POI in Mapbender 2.6.1 and Mapbender 2.7.x

  • mod_setPoi2Scale

English

When Mapbender GUI is opened the client zooms to a coordinate in the defined scale. If no scale is set for the mb_myPOI2SCALE-Parameter the scale from the element_var mod_setPoi2Scale_defScale is used.

Parameter mb_myPOI2SCALE must be defined in session.conf.

Notice

In older versions of this modul the SESSION-variable was named mb_myPOI. The name of the variable changed to mb_myPOI2SCALE, because of conficts with the highlightPOI-modul.


Deutsch

Beim Öffnen von Mapbender wird direkt auf einen POI gezoomt. Rechtswert und Hochwert werden als Get-Parameter übergeben, worauf der Client auf den Punkt mit einem bestimmten Maßstab zoomt.

Angabe des Parameters
  • &mb_myPOI2SCALE=<rechtswert>,<hochwert>,[scale]

Der Maßstab kann ebenfalls als dritter, kommaseparierter Parameter übergeben werden. Ist dieser nicht vorhanden, wird der default-Maßstab der element_vars verwendet.

Parameter mb_myPOI2SCALE in session.conf definieren.

Files

https://mapbender.osgeo.org/source/browse/mapbender/trunk/mapbender/http/javascripts/mod_setPOI2Scale.php

Element Vars (table:gui_element_vars)

  • (var_name=) mod_setPoi2Scale_defScale

EN

mod_setPoi2Scale_defScale

new element var for setPoi2Scale. Hava a look at Mod_setPoi2Scale

  • NAME: mod_setPoi2Scale_defScale
  • VALUE: 5000
  • FUNCTION: default scale to zoom
  • Type: JavaScript Variable

SQL

DE

mod_setPoi2Scale_defScale

Neues Element Var für das Element setPoi2Scale. Mehr unter Mod_setPoi2Scale

  • Default-Maßstab auf den gezoomt werden soll

SQL

Example how to open a gui with POI

  • &mb_myPOI=<x>,<y>,[scale]

Übung 9: Integration von Mapbender in die eigene Architektur

Konfiguration des PDF-Drucks

  • Print

deprecated! Make sure to use PrintPDF with template from 2.7 onwards.

User:Astrid Emde (Module maintainer)

Description

english

With Mapbender Version 2.1.0 pdf-print is used as standard.

With version 2.42 you have the posibility to choose size A4-A0 and landscape or portrait.

Print temporary elements

$theMeasureConfigArray = array(
  "do_fill" => FALSE,          // true or false, shall the polygon be filled?
  "fill_color" => array(       // values for the fill color
    "r" => 128 / 255,
    "g" => 128 / 255,
    "b" => 128 / 255
  ),
  "do_stroke" => TRUE,         // true or false, shall a line be drawn
  "stroke_color" => array(     // values for the line color
    "r" => 254 / 255,
    "g" => 1 / 255,
    "b" => 1 / 255
  ),
  "line_style" => array(       // values for the line style
    "width" => 2,
    "cap" => 'butt',
    "join" => 'miter',
    "dash" => array(10, 6)
  )
);
  • Colors: r, g, b - x / 255 (choose x between 1-254, 0 or 1 won't work!
  • dashed line:
    • "do_stroke" => TRUE
    • "dash" to an appropriate array of values: array(10, 6) => (a line of length 10 and free space with a length of 6)

Source

The Sources you can find under:

  • mapbender/http/print/

Configure the printPDF.conf

  1. In the printPDF.conf you have to configure the path where temporary imagefiles shall be stored. Make sure that the WebServer has write permissions for this directory.

$filename = "/tmp/map_".substr(md5(uniqid(rand())),0,7).".png";

or

$filename = TMPDIR."/map_".substr(md5(uniqid(rand())),0,7).".png";

In case of using the variable TMPDIR. you may have to change the value of this variable in the file mapbender.conf.


  1. Configure the Printframe

You can fill the variables $text1 to $text10 with text, that should be displayed in the printframe. This textes will be displayed above the mapimage. With the variables $text11 to $text17 you can difine the text below the mapimage.

  1. Supported Formats
with the varables $a4 to $a0 you can define wich format shall be supported.
  1. available formats:
$a4 = true;
$a3 = false;
$a2 = false;
$a1 = false;
$a0 = false;
Notice

The pdf-Print generates a png-file. Therefore in the administration you have to choose mapformat png for every WMS of the GUI.


  1. Special Image

To include your own image, e.g. your logo, you can use the variable

$specialImage

Use

$special = true;

to enable this feature. Note: Make sure that the image not contain an alpha channel. In this case the image will be ingnored.


Troubleshooting printPDF

Known error: Fatal error: Cannot redeclare class exception

As of PHP 5.0 there is a predefined class 'exception'. So the PHP parser raises the above mentioned fatal error when calling the Mapbender-Class 'exception'. Future versions of MapBender are likely to have the class renamed to 'mb_exception', to avoid this behaviour.

How do I fix this?
  • Change the class definition in /classes/class_exception.php from class exception { ... to class mb_exception { ...
  • In /classes/class_stripRequest.php change all lines containing new exception to new mb_exception (Most likely there are three instances of this code)



deutsch

Ab der Mapbender Version 2.1.0 erfolgt der Standardausdruck von Mapbender als PDF.

Seit 2.4.2 stehen A4, A3, A2, A1 und A0 Druck zur Auswahl im Hoch- und Querformat.

Temporäre Elemete drucken

$theMeasureConfigArray = array(
  "do_fill" => FALSE,
    "fill_color" => array(
    "r" => 128 / 255,
    "g" => 128 / 255,
    "b" => 128 / 255
  ),
  "do_stroke" => TRUE,
    "stroke_color" => array(
    "r" => 254 / 255,
    "g" => 1 / 255,
    "b" => 1 / 255
  ),
  "line_style" => array(
      "width" => 2,
      "cap" => 'butt',
      "join" => 'miter',
      "dash" => array(10, 6)
      )
  );
  • Farben: r, g, b - x / 255 (x wählen zwischen 1-254)


Sources

Die Dateien, die für den Druck benötigt werden befinden sich unter:

  • mapbender/http/print/

Anpassung der Konfigurationsdatei printPDF.conf

  1. Bitte beachten Sie, dass in der Datei printPDF.conf der Pfad, unter den die temporären Imagedateien abgelegt werden sollen, an Ihre Umgebung angepaßt werden muss. Auf jeden Fall muss sichergestellt sein, dass der Webserver (z. B. Apache) schreibenden Zugriff auf das obige temp-Verzeichnis hat (am einfachsten ein temp-Verzeichnis im www-root (htdocs) des WebServers einrichten und die print.conf entsprechend anpassen).

$filename = "/tmp/map_".substr(md5(uniqid(rand())),0,7).".png";

oder

$filename = TMPDIR."/map_".substr(md5(uniqid(rand())),0,7).".png";

Der Pfad wird anhand der Variable TMPDIR. in der Datei mapbender.conf mitgegeben!

  1. Anpassung des Druckrahmens

Über die Belegung der Variablen $text1 bis $text10 können Sie die Texte, die im Druckrahmen angezeigt werden sollen, festlegen. Diese erscheinen im Druckrahmen oberhalb des Kartenauschnittes. Über die Anpassung der Variablen $text11 bis $text17 kann der Text, der unterhalb der Karte erscheinen soll, angepasst werden.

  1. Formatunterstützung

Über die Belegung der Variablen $a4 bis $a0 können Sie bestimmen welche Formate unterstützt werden sollen.

  1. available formats:
$a4 = true;
$a3 = false;
$a2 = false;
$a1 = false;
$a0 = false;
Hinweis

Beim PDF-Druck wird als Kartenbild ein png erzeugt. Daher muss in der Administration das Mapformat für alle beteiligten WMS auf png eingestellt sein.


  1. Special Image

Um ein eigenes Bild, z.B. ein Logo, einzubinden, benutzen Sie diese Variable

$specialImage

Benutzen Sie

$special = true;

um diese Funktion einzuschalten Hinweis: Stellen Sie sicher, daß sich in dem Bild kein Alpha-Kanal befindet. Das Bild würde sonst ignoriert werden.


Problemlösungen beim PDF Druck

Files

For this module the following files are required / Für dieses Modul werden die folgenden Dateien benötigt:

SQL

Use this sql statement to insert this module in the corresponding gui / Mit diesem SQL kann das Modul in die entsprechende GUI eingefügen werden:

css Style for printPDF.

In Mapbender 2.5 the printPDF needs an Element-Var that links the css.

Search for GUIs where is no link to css:

Give them a css by Admin-GUI or ...

  • PrintPDF.conf

Anpassungen für PDF-Druck

ImplementMe

Pfad:

/mapbender/http/print/

Versionen

printPDF.conf ($type = 'iframe'; für Drucken aus Tabulator)
printPDF_b.conf ($type = 'window'; für Drucken vom Button)

Links:

Print
Troubleshooting_printPDF

siehe auch

  • Print_PDF_Module_Configuration_HQ_Option

EN

(deutsche Version weiter unten!)

Description

Print PDF is being extended to support additional features. Check for the current status in the Development page.

  • Configuration
  • format
  • quality
  • language
  • HQ-print (requires HQ-WMS services which are currently only supported by UMN MapServer
  • Multi Language
  • Comment field editable

You can still become an active supporter of this development. Check out your options in the Feature Market.

Configuration

documentation coming soon (DocumentMe)

Format selection (A4, A3)

documentation coming soon (DocumentMe)

How to add to my GUI

documentation coming soon (DocumentMe)




DE

Beschreibung

Print PDF wird derzeit um zusätzliche Funktionalität erweitert. Den aktuellen Entwicklungsstatus können Sie der Development-Seite entnehmen.

  • Konfiguration
  • Format
  • Qualität
  • Sprache
  • HQ-Druck (benötigt HQ-WMS Dienste, die momentan nur vom MapServer Cheetha unterstützt werden)
  • Mehrsprachigkeit
  • editierbares Kommentarfeld

Sie können über verschiedene Optionen der Funktionsbörse aktiv zur Entwicklung beitragen.

Konfiguration

Dokumentation steht noch aus (DocumentMe)

Formatauswahl (A4, A3)

Dokumentation steht noch aus (DocumentMe)

Wie wird dieses Modul in eine bestehende GUI eingebunden

Dokumentation steht noch aus (DocumentMe)

contact

  • Troubleshooting_printPDF

FAQ

This is a frequently asked questions (FAQ) list. Please add questions and answers in any order. It can be sorted out and ordered later.

No images in /tmp directory

Edit printPDF.conf configuration file see: Print Section "Configure the printPDF.conf"

Settings are correct, still no images

Verify whether the http server (Apache, IE) is allowed to write to the specified /tmp directory.

Adding several layers causes problems

Check whether the getMap requests are correct, sometimes an additional slash (/) is added after the map-file setting messing up requests. You can correct this string directly in the database

Infos zum Drucken aus der Mail-Userliste gesammelt:

Checkliste Print


Beim Browsen wird GetMap vom Client ausgeführt

Beim PDF-Druck wird GetMap jedoch vom Server ausgeführt.

Der Mapbender-Server muss also in der Lage sein, http-Zugriffe auf die WMS-Server auszuführen.

Faustregel: Wenn GetCapabilities für einen Service nicht funktioniert, funktioniert auch GetMap (Druck) nicht.

Anpassungen der php.ini

Siehe php.ini

Drucken

hochqualitativer Druck

Beim hochqualitativen Durck fordert Mapbender ein x-mal (4mal) so großes Bild an und verkleinert dieses dann wieder, so dass es im PDF die korrekte Größe hat.

Wenn Vektordaten im hochqualitativen Druck dargestellt werden werden die Symbole und Schriften in der Darstellung entsprechend kleiner dargestellt. Damit die Schriften und Texte die korrekte Größe behalten, kann für mapServer projekte (mapfile) eine zweite Mapdatei _4.map erzeugt werden (hierfür kann der mapFiler download eingesetzt werden.)

In der rintPDF.conf müssen die Dienste, bei denen die _4.map verwendet werden soll, aufgelistet werden. Dies erfolgt unter:

$highquality = true;
$highqualitymapfiles = array(

"/data/umn/germany/germany_demo.map", "/data/umn/mapbender_user/mapbender_user.map"

);


Ein hochqualitativer Druck erfordert entsprechende Ressourcen, die von den Default-Einstellungen in der php.ini nicht in ausreichendem Maße bereitgestellt werden. Die Auswirkungen zeigen sich u.a. darin, dass ein "Normal"-Druck mit 72 dpi funktioniert, ein Druck mit 288 dpi jedoch leere oder gar keine PNG's erzeugt. Um dies zu umgehen, sollte man ggf. folgende Default-Werte großzügig erhöhen:

memory_limit = 8M
max_execution_time = 30  ; sek
max_input_time = 60      ; sek

post_max_size = 8M

If you want to print very huge images (for example A1 format) you should increase the following parameter:

default_socket_timeout = 6;

PrintPDF

Für das Drucken mit dem Mapbender sind mehrere Skripte verantwortlich, die sich im Verzeichnis "../http/print" befinden. Bei Druckproblemen ist ggf. eine Kontrolle / Anpassung erforderlich.

1. printPDF.conf bzw. printPDF_b.conf


printPDF.conf für Frame

printPDF_b.conf für Window


Welche der beiden Dateien verwendet wird, bestimmt der Parameter "conf=" aus der GUI (s. Eintrag unter "SRC"). Wichtig ist bei beiden die Zeile 3:


$filename = ".../tmp/map_".substr(md5(uniqid(rand())),0,7).".png";


Die Angabe muss auf ein existierendes Temp-Verzeichnis zeigen. Der Pfad kann sowohl relativ als auch absolut angegeben werden. Auf dieses Verzeichnis muss der Anwender schreibenden Zugriff haben! Sonst können die für den Druck benötigten PNG-Dateien nicht abgespeichert werden.

Die Zeile

$matching = false; (bzw. true)

bestimmt, ob für den hochauflösenden Druck eine speziell angepaßte Map-Datei zum Einsatz kommen soll. Diese kann man mit dem unter "..http/tools" zu findenden Skript "mapFiler.php" erstellen, das sämtliche Größenangaben (z.B. SIZE) mit einem bestimmten Faktor multipliziert. Die Datei wird unter dem Originalnamen mit der Endung *_4.map abgespeichert. Soll diese Datei bei der Druckerzeugung zur Anwendung kommen, so muss man die URL anpassen. Das geschieht durch ein "replace". Die auszutauschenden Strings werden mit den beiden nächsten Zeilen festgelegt.


$pattern = ".map"

$replacement = "_4.map"


Diese Angaben werden in dem Skript "mod_printPDF_pdf.php" verwendet.

Hinweis: Falls das replace nicht klappt, kann man den Vorgang auch direkt in die "mod_printPDF_pdf.php" durchführen lassen, indem man beide Zeilen dorthin kopiert.


Eine einfachere Alternative ist seit Mapbender 2.1.0 die Verwendung der Variablen

$highquality = true;

und

$highqualitymapfiles

Mit der Letztgenannten erstellt man eine Liste (Array) mit Map-Dateien, die für einen hochauflösenden Druck verwendet werden sollen. Diese Liste wird in der "mod_printPDF_pdf.php" abgefragt und das Replace dort durchgeführt.


Die Zeile $unlink = true sollte vorübergehend auf "false" gesetzt werden, damit die PNG's nicht gelöscht werden. Damit kann kontrolliert werden, ob überhaupt Bilder erzeugt werden.

2. mod_printPDF_pdf.php

Auskommentieren der Zeilen:

$i = new weldMaps2PNG(implode("___",$array_urls),$filename);

und

$pdf->addPngFromFile($filename, $mapOffset_left, $mapOffset_bottom, $map_width, $map_height);


Dadurch kann man testen, ob überhaupt eine PDF-Datei mit einem dann "leeren Kartenrahmen" gezeichnet wird.

Client-Probleme unter Windows

In einer Windows-Umgebung kann es zu Problemen beim Anzeigen der PDF-Datei über Browser-Plugin kommen. Die Kombination IE 6.0 und AdobeReader 7.0 funktioniert am Besten. Dieses Problem kann man umgehen, indem man einen http-Link auf die pdf-Datei generiert. Wenn der Nutzer diesen Link aktiviert wird die PDF-Dateizuordnung vom OS genutzt und nicht das fehlerhafte Plugin des Acrobat im IE. ...

Probleme mit Anzeige im Acrobat Reader unter Windows

Unter Windows kann es zu Problemen mit der Anzeige der PDF-Datei im Browser kommen, wenn der Acrobat Reader zeitgleich im Hintergrund versucht, Aktualisierungen herunterzuladen. Da sich der Aktualisierungsdialog (Pop-Up-Fenster) nicht automatisch auf Fokus setzt, bleibt er im Hintergrund und verursacht bei der Anzeige der PDF-Datei im Browser eine leere Seite. Wenn dies passiert, sollte man zum Test alle Fenster minimieren, um auszuschließen, dass das Aktualisierungsfenster des Acrobat Reader aufgegangen ist. Ist es offen, muss es erst geschlossen werden, bevor die PDF-Druckdatei im Browser angezeigt werden kann.

Umstellung MB 2.0 auf MB 2.1

Gui-Element print1 durch printPHP ersetzen.

In SRC oder ATTRIBUTES wird der Name der Conf-Datei mit dem Parameter "&conf=" an mod_printPDF.php übergeben.

Großformatiger Druck in A1 und A0

Da beim Druck großer Dateien entsprechende Ressourcen benötigt werden, sind die Einstellungen in der php.ini entsprechend großzügig zu dimensionieren (siehe oben). Es ist mit längeren Wartezeiten bei der PDF-Erstellung zu rechnen. Es empfiehlt sich, in der print_pdf.conf $download auf "true" zu setzen. Da vom WMS große Bilder angefordert werden, muss dieser auch Bilder in entsprechnender Größe (Width, Height) liefern können. Ansonsten liefert der WMS eine Fehlermeldung. Dies sollte geprüft werden, bevor der großformatige Druck zur Verfügung gestellt wird.

MAP

MINSIZE / MAXSIZE in der Map-Datei kann zu Problemen beim Drucken führen.

Zunächst mit Mapdateien ohne diese Einträge arbeiten.

  • Temporary_Geographic_Objects_in_Printout

EN

Temporary geographic objects like measurements, highlighted objects, tooltip-texts, etc can be added to the standard PDF printout.

Objects generated from GML should already be available on the server as images.

Open Issues

How to handle the temporary JavaScript objects?



DE

Temporäre geographische Objekte, wie Messungen, Objekte mit Highlight, Tooltip-Texte, etc. können zum Standard PDF-Druck hinzugefügt werden.

Objekte, die von GML generiert wurden, sollten bereits auf dem Server als Bilder verfügbar sein.

Offene Punkte

Wie handhabt man die temporären JavaScript-Objekte?

  • Php.ini

en

php configuration

Adjustments for Mapbender:

allow_url_fopen = on
extension=php_gd2.dll   (nur Windows)
extension=gd.so         (nur Linux)

; Default proxy IP address (if required).
pfpro.proxyaddress = "proxy.xxx.yyy.de"

; Default proxy port.
pfpro.proxyport = 8080

; Default proxy logon.
pfpro.proxylogon = "domaene\user"

; Default proxy password.
pfpro.proxypassword = "xxxxxxxx"

Print

For PDF-Druck you should arise the following default settings:

memory_limit = 8M
max_execution_time = 30  ; sek
max_input_time = 60      ; sek

If you want to print very huge images (for example A1 format) you should increase the following parameter:

default_socket_timeout = 6;


de

Konfigurationsdatei von PHP.

Anpassungen für Mapbender sind an folgenden Parametern notwendig.

allow_url_fopen = on
extension=php_gd2.dll   (nur Windows)
extension=gd.so         (nur Linux)

; Default proxy IP address (if required).
pfpro.proxyaddress = "proxy.xxx.yyy.de"

; Default proxy port.
pfpro.proxyport = 8080

; Default proxy logon.
pfpro.proxylogon = "domaene\user"

; Default proxy password.
pfpro.proxypassword = "xxxxxxxx"

Drucken

Für den PDF-Druck sollte man ggf. folgende Default-Werte großzügig erhöhen:

memory_limit = 8M
max_execution_time = 30  ; sek
max_input_time = 60      ; sek

Bei sehr großen Bildern (z.B. für A1-Druck) sollte der folgende Parameter ebenfalls erhöht werden:

default_socket_timeout = 6; Übung 10: PDF Druck

WFS Einbindung und Konfiguration

  • WFS

Read the technical detail of OGC WFS.


The WFS (Web Feature Service) specification describes access and operations of a geometry, feature or spatial data service.

The capabilities document of a WFS (server) contain the properties (SRS, layers, feature types, etc). OGC WFS clients analyze the capabilities document and provide operations to search them, hihglight and edit returned features.

Read more information about the OGC and find a list of all OGC Specifications. Please download the WFS Specification there (PDF).




DE

Die WFS (Web Feature Service) Spezifikation beschreibt den Zugang und die Operationen auf räumlichen Daten, die von einem Geometriedienst implementiert werden.

Das Capabilities Dokument eines WFS (Server) enthält die Eigenschaften (SRS, layers, feature types, etc). OGC WFS Clients analysieren das Capabilities Dokument und liefern Funktionen, um nach Objekten zu suchen (Filter-Parameter), sie zu markieren und bearbeitete Features zu speichern.

Finden Sie weitere Informationen über das OGC und die Listen aller OGC Specifikationen. Bei Bedarf laden Sie sich dort bitte die WFS Spezifikationen herunter (PDF).

  • WFS_-_Laden

WFS

Zunächst muss ein WFS in die Administrationsdatenbank des Mapbenders geladen werden, damit er für die weitere Konfiguration zur Verfügung steht.

Beschreibung: WFS_Konfiguration

http://wms1.ccgis.de/geoserver/wfs/getCapabilities?REQUEST=getCapabilities&Version=1.0.0&service=WMS
  • WFS_Konfiguration

Vorbereitungen

  • Tabelle (Datenbank) / Layer müssen vom Typ POINT, MULTILINESTRING oder MULTIPOLYGON sein (derzeitige Vorgaben für Mapbender)
  • In der Tabelle muss ein Feld Typ serial (Name egal) mit Primärschlüssel (pk) vorhanden sein (Stand Geoserver 1.5.3). Dieses Feld wird in der Konfiguration des Geoservers und des Mapbenders nacher nicht mehr angezeigt (ist aber notwendig für die fid des gml)
  • Spaltennamen dürfen nicht einen Tabellennamen enthalten
  • Administration aufrufen (im Geoserver)
  • Datastore anlegen (im Geoserver)
  • Featuretype anlegen (im Geoserver)
  • Konfiguration des WFS im Mapbender (siehe detaillierte Beschreibung weiter unten)

WFS Konfiguration

Das Modul zum Laden eines WFS ist in den Administrationsoberflächen 'admin1' und 'admin_xx_services' integriert. Zu beachten ist, dass die benutzerbezogene Verwaltung der WFS-Dienste noch nicht vollständig implementiert ist. Daher sollte dieses Modul nur dem Hauptadministrator zur Verfügung gestellt werden.

WFS Laden

WFS in eine GUI laden

Die Konfiguration des WFS bzw. der Such-Module (Gazetteer) erfolgt über die entsprechenden Module in der Administration des Mapbenders. Zunächst wird ein WFS mit dem Modul 'LOAD WFS' geladen und damit dem System bekannt gemacht. Hier ist eine GUI auszuwählen und anschließend der Pfad oder die URL zu einem WFS-Capabilities-Dokument anzugeben. Nach erfolgreichem Laden der WFS-Capabilities werden die Daten des WFS zur Bestätigung in der Mapbender-Administrationsoberfläche angezeigt. In einem weiteren Schritt muss der WFS konfiguriert werden, um von den verschiedenen Oberflächenmodulen genutzt werden zu können.

Beispiel-Aufruf

http://wms1.ccgis.de/geoserver/wfs?REQUEST=getCapabilities&VERSION=1.0.0&SERVICE=WFS

WFS Konfigurieren

Mit dem Modul 'WFS CONF' wird ein WFS für die weiteren Module konfiguriert. Zunächst wird in der Auswahlliste ein WFS zur Konfiguration ausgewählt. Daraufhin werden alle Layerebenen, die im Geoserver als FeatureType definiert wurden, zur Auswahl angeboten. Nach der Aktivierung eines FeatureTypes können folgende Einstellungen vorgenommen werden:

  • Abstract: Ein frei zu vergebender Name, der der weiteren Identifikation eines konfigurierten WFS dient.
  • Label: Die Überschrift eines Suchdialoges
  • Label_id: Eine eindeutige ID für die Klassenangabe der Stylesheets im Feld 'Style' (s.u)
  • Button: Beschriftung eines Buttons zum Abschicken der WFS-Anfrage
  • Button_id: Eine eindeutige ID für die Klassenangabe der Stylesheets im Feld 'Style' (s.u)
  • Style: Definition der Stylesheets (Design)
  • Buffer: Angabe zum Buffer beim Zoomen auf ein Objekt (in Karteneinheiten)
  • ResultStyle: Angaben zum Layout (Stylesheet) der Ergebnisanzeige (Klassen even/uneven)
  • WZ-Graphics: Auswahl, ob ein clientseitiges Darstellen (im Browser) der Geometrien erfolgen soll
  • Einstellungen zu den einzelnen Attributen:
Konfiguration Attribute
    • geom: Auswahl der Geometriespalte
    • gid: Auswahl der eindeutigen Id (für Transanktionen)
    • search: Attribut soll für die alphanumerische Suche (Textfeld) angeboten werden
    • pos: Position des Textfeldes. Wichtig auch für die Reihenfolge durch Ansteuern über den Tabulator (Barrierefreiheit)
    • minimum_input: Definition einer Mindestanzahl an einzugebenden Zeichen (ab Mapbender >= 2.6)
    • style_id: Angaben zur Stylesheet-Klasse, die im Feld 'Style' vorgenommen werden kann (Layout)
    • upper: Spalte liegt in Großschreibung vor, so dass der Client Eingaben ebenfalls in Großbuchstaben wandelt und somit eine caseinsensitive (ohne Berücksichtigung der Groß-/Kleinschreibung) Suche erfolgen kann.
    • label: Beschriftung des Textfeldes
    • label_id: Angaben zur Stylesheet-Klasse, die im Feld 'Style' vorgenommen werden kann (Layout)
    • show: Werte der Attributspalte werden in der Ergebnisliste angezeigt
    • position: Position der Anzeige in der Ergebnisliste (muss bei Anzeige ungleich 0 sein)
    • show_detail: Werte dieses Attributs werden in einem zusätzlichen Detailfenster angezeigt, falls der gazetteerWFS entsprechend konfiguriert ist (ab Mapbender >= 2.6)
    • detail_position: Position der Anzeige im Detailfenster (muss bei Anzeige ungleich 0 sein). (ab Mapbender >= 2.6)
    • mandatory: Pflichfeld beim Speichern und Updaten
    • html:
      1. Das html-Textfeld kann zur Eingabe durch eine Auswahlliste ersetzt. Der Value des jeweiligen Listeneintrags wird als Wert zum Speichern übernommen. Name und Id der Auswahlliste müssen dem Namen der Attributspalte entsprechen.
      2. Das html-Textfeld kann zusätzlich noch zur Eingabe durch eine Checkbox genutzt werden. Name und Id der Checkbox müssen dem Namen der Attributspalte (hier im Beispiel 'altlastenkataster') entsprechen. Wichtig dabei ist, dass nur einfache Hochkommata genutzt werden. Ein Eintrag kann dann wie folgt aussehen:
      3. Erzeugen von Links in der Detailausgabe:
        • (definieren Sie einen Link im Feld html. Enthält der Rückgabewert einen Link, so wird dieser im Detailfenster als Link angezeigt)
    • html > 2.7.1:
      • Ab 2.7.2 wird das Textfeld durch eine Dropdown Box ersetzt. Hier werden Templates mit einzelnen Modulen zur Auswahl angeboten
        HTML Templates
        1. Textarea
        2. Datepicker
          Datepicker
          • Änderung des Datumsformats:
            <input data='{\"dateFormat\": \"yy-mm-dd\"}' type='text' id='myfield' class='hasdatepicker' />
        3. Selectbox
        4. Checkbox
        5. Upload
    • auth: Beschränkter Zugang auf Features für bestimmte Benutzer oder Gruppen. Das Featuretype element, dass die IDs des Besitzers beinhaltet, muss in der auth-Spalte z.B. $_SESSION["mb_user_id"] enthalten (ab Mapbender >= 2.5)
    • helptext: Sind hier Informationen eingestellt, so wird an dem jeweiligen Feld im Formular ein Hilfesymbol angezeigt. Wenn man auf dieses Symbol klickt, geht im Formular dann der Hilfetext auf. Links werden unterstützt.
    • operator: Definition des Filteroperators für diese Spalte (ab Mapbender >= 2.6)
    • category: Hier lässt sich eine Kategorie für das jeweilige Attribut auswählen. Die Attribute gleicher Kategorien werden im Formular auf einzelnen Seiten angezeigt. Die Reiter des Formulars enthalten dabei den Text aus dem category Feld als Überschrift. Die Überschriften werden alphabetisch sortiert. Will man eine spezielle Reihenfolge vorgeben, bietet es sich an eine Ziffer vor die Kategorie zu schreiben
      Categories

Wichtig für den WFS-T ist die Angabe eines Abstracts sowie die Einstellung der Geometriespalte durch Aktivierung des Radiobuttons. Auch eine eindeutige GID sollte angegeben werden. Steht dafür z.B. keine OID Spalte zur Verfügung, kann hierfür auch die Geometriespalte genutzt werden. Abschließend wird die Konfiguration über die Schaltfläche SAVE gespeichert.

Spätere Änderungen an der Konfiguration sind über den Link editWFSConfiguration möglich. Es erscheint eine Auswahlliste mit den vorhandenen WFS. Nach der Markierung eines Punktes erscheint die Konfigurationsoberfläche, wo Änderungen vorgenommen werden können.

Verbindung zu einer Gui

Die Verbindung eines geladenen WFS-T zu einer Gui erfolgt über den Menüpunkt EDIT GUI-WMS. Nach Auswahl der entsprechenden Gui und des WMS, ist in der tabellarischen Übersicht für jeden Layer eine Schaltfläche setWFS vorhanden. Über diese Schaltfläche wird die Verbindung zu einem definierten FeatureType des Geoserver hergestellt. Durch den vorher vergebenen Abstract ist der entsprechende FeatureType erkennbar, kann markiert und abgespeichert werden. Anschließend wird auf der Schaltfläche setWFS die ID-Kennung des jeweiligen FeatureTypes sichtbar, z.B. WFS: 10. Wurde als Basis für die Gui die GUI Digitize gewählt, ist der WFS-T nun funktionsfähig.

Hinweis

Die WFS-Auswahl wird über die Abfragbarkeit eines Layers gehandelt. Daher müssen die Ebenen, die mit einem WFS gekoppelt werden, abfragbar sein (queryable=1) (s. auch WFS - WMS Kopplung).

Konfiguration einer GUI zuweisen

Damit die oben beschriebene Konfiguration wirksam wird, muss abschließend diese der gewünschten Gui zugewiesen werden. Dies geschieht über das Modul WFS_GUI.

Wählen Sie zuerst den entsprechenden WFS aus der Liste aus. In der Liste WFS Configuration List erscheint/erscheinen der/die konfigurierten WFS. Wählen Sie nun in der Liste der GUIs, diejenige GUI aus, der Sie die WFS Konfiguration zuordnen möchten. Durch die Pfeiltasten können Sie anschließend die entsprechende Konfiguration aus der WFS Konfiguration Liste in das Feld GUI Konfiguration Liste verschieben. Analog können Sie eine WFS Konfiguration durch die Pfeiltaste nach links aus einer GUI entfernen.


Auswahlliste aktualisieren

Eine im html-Textfeld eingefügte Auswahlliste kann folgendermaßen aktualisiert werden:


Einen View erzeugen:

Create view grunddaten.qry_strassen as
Select  '<option value =\|| strschl ||'\'>'|| name ||'</option>' as bez
from grunddaten.strassen order by name;


Funktion in PostGIS schreiben:

--Drop function grunddaten.get_options_strassen();
CREATE FUNCTION grunddaten.get_options_strassen() RETURNS TEXT AS $$
DECLARE
  val TEXT;
  a grunddaten.qry_strassen %ROWTYPE; 
BEGIN
val := '<select id=\'strschl\' name=\'strschl\'><option value =\'\'>...</option>';
FOR a IN Select  '<option value =\|| strschl ||'\'>'|| name ||'</option>' as bez from grunddaten.strassen order by name
LOOP
  IF val =  then
     val := a.bez;
  ELSE
     val := val || a.bez;
  END IF;
END LOOP;
val := val || '</select>';
return val;
END;
$$ LANGUAGE plpgsql;


Trigger erzeugen, um ein Update im Mapbender vorzunehmen:

  • Funktion für den Trigger:
drop function update_mapbender_db_wfs_conf_element()cascade;
CREATE OR REPLACE FUNCTION update_mapbender_db_wfs_conf_element_fuer_strassen()
 RETURNS "trigger" AS
 $BODY$
 DECLARE
   val TEXT;
   c TEXT;
   execsql TEXT;
   updatesql TEXT;
    BEGIN   
Select replace(grunddaten.get_options_strassen(),'\,'$') INTO c;
       val := c;
       execsql:= 'Update wfs_conf_element set f_form_element_html =  \ || val || '\;
       execsql:= execsql || ' where wfs_conf_element_id = 1234567;'; 
SELECT dblink_exec('dbname=mapbender options=\'-c client_encoding=latin1\,execsql) INTO c;
updatesql:= 'Update wfs_conf_element set f_form_element_html = replace(f_form_element_html,\'$\',\'\\\'\') where wfs_conf_element_id = 1234567;';
SELECT dblink_exec('dbname=mapbender options=\'-c client_encoding=latin1\,updatesql) INTO c;
-- RAISE EXCEPTION 'val: % val',val;
-- RAISE EXCEPTION 'ex: % execsql',execsql;
Return NEW;           
   END;
$BODY$
 LANGUAGE 'plpgsql' VOLATILE;
  • Trigger erzeugen:
CREATE TRIGGER update_mapbender_from_strassen AFTER INSERT OR UPDATE OR DELETE ON grunddaten.strassen
   FOR EACH ROW EXECUTE PROCEDURE update_mapbender_db_wfs_conf_element_fuer_strassen();
  • Testen:
Update grunddaten.strassen set name = 'Teststrasse' WHERE a_id = 1234567;
  • Inhalt im Mapbender ansehen:
Select * from dblink('dbname=mapbender port=5432 host=myserver.com user=postgres password=xxx',
'Select wfs_conf_element_id,f_form_element_html  from wfs_conf_element where wfs_conf_element_id = 1234567 
as a(wfs_conf_element_id integer,f_form_element_html text);
  • WFS_-_Konfigurieren

Bisherige Konfigurationsmöglichkeiten:

WFS_Konfiguration

Für den Featuretype sollten die Einstellungen vorgenommen werden können:

  • Transaktional



Für die einzelnen Attributspalten müssen noch weitere Einstellungen vorgenommen werden können. Vorschläge:

  • Editierbar (Attribut darf modifiziert werden)
  • Pflichtfeld
  • 'wartet auf' Attribut für eine mehrstufige Suche (später)
  • Typ der alphanummerischen Suche
    • equals
    •  %like
    • like%
    •  %like%
    • wird in einem Feld zusammengefasst (google-style)
  • gid kann 'raus. Wird beim transaktionalen WFS im Objekt übergeben.
  • HTML des Formularelements, z.B. Selectbox (Text) für vordefinierte Werte. Das Element muß die Attribute "name" und "id" besitzen; Deren Werte müssen dem Namen des FeatureTypeElements entsprechen.
ALTER TABLE wfs_conf_element ADD f_form_element_html TEXT NULL ;
  • editierbar
ALTER TABLE wfs_conf_element ADD COLUMN f_edit int4;
  • Pflichtfeld
ALTER TABLE wfs_conf_element ADD COLUMN f_mandatory int4;
  • selectbox
    • value== -> auswahl muss erfolgen
      • hier darf nichts ohne Wert ausgewählt sein
  • text
  • checkbox
  • textarea?
  • WFS_-_Konfiguration_in_den_Client_laden

Um die Konfiguration der gekoppelten WFS (an eine WMS-Ebene) in den Client zu laden, wird das folgende Element in die jeweilige GUI integriert:

Dieses Modul ermittelt bei Initialisierung des Clients, welche WFS an eine WMS-Ebene gebunden sind und ermittelt die Einstellungen aus der Datenbank, die über die administrativen Module wfs_conf und wfs_edit vorgenommen wurden. Erweiterungen, die für die Konfiguration des WFS vorgenommen werden, müssen in diesem Modul ebenfalls berücksichtigt werden.

Files:

  • ../php/mod_wfs.php
  • WFS_-_R%C3%A4umliche_Abfragen

{{Template:WFS_-_R%C3%A4umliche_Abfragen}}

  • WFS-T

Lesen Sie hier die deutsche Version

Description

The OGC (Open Geospatial Consortium) has created the Web Feature Service (WFS) specification. Find the details of the specification in the OGC Specifications section. The WFS document defines several request types:

  • getCapabilities
  • describeFeatureType
  • getFeature

These requests return full features (geometries with attributes) from the server. This is the extended version of the OGC WMS getFeatureInfo request which only returns the information about the feature but not the geometry itself. WFS clients help to access OGC WFS services by providing user interfaces to create queries and selections, activating layers (FeatureTypes), etc.

Mapbender WFS Client Capabilities

Mapbender extends this functionality with WMS client functionality, creating, editing and deleting features, user administration and access control. Test the search and highlight functionaltiy in the Web Feature Service Demo and use the Digitizing interface with a transactional WFS to create, edit and maintain features (geometries) simply by using a web browser.

Read more about WFS Configuration.

Technical description

getCapabilities

The getCapabilities call returns an OGC WFS Capabilities Document (XML) which contains all information that an OGC WFS Client needs to request the server for features.

describeFeatureType

This request returns all metainformation about one feature of the WFS. This metainformation is necessary to be able to query for the values of an object and to be able to edit and store features.

http://my_wfs_server&VERSION=1.1.1&REQUEST=GetCapabilities&SERVICE=WFS

The returned XML document contains the description of the feature (geo object)

(the format of the XML has been modified for HTML presentation)


<xs:schema targetNamespace="http://www.openplans.org/topp" elementFormDefault="qualified"
      attributeFormDefault="unqualified" version="1.0">
   <xs:import namespace="http://www.opengis.net/gml" 
      schemaLocation="http://wms1.ccgis.de:80/geoserver/data/capabilities/gml/2.1.2/feature.xsd"/>
   <xs:complexType name="mapbender_user_Type">
      <xs:complexContent>
         <xs:extension base="~gml:AbstractFeatureType">
            <xs:sequence>
            <xs:element name="gid" minOccurs="0" nillable="true" type="xs:int"/>
            <xs:element name="firstname" minOccurs="0" nillable="true" type="xs:string"/>
            <xs:element name="lastname" minOccurs="0" nillable="true" type="xs:string"/>
            <xs:element name="usertype" minOccurs="0" nillable="true" type="xs:int"/>
            <xs:element name="orga" minOccurs="0" nillable="true" type="xs:string"/>
            <xs:element name="url" minOccurs="0" nillable="true" type="xs:string"/>
            <xs:element name="town" minOccurs="0" nillable="true" type="xs:string"/>
            <xs:element name="email" minOccurs="0" nillable="true" type="xs:string"/>
            <xs:element name="fullname" minOccurs="0" nillable="true" type="xs:string"/>
            <xs:element name="urlmap" minOccurs="0" nillable="true" type="xs:string"/>
            <xs:element name="the_geom" minOccurs="0" nillable="true" type="~gml:PointPropertyType"/>
            </xs:sequence>
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>
   <xs:element name="mapbender_user" type="topp:mapbender_user_Type" substitutionGroup="gml:_Feature"/>
</xs:schema>


GetFeature

The GetFeature request can query for single objects or a selection depending on the filter encoding which is added to the request. The OGC WFS ~getFeature request returns a GML (Example) document.

The parameter requesting the id of the postal code area is added as a WFS FILTER to the getFeature request as http GET parameter.

==== http://wms1.ccgis.de/cgi-bin/mapserv425?map=/data/umn/germany_demo/germany_demo_wfs.map& ====
SERVICE=WFS&
REQUEST=~GetFeature&
VERSION=1.0.0&
TYPENAME=Postleitzahlbereiche&
FILTER=

(the following parameters have to be URL-encoded when transmitted with GET)

<Filter>
   <~PropertyIsLike wildCard="%" singleChar="?" escape="ESC">
      <~PropertyName>
         item_plz
      </~PropertyName>
      <Literal>
         53111
      </Literal>
   </~PropertyIsLike>
</Filter>

The returned GML document contains the corresponding post code polygon including alphanumeric attributes.

(the format of the GML has been modified for HTML presentation)

<?xml version='1.0' encoding="ISO-8859-1" ?>  
<wfs:~FeatureCollection  
   xmlns="!http://www.ttt.org/myns"  
   xmlns:myns="!http://www.ttt.org/myns"  
   xmlns:wfs="!http://www.opengis.net/wfs"  
   xmlns:gml="!http://www.opengis.net/gml"  
   xmlns:ogc="!http://www.opengis.net/ogc"  
   xmlns:xsi="!http://www.w3.org/2001/XMLSchema-instance"  
   xsi:schemaLocation="!http://www.opengis.net/wfs ../wfs/1.0.0/WFS-basic.xsd   
                       !http://www.ttt.org/myns  
                       !http://wms1.ccgis.de/cgi-bin/mapserv?
                               map=/data/umn/germany_demo/germany_demo_wfs.map&  
                               SERVICE=WFS&  
                               VERSION=1.0.0&  
                               REQUEST=~DescribeFeatureType  
                               TYPENAME=Postleitzahlbereiche">  
      <gml:boundedBy>  
      	<gml:Box srsName="epsg:31467">  
      		<gml:coordinates>  
      			-1.000000,-1.000000 -1.000000,-1.000000  
      		</gml:coordinates>  
      	</gml:Box>  
      </gml:boundedBy>  
    <gml:featureMember>  
      <Postleitzahlbereiche>  
        <gml:boundedBy>  
        	<gml:Box srsName="epsg:31467">  
        		<gml:coordinates>  
        			7.089682,50.732651 7.113803,50.749050  
        		</gml:coordinates>  
        	</gml:Box>  
        </gml:boundedBy>  
        <gml:polygonProperty>  
          <gml:Polygon srsName="epsg:31467">  
          	<gml:outerBoundaryIs>  
          		<gml:~LinearRing>  
          			<gml:coordinates>  
          				3365496.566430,5624978.448441 
          				3365521.124423,5625013.908323  
          				3365565.223312,5625084.526916  
          				3365629.214635,5625160.583843   
          				3365723.363724,5625232.038551  
          				3365777.825572,5625277.769189  
          				3365867.287406,5625324.293319  
          				3366081.776121,5625376.954252  
          				3366242.558916,5625409.342895  
          				3366447.711508,5625422.348649  
          				3366677.856852,5625435.565091   
          				3366826.787403,5624801.669664   
          				3366855.035066,5624566.573031   
          				3366925.451142,5624182.224968   
          				3366715.750264,5624144.261254   
          				3366650.863977,5624128.508596   
          				3366600.955317,5624112.804621   
          				3366531.383108,5624081.886701   
          				3366506.401347,5624071.486493   
          				3366442.053224,5624025.159618   
          				3366392.576627,5623979.714963   
          				3366347.846258,5623958.781918   
          				3366303.629382,5623898.347600   
          				3366254.562142,5623822.330657   
          				3366204.783816,5623801.958859   
          				3366170.529172,5623746.359034   
          				3366096.979434,5623625.121634   
          				3365763.215463,5623795.455427   
          				3365500.779929,5623942.335246   
          				3365218.803228,5624068.496482   
          				3365237.785434,5624138.909926   
          				3365251.877503,5624209.028949   
          				3365265.770476,5624284.252033   
          				3365279.898174,5624354.790930   
          				3365313.834894,5624430.338190   
          				3365342.788540,5624515.791264   
          				3365381.492255,5624611.601424   
          				3365424.880011,5624732.334672   
          				3365458.518013,5624832.944095   
          				3365502.496403,5624908.664231   
          				3365531.735324,5624963.958282   
          				3365496.566430,5624978.448441   
          			</gml:coordinates>  
          		</gml:~LinearRing>  
          	</gml:outerBoundaryIs>  
          </gml:Polygon>  
        </gml:polygonProperty>  
        <gid>3695</gid>  
        <oid>15223704</oid>  
        <plz99>53111</plz99>  
        <item_plz>53111</item_plz>  
        <buffer_>500</buffer_>  
      </Postleitzahlbereiche>  
    </gml:featureMember>  
</wfs:~FeatureCollection>

How to make use of the WFS?

The OGC WFS is commonly mistaken for a simple spatial data download server. Beside other things this is one of the potential uses but far from the only one. In most cases the exchange format of a WFS server is GML. This GML can be searched for, it can be edited and written back:

  • Search for features geographically
  • Search for geographic features with specified alphanumerical attributes
  • Perform operations on geographic feature
  • Permanent storage of geographic features
  • WFS_-_Transactional

en

Files:

  • ../javascripts/mod_digitize_tab.php
  • ../php/mod_wfs_save.php
  • ../extensions/geom2wfst.php

Modul for digitalisation of point, lines and polygons with an transactional WFS:

Modul in a tab:

Mapfile for digitized elements:

http://wms1.ccgis.de/cgi-bin/mapserv46?map=/data/umn/wfs/germany_wfs_myedit_4326.map&service=wms&request=getCapabilities&version=1.1.1


de

Files:

  • ../javascripts/mod_digitize_tab.php
  • ../php/mod_wfs_save.php
  • ../extensions/geom2wfst.php

Modul zum Digitalisieren von Punkten, Linien und Flächen über einen transaktionalen WFS:

Modul in einem Tab:

Mapfile für digitalisierte Flächen, Linien und Punkte:

http://wms1.ccgis.de/cgi-bin/mapserv46?map=/data/umn/wfs/germany_wfs_myedit_4326.map&service=wms&request=getCapabilities&version=1.1.1
  • WFS_-_WMS_-_Kopplung
WFS/WMS Ebenen verbinden

Um eine WMS-Ebene (Layer) mit einem konfigurierten WFS (FeatureType) zu verbinden, besteht im Modul 'EDIT GUI-WMS' die Möglichkeit, für einen Layer über die Oberfläche einen zuvor konfigurierten WFS-FeatureType auszuwählen. In der Tabelle der Ebeneneinstellungen zu einem WMS befindet sich ein Button, durch den der Dialog zum Verbinden der Ebenen geöffnet wird. Nach der Auswahl eines konfigurierten FeatureTypes wird eine Bestätigung der Verbindung angezeigt.

WFS/WMS_Kopplungsdialog
WFS/Anzeige der Verbindung

Bereits bestehende Verbindungen zwischen Layern und FeatureTypes werden auf dem Button (Beschriftung) angezeigt. Das Löschen der Verbindung ist ebenfalls über diesen Dialog möglich.

Durch die Verbindung von WMS und WFS ist es möglich, im Kartenbild des WMS einzelne Objekte zu selektieren. Das initiale Kartenbild liefert hierbei der WMS, das Anzeigen des selektierten Objektes wird über den gekoppelten WFS ermöglicht. Das GML, was der WFS liefert, wird im Mapbender als JavaScript verfügbar gemacht. Das Selektieren von einzelnen Layern ist nur möglich, wenn der Layer abfragbar ist (s. auch WFS Konfiguration).

  • WFS_gazetteer

successor of the deprecated WFS gazetteer (May 25, 2007)

requires the following modules:

Description

english

This iframe element is a search dialog for a gazetteer based on OGC WFS. LoadWFS to the GUI where you want to use the search dialog. If you want to select between multiple WFS searches, configure WFS_gazetteer with several wfs configurations (for more information see "How To" below). If you want to do an additional spatial limitation of search results, configure the spatial request buttons in the additional conf file of wfs gazetteer. Make sure that both your Version of Mapbender and your Server support WFS.

Prerequisite

This module requires an OGC WFS as data source.

How To

Add an iframe <wfs_gazetteer> to your GUI. Add all GazetteerIDs of WFS which you want to use for WFS search to the element var wfsConfIdString as a comma seperated list of WFS conf ids, like 1,2,3. To use WFS gazetteer there has to be at least one GazetteerID given in wfsConfIdString. Make sure that your wfs configurations contain all parameters which are needed. As from Mapbender version 2.6 set var showResultInPopup to 1 if you want get the search results as separate popup, set it to 0 to get them appended to your wfs gazetteer div. Define conf file name for an additional spatial search in element var wfs_spatial_request_conf_filename. As from Mapbender version 2.5 make also sure that all WFS confs you want to use are assigned to your gui (see table "gui_wfs_conf" or go to "assign WFS conf to gui" in WFS admin guis).

  • Target: mapframe1
  • SRC: ../php/mod_wfs_gazetteer_client.php?sessionID&target=mapframe1,overview

Highlighting

Features are returned as GML documents by the WFS. Mapbender transforms the GML to a JavaScript object that highlights the geometry. Rendering of the highlighting geometry is implemented in two ways, either client or server side. As of Mapbender 2.5 there exists additional element var maxHighlightedPoints (for more information see point Element vars below).


for Mapbender versions < 2.5

Client-side

For client-side rendering you need to load the module "wz_jsgraphics.js" at least once into the corresponding GUI so that it can be called by the gazetteer function. This can be done by adding a reference to the gazetteer SRC: ../php/mod_wfs_gazetteer.php...) by entering the path as a property to "Module:" ../extensions/wz_jsgraphics.js

Additionally you have to check "WZ-Graphics:" when configuring the WFS gazetteer: http://localhost/mapbender_dev/php/mod_wfs_conf.php?

Server-side

The alternative is to render a transparent PNG with a marker. To do that MB needs to be able to write to a temporary directory and the PHP environment must be enabled and allowed to write images (the same what you need to create PDF for server side generated printouts).


Notice

  • If you use UMN MapServer as WFS find more information here:

http://mapserver.gis.umn.edu/docs/howto/wfs_server/

  • Make sure to include the EXTENT parameter to the WFS section.
  • Make sure to include "gml_include_items" or you don't get anything
 METADATA
   "wfs_title"    "Provinces" ## REQUIRED
   "gml_include_items" "all"  ## Optional (serves all attributes for layer)
 END
  • MaintainMe! There is an open issue with the performance of the WFS as a gazetteer regarding non-geometric queries on large databases (> 1 million). The problem has been identified and was supposed be solved in a new UMN MapServer release

deutsch

wfs_gazetteer.php implementiert einen Suchdialog für einen OGC WFS gazetteer. Es ist möglich, mehrere WFS-Suchen einzubinden und diese aus einer Auswahlbox zu selektieren. Hierfür müssen mehrere WFS-Konfigurationen angegeben werden (siehe Beispiel unter "Anwendung"). Zusätzlich kann ab Mapbender 2.6 auch über eine räumliche Suche gefiltert werden. Diese Einstellungen können in der zusätzlichen Konfigurationsdatei eingestellt werden, die als element_var wfs_spatial_request_conf_filename angegeben wird. Es ist darauf zu achten, dass sowohl die Mapbender-Version als auch die eingebundenen Server WFS 1.0.0 unterstützen.

Anwendung

Das Modul wird über das Anlegen eines iframes eingebunden. Alle WFS-Konfigurationen, die für die Suche genutzt werden sollen, werden über die element var wfsConfIdString als komma-separierte Liste angegeben. Es sollte mindestens eine GazetteerID existieren. Es ist zu überprüfen, ob die WFS-Konfigurationen mit allen notwendigen Parametern versehen sind. Ab Version 2.6 können die Suchergebnisse auch in einem eigenem Popup dargestellt werden. Wenn die element-var showResultInPopup auf 1 gesetzt wird, erscheinen die Suchergebnisse in einem separaten Popup, wenn die Variable den Wert 0 erhält, werden die Suchergebnisse an das gazetteer div angehängt. Als element-var wfs_spatial_request_conf_filename geben Sie bitte die Konfigurationsdatei für die räumliche Suche und deren Speicherort an. Ab Mapbender-Version 2.5 ist zudem sicherzustellen, dass alle WFS-Konfigurationen, die benutzt werden sollen, der Gui, in der das Suchmodul verwendet wird, zugeordnet sind (Tabelle "gui_wfs_conf" oder "assign WFS conf to gui" in den WFS admin Guis).

  • Target: mapframe1
  • SRC: ../php/mod_wfs_gazetteer_client.php?sessionID&target=mapframe1,overview

Highlighting

Zurückgegebene Objekte können gehighlightet werden. Jedes zurückgegebene Objekt hat eine JavaScript-Funktion, die das GML highlightet durch client- oder serverseitige Wiedergabe. Ab Mapbender 2.5 gibt es für das Highlighting eine zusätzliche Variable maxHighlightedPoints (weitere Informationen dazu gibt es weiter unten unter Element vars).


für Mapbender-Versionen < 2.5

Clientseitig

Für eine clientseitige Wiedergabe ist es notwendig das Modul "wz_jsgraphics.js" zumindest einmal in die entsprechende GUI zu laden, so dass es von der Gazetteer-Funktion aufgerufen werden kann. Dies kann erreicht werden durch das Hinzufügen des Verweises in die Gazetteer "SRC:" ../php/mod_wfs_gazetteer.php... und die Eingabe des Verzeichnisses unter "Module:" ../extensions/wz_jsgraphics.js

Zusätzlich muss "WZ-Graphics:" geprüft werden, wenn der WFS Gazetteer konfiguriert wird: ../php/mod_wfs_conf.php

Serverseitig

Die Alternative ist die Wiedergabe eines transparenten PNG mit einem Marker. Um das zu bewerkstelligen muss Mapbender in der Lage sein in ein temporäres Verzeichnis zu schreiben und die PHP Umgebung muss in der Lage und berechtigt sein Bilder zu schreiben (das selbe was man braucht, um ein PDF zu erzeugen für serverseitig generierte Ausdrucke).


Hinweis:

 METADATA
   "wfs_title"    "Provinces" ## REQUIRED
   "gml_include_items" "all"  ## Optional (serves all attributes for layer)
 END
  • Der EXTENT des WFS muß gesetzt werden und sollte unbedingt die Daten der Suche einschließen.
  • MaintainMe! Es gibt ein offenes Leistungsproblem bei rein alphanumerischer Suche mit vielen Datensätzen (> 1 Million). Das Problem wurde identifiziert und soll in einer nächsten MapServer-Version behoben werden.


Element vars

wfsConfIdString: a comma separated list of WFS conf ids, like 1,2,3 / eine kommaseparierte Liste von WFS conf IDs, z.B. 1,2,3

maxHighlightedPoints: max number of points to highlight, like 500 / max. Anzahl an Punkten, die vollständig gehighlightet werden, z.B. 500

wfs_spatial_request_conf_filename: location and name of the WFS configuration file for spatialRequest / Speicherort und Name der WFS Konfigurationsdatei für die räumliche Suche (default file: wfs_additional_spatial_search.conf)

showResultInPopup: defines if search results should be displayed in popup: if value is 1 search results will be displayed in popup, otherwise appended to gazetteer div / definiert, ob die Suchergebnisse in einem Popup dargestellt werden sollen: wenn der Wert 1 ist, werden Ergebnisse als Popup dargestellt, ansonsten angehängt an das Gazetteer-Modul (default: 1)

Mapbender => 2.7

enableSearchWithoutParams: define that search can be started without any search params / definiert, ob die Suche auch ohne Suchparameter gestartet werden kann (default: 0)

initializeOnLoad: start gazetteer onload / definiert, ob der Gazetteer onload bereits eine Suche startet (default: 0)

Files

For this module the following files are required / Für dieses Modul werden die folgenden Dateien benötigt:


SQL

Use this sql statement to insert this module in the corresponding gui / Mit diesem SQL das Modul in die entsprechende GUI einfügen:

<=2.5

>=2.6

>=2.7

Übung 11: WFS-Einbindung und Konfiguration

Digitalisierung mit Mapbender

  • Digitizing

Documentation deprecated

ENGLISH

Introduction

This page guides you through digitizing with Mapbender. Log into the Digitizing GUI to test functionality. If you encounter any trouble or have suggestions on how to improve this module please mailto:users@mapbender.osgeo.org (need to register first).

The following links are required to implement WFS-T Digitizing

Required modules
Development links

Read Development to understand how to implement modules. Then follow this list to the code modules.

Configuration

How to configure the wfs for the digitize gui.

You always can have a look at the gui_digitize which is part of the Mapbender >= 2.4 to compare the configuration.

  1. To make your own digitize gui copy the gui gui_digitize (or if you want to create your own new digitze gui, please take care that following modules exist in your gui: ajax, digitize, wfs, wfs_conf, geometry, setSpatialRequest)
  2. load your wfs (admin1 --> load wfs)
  3. configure the wfs (admin1 --> wfs conf) Have a look how it was done for feature types which are part of the gui digitize (for example myLines)
  4. keep the GazetteerID of your configuration in mind
  5. configure a wms which displays the objects you digitize, the layer of the wms must be queriable. So if you use MapServer define a template for your layer
  6. load the wms in your digitize gui
  7. go to EDIT GUI-WMS and connect the WMS layer with the WFS feature type with the button setWFS
  8. now you can start editing in your digitize gui
  9. when you want to save the digitized object, the new window shouldn't be empty anymore but should offer a selection of your wfs configurations which are connected to wms layer.

DEUTSCH

Einführung

Diese Seite beschreibt den Arbeitsablauf der Digitalisierung (Erzeugen und Bearbeiten von Vektorgeometrien). Berichten Sie Fehler bitte an die Mapbender Mailing Liste (Registrierung erforderlich) und tragen Sie die Fehlermeldungen direkt im Issue Tracker ein.

Verwenden Sie zum Testen die GUI Digitalisierung, die auf dem Entwicklungsserver bereitgestellt wird.

Alle Geo-Objekte werden für die Bearbeitung im Client als lokale Geometrien vorgehalten. Objekte können neu erstellt (digitalisiert) werden, oder zur Bearbeitung von WFS-Diensten angefordert werden. Geometrien, die von WFS-Diensten angefordert werden, können verändert oder gelöscht werden, wenn der Dienst dies zulässt. Die Geometrien können auch lediglich als Digitalisiergrundlage verwendet werden, dann kann auch ein nicht-transaktionaler WFS verwendet werden. Über die "Snapping"-Funktionalität lassen sich sauber lückenlose Geometrien und Topologien aufbauen. Alle Stützpunkte können verschoben, neu eingefügt und bestehende gelöscht werden. Die Berechtigung Geometrien zurückschreiben zu können (auf dem Server verändern), wird durch einen vorgeschalteten Owsproxy (Erläuterung siehe Mapbender Security Proxy) geregelt, der auf die Autorisierungsdaten der Mapbender Datenbank zugreift.

Digitalisierung neuer Objekte

Öffnen Sie die vertikale Reiterkarte "Digitize" links neben der Karte. Die drei linken Schaltflächen aktivieren die Digitalisierung eines Punktes, einer Linie oder einer Fläche.

Alle editierten Geometrien werden zunächst nur innerhalb der Browserumgebung zwischengespeichert. Bevor der Browser geschlossen wird, müssen deshalb diese geänderten Geometrien explizit auf dem Server gespeichert werden, alle Änderungen gehen sonst verloren. Wählen Sie dazu das "Glübirnen-Symbol" links neben dem Objektnamen, es öffnet sich ein neues Fenster. Bei neuen Objekten müssen Sie zunächst auswählen in welchen WFS Dienst geschrieben werden soll. Es sind drei Test-Dienste eingebunden, die der Einfachheit halber benannt sind wie der Geometrietyp, den sie speichern können. Sobald die Geometrien auf dem Server gespeichert wurden, sind sie auch für andere berechtigte Anwender sichtbar und (falls berechtigt) editierbar.

Punkt erzeugen

Schaltfläche "add point" auswählen. Der nächste Mausklick in die Karte setzt den Punkt der Geometrie. Um einen weiteren Punkt zu digitalisieren, wird zuerst wieder die Schaltfläche "add point" ausgewählt und dann in die Karte geklickt, etc.

Linien erzeugen

Schaltfläche "add line" auswählen. Jeder Klick in die Karte setzt einen weiteren Stützpunkt an die Linie. Ein erneuter Klick auf die Schaltfläche "add line" beendet den Linien-Modus, die Linie ist fertig. Jede weitere Linien wird in der gleichen Art angelegt.

Flächen erzeugen

Schaltfläche "add polygon" auswählen. Jeder Klick in die Karte setzt einen weiteren Stützpunkt des Umringes. Ein erneuter Klick auf die Schaltfläche "add polygon" schließt die Geometrie automatisch durch eine gerade Verbindung zwischen erstem und letztem Stützpunkt, die Fläche ist fertig. Alternativ kann der letzte Stützpunkt auch interaktiv auf den ersten gesetzt werden. Der erste Stützpunkt wird beim Überfahren mit der Maus durch einen roten Kreis und einen Tooltip-Text hervorgehoben ("after inserting at least three points, click the first one to close the polygon.").

Objekteigenschaften

Die Liste der Digitalisierobjekte enthält zwei Schaltflächen und einen Text. Die erste Schaltfläche (Glühbirne) öffnet ein Fenster, in dem die Attribute des Objektes angezeigt werden. Falls es sich um ein neues Objekt handelt, wird zunächst eine Auswahl an Zielservern angeboten.

In dem Fenster werden alle Felder angezeigt, die zur Bearbeitung freigeschaltet sind (einstellbar über WFS-conf). Nach Eingabe der Werte (oder Änderung bestehender Werte) kann das Objekt erstmals gespeichert, geändert oder gelöscht werden.

Todo

Ziel-WFS-T Auswahl: Wenn es nur einen Dienst zur Auswahl gibt direkt ansteuern. Offene Frage: Wo wird das parametriert?

Erweiterte Optionen

Die Digitalisierung bietet zusätzliche Optionen. Jedes Objekt, das in den Editiermodus überführt wird ist Grundlage der Bearbeitung. Objekte können nur verändert, neu angelegt oder gelöscht werden, wenn der Benutzer berechtigt ist den entsprechenden Dienst mit einem Schreibeauftrag anzusprechen.

Stützpunkte verschieben, hinzufügen, entfernen

Geometrien werden als magentafarbene, gestrichelte (aneinandergereihte Kästchen) Linien mit farblich abgesetzten (lila) Eckpunkten dargestellt. Diese Geometrien können verändert werden. Eck-Stützpunkte (lila Kästchen) können gelöscht und verschoben werden. Hilfs-Stützpunkte (jeder "Strich" der Verbindungslinien) können in Eck-Stützpunkte (lila Kästchen) verwandelt werden.

Stützpunkte verschieben

Durch Auswahl der Schaltfläche 4 (Move node) können Stützpunkte verschoben werden. Beim Überfahren eines Stützpunktes (lila Kästchen) ändert sich der Mauszeiger. Jetzt kann der Stützpunkt per Drag&Drop an eine neue Position gesetzt werden. Es erfolgt keine Überprüfung, ob die daraus resultierende Geometrie valide ist (z.B. keine sich kreuzenden Umringlinien).

Stützpunkte hinzufügen

Durch Auswahl der Schaltfläche 5 (Add node) können neue Eck-Stützpunkte hinzugefügt werden. Beim Überfahren eines Hilfs-Stützpunktes (gestrichelte Linie) ändert sich der Mauszeiger, und zeigt damit an, dass dieser Hilfs-Stützpunkt in einen Eck-Stützpunkt transformiert werden kann. Ein Klick auf den Punkt ändert die Eigenschaften dieser Geometrie in einen Eck-Stützpunkt, der dann verschoben oder gelöscht werden kann.

Stützpunkte löschen

Durch Auswahl der Schaltfläche 6 (Delete node) können Eck-Stützpunkte gelöscht werden. Beim Überfahren eines Eck-Stützpunktes (lila Kästchen) ändert sich der Mauszeiger, und zeigt damit an, dass dieser Hilfs-Stützpunkt gelöscht werden kann. Ein Mausklick auf den Punkt löscht ihn.

Snapping

Jeder Stützpunkt der Objekte, die in den Editiermodus überführt wurden, kann für neue Geometrien übernommen werden. Dabei wird die Genauigkeit der Realwelt-Koordinate übernommen, nicht die Genauigkeit des aktuellen Digitalisierausschnittes! Sobald der Mauszeiger in den Snapping-Bereich eines Stützpunkts kommt wird ein roter Kreis um den Zielstützpunkt gezeichnet. Ein Mausklick setzt die Realwelt-Geometrie des aktuellen Stützpunktes auf den Wert des dort angezeigten Punktes. Deshalb entstehen exakte Kopien der Koordinaten mit der Genauigkeit der Quellgeometrie.

Alle Punkte mit identischer Geometrie werden gleichzeitig verschoben. Soll ein "Punkthaufen" zerlegt werden, muss zunächst die Geometrie mit dem Stützpunkt, der nicht verändert werden soll aus dem Editiermodus entfernt werden.

Bestehende Objekte zum Snapping aktivieren

Zunächst müssen die Objekte in den Editiermodus überführt werden. Hierzu wird die Schaltfläche "Geometrien auswählen" (ganz rechts oben) augewählt. In dem folgenden Fenster kann der Auswahlmodus gewählt werden [1]. Nach der Auswahl wird die Selektionsmenge rechts vom Kartenfenster in einer Liste angezeigt. Die Auswahl der Selektionsbox markiert das Objekt dauerhaft im Kartenfenster. Auswahl der Schaltfläche "Edit" überführt das Objekt in die Editierselektion. Hier verhalten sich alle Objekte gleich, egal aus welchem Dienst sie geladen wurden oder ob sie neu angelegt wurden.

Todo
[1] Der Auswahldialog "Selektion" sollte übersprungen werden, die Standard-Auswahl ist ein Rechteck. Ein Rechteck mit identischen Eckkordinaten wird als Punkt-Selektion ausgewertet).
  • Digitalisierung_-_Einstellungen

settings

the following settings need to be set in the element vars:

  • dotDistance: the distance between two dots that are part of a dash.
  • snappingTolerance: the radius of a circular area around each basepoint (node), that must not contain another basepoint (node).
  • mod_digitize_elName: the name of the digitizing iframe
  • Digitalisierung_-_Module_-_Basepoint_handling

basepoint handling

A basepoint is a vertex of a geometry array that is currently displayed.

variables

  • basepointObj: the basepoint itself (a div tag with css class 'bp', see digitze.css).
  • basepointMemberIndex: the index of the member in the geometry array that contains the vertex representing the basepoint.
  • basepointGeometryIndex: the index of the geography in the geometry array that contains the vertex representing the basepoint.
  • basepointPointIndex: the index of the point in the geometry array that contains the vertex representing the basepoint.
  • basepointDragActive: true if the basepoint is currently being moved (begins when the mouse button is pressed over a basepoint, ends when it is released)


functions

  • handleBasepoint(obj, i, j, k): this function checks what to do with a basepoint that is currently under the mouse pointer. Depending on what action is intended, other methods (the following) are invoked.
  • convertLinepointToBasepoint(obj, i, j, k): this function is invoked when the mouse is over a linepoint. When the mouse is clicked, the method insert basepoint is called.
  • insertBasepoint(): adds a new vertex with the coordinates of the mouse position into the geometry array.
  • deleteBasepoint(): deletes all points in the geometry array that have the same coordinates as the basepoint.
  • selectBasepoint(): when a basepoint move is intended, this function is invoked when the mouse button is pressed. It stores the start coordinates in a global variable and sets basepointDragActive to true, so other functions know that a basepoint is currently being dragged.
  • dragBasepoint(): when a basepoint is being dragged and the mouse button is down, this function will track the mouse position. Instead of the basepoint, a transparent object the size of the mapframe is being displayed.
  • releaseBasepoint(): when a basepoint is being dragged and the mouse button is released, this function is invoked and the geometry will be updated.
  • Digitalisierung_-_Module_-_Function_registering

function registering

functions

  • registerFunctions(): this method is called onload. The given functions will be invoked whenever they are triggered.
  • checkTag(): checks if a div tag with id of the digitize frame (given in the element vars: mod_digitize_elName) exists in frame mod_digitize_target. If yes, these element's attributes are set and itself is returned, if not, it is created (with attributes) and returned if an element with id like mod_digitize_elName exists and it is not a div tag, false is returned.
  • setStyleForTargetFrame(): this adds the stylesheet to the map frame.
  • checkCanvasTag(): see checkTag(), but this one checks for the div tag of the snapping module.
  • Digitalisierung_-_Module_-_Snapping

snapping

the snapping class ensures, that there is no basepoint within a certain pixel range of another (snapping range, snapping tolerance). If the basepoints are too close to eachother, they will be snapped and represented by a single basepoint.

variables

  • coord: the 'snapping list'. An array that contains information about the points of a geometry array that a current point will be checked against. The array coord[i] consists of the following sub-array:
    • coord[i]['coord']: a vertex representing a point of a geometry array.
    • coord[i]['member']: the member index of the i-th point in the geometry array.
    • coord[i]['geometry']: the geometry index of the i-th point in the geometry array.
    • coord[i]['point']: the vertex index of the i-th point in the geometry array.
  • canvas: an array that represents the content of the div tag of the snapping graphics, e.g. canvas['mapframe1'] corresponds to the content of the graphics of 'mapframe1'.
  • min_i: the index of the vertex in the snapping list that is currently snapped. If no vertex is snapped, min_i equals -1.
  • tolerance: the snapping range in pixel.
  • color: the color of the circular graphic.
  • snappingTarget: the frame that contains the div tag and in which the graphic will be displayd.

functions

The following public functions are available:

  • isSnapped(): returns true if the current basepoint is within range of another.
  • getSnappedVertex(): if isSnapped() is true, the snapped vertex is returned.
  • addPointToSnapping(p, i, j, k): adds the given vertex p (representing the vertex at index i,j,k in the geometry array) to the snapping list.
  • storeSnapCoords(event, currentBasepoint): stores all relevant basepoints in the snapping list. If the event corresponds to a basepoint move, the current vertex of the geometry array is not stored.
  • checkSnapped(currentBasepoint): checks if the currentBasepoint is within snappingTolerance of all points stored in the snapping list. If no point is that close to the currentBasepoint, min_i will be set -1. Otherwise, min_i contains the index of closest vertex in the snapping list.
  • drawSnappingArea(): fills the div tag with the circular image generated by wz_graphics.
  • cleanCanvas(): empties the div tag that contains the circular image generated by wz_graphics.

all other functions are private and shall not be used.

  • Digitalisierung_-_Element_var

User:Christoph Baudson (Module maintainer)

Description

english

Some modules need variables that differ for each GUI (for example the number of vertical tabs, their content, sizes and captions). These variables (element_vars) can be created and edited with the web administration interface module mod_editElements.php. Start by choosing <Edit GUI Elements> from the section <GUI Management> of GUI <admin2_en>. Click on the name of the module that you want to edit. A new screen opens where showing the variables and a <save> and <delete> button. Click on the button <return> to show the moduel overview.


deutsch

Einige Module benötigen GUI-spezifische Variablen (z.B. die Anordung, Anzahl, Beschriftung und Funktion der Reiterkarten). Diese Variablen (element_vars) können über die Web-basierte Administrationsoberfläche über mod_editElements.php konfiguriert werden. Öffnen Sie <Oberflächenelemente editieren> im Abschnitt <Oberflächenverwaltung> der GUI <admin2_de>. Klicken Sie auf den Namen des Moduls, dass editiert werden soll. Eine neue Ansicht zeigt die Liste der Variablen dieses Moduls mit Schaltfläche <save> zum Speichern, <delete> zum Löschen und <return>, um zur vorherigen Ansicht zu geladen

Technische Details

Das Modul mod_editElementVars.php läßt sowohl explizite Style-Angaben als auch das Angeben einer CSS-Datei zu.

'Name': 'Name' erwartet einen (für diese GUI eindeutigen) Variablennamen.
'Value': 'Value' enthält die tatsächliche Style-Angabe, bei Style-Sheet-Dateien z.B. '../css/mapbender.css', bei expliziten Style-Angaben z.B. 'body{background-color: #ffffff;}'
'Context': Beschreibung des Benutzers zur internen Verwaltung.
'Type': Hierzu muß im Feld 'Type' ein Format ausgewählt werden, wie 'text/css', 'file/css', JavaScript-Variable oder PHP-Variable.

Die Style-Angaben werden von den Modulen durch einbinden der Datei 'dyn_css.php' aus dem 'include' Ordner geladen. Beispielsweise so

<?php
  include '../include/dyn_css.php';
?>

Das Einbinden geschieht im 'Head' der Datei.

Javascript und PHP-Variablen

Desweiteren besteht die Möglichkeit, Variablen für JavaScript bzw. PHP einzubinden.

'Name': 'Name' erwartet einen (für diese GUI eindeutigen) Variablennamen.
'Value': Das Feld 'Value' enthält den Wert der Variable.
'Context': Beschreibung des Benutzers zur internen Verwaltung.
'Type': Hier muß im Feld 'Type' das Format JavaScript-Variable oder PHP-Variable ausgewählt werden.

Das Einbinden erfolgt in den jeweiligen Modulen wie oben.

In 'dyn_css.php' bzw 'js' wird der Variablenwert von Anführungszeichen umschlossen, d.h. alle Werte werden als Strings interpretiert. Ggf. ist ein parseInt(<Variablenname>) von Nöten!

Arrays

Arrays können wie folgt eingegeben werden: <Variablenname>\[[<index>]] 'dyn_css.php' erkennt beim Auslesen, dass es sich um einen Array handelt und setzt vor die erste Variable mit hinzugefügtem Index '<Variablenname> = new Array();'

  • Digitalisierung_-_Module_-_Button_handling

List of Methods

displayButtons()

  • this function is invoked on load. All buttons defined by element vars (buttonDig_ arrays) are initialized.

initDigButton(ind, pos)

  • the button at index ind is initialized with the values of buttonDig_..[pos]. The enabled and disabled functions are being set as well.

digitizeEnable(obj)

  • triggers the corresponding functions after the button obj has been enabled.
  • Digitalisierung_-_Module_-_Geometrie

geometries

the geometry module (mod_geometryArray.js) contains the following classes:

geometryArray

variables

  • m: an array of members (a member represents a collection of geometries. A geometry is either a point, a line or a polygon).

functions

The following public functions are available:

  • getMemberCount(): returns the number of members
  • getMember(i): returns the i-th member (if it doesn't exists, an exception will be thrown).
  • getGeometry(i,j): returns the j-th geometry of the i-th member (if it doesn't exists, an exception will be thrown).
  • getVertex(i,j,k): returns the k-th vertex of the j-th geometry of the i-th member (if it doesn't exists, an exception will be thrown).
  • getCurrentGeometry(): returns the geometry that is currently being built.
  • getCurrentMember(): returns the member whose geometry is currently being built.
  • isValidMemberIndex(anIndex): returns true if the member m[anIndex] exists; otherwise false.
  • updateAllPointsLike(oldPoint, newPoint): replaces all points like oldPoint by newPoint in all members.
  • delAllPointsLike(aPoint): deletes all points with the same coordinates as aPoint.
  • delMember(i): deletes the i-th member.
  • delGeometry(i,j): deletes the j-th geometry of the i-th member. If all the geometries of a member have been deleted, the member will be deleted as well.
  • delPoint(i,j,k): deletes the k-th vertex of the j-th geometry of the i-th member. If all vertices of a geometry have been deleted, the geometry will be deleted as well. If all geometries of a member have been deleted, the member will be deleted as well.
  • closeCurrentGeometry(): finishes a geometry by labelling it complete. If no coordinates have been added, the geometry is discarded. When a polygon is built and the polygon button is clicked again, the polygon will be closed by connecting the last to the first point. Actually, the first point is stored twice at index 0 and index length

all other functions are private and shall not be used.

member

variables

  • g: an array that contains the geometries of this member.
  • geomType: the geometry type is either point, line or polygon. The actual value must be equal to the id of the corresponding button (given in element vars: button_point, button_line, button_polygon).

functions

The following public functions are available:

  • getGeometryAtIndex(i): returns the i-th geometry of this member (if it doesn't exist, an exception will be thrown).
  • getGeometryCount(): returns the number of geometries of this member.

all other functions are private and shall not be used.

geometry

variables

  • geomType: the geometry type is either point, line or polygon. The actual value must be equal to the id of the corresponding button (given in element vars: button_point, button_line, button_polygon).
  • complete: true if the geometry is complete (in a polygon, the first and the last vertex must be the same).
  • v: an array of vertices.

functions

The following public functions are available:

  • getVertexCount(): returns the number of vertices of this geometry (a polygon of n basepoints corresponds to a vertex array of n+1 vertices).
  • getVertexAtIndex(i): returns the i-th vertex of this geometry. If it doesn't exist, an exception will be thrown.

all other functions are private and shall not be used.

vertex

variables

  • x: the x-coordinate of the vertex.
  • y: the y-coordinate of the vertex.

functions

The following public functions are available:

  • equals(aVertex): returns true if this vertex and aVertex have the same coordinates.
  • dist(aVertex): returns the euclidean distance between this vertex and aVertex.

all other functions are private and shall not be used.

  • Digitalisierung_-_Buttons

buttons

The element vars contain all the button information: The following arrays exist:

  • buttonDig_id[i]: the id for a div-tag that will be created to contain the i-th button image.
  • buttonDig_on[i]: if this is "0", the button will not be available for digitizing (default "1").
  • buttonDig_srcDown[i]: the reference (path and filename) to the image that will be displayed if the i-th button is pressed.
  • buttonDig_srcUp[i]: the reference (path and filename) to the image that will be displayed if the i-th button is not pressed.
  • buttonDig_titleDown[i]: the tooltip that will be displayed if the i-th button is pressed.
  • buttonDig_titleUp[i]: the tooltip that will be displayed if the i-th button is not pressed.
  • buttonDig_x[i], buttonDig_y[i]: the position of the i-th button within the digitizing iframe.

The position of the geometry list is set in

  • geomList_x
  • geomList_y

Furthermore, the digitizing module needs to identify buttons for the insertion of points, lines and polygons and basepoint movement, insertion and deletion. The following variables must contain the id of the corresponding button (set in buttonDig_id[i]), if the button is available:

  • button_point
  • button_line
  • button_polygon
  • button_move
  • button_insert
  • button_delete


sql for gui 'gui_digitize':

  • Digitalisierung_-_Module

Module


  • Digitalisierung_-_Module_-_Display

display

functions

  • drawDashedLine(): displays all visible geometries of the geometry array. Returns a string containg the div tags. Invokes the function updateListOfGeometries().
  • updateListOfGeometries(): updates the list of geometries after the geometry array. This function is invoked only at the end of drawDashedLines().
  • evaluateDashes(start, end, i, j, k): this function calculates the line points between start and end vertices; i,j and k represent the indices of the adjacent basepoint in the geometry array. This information is needed when a linepoint is being converted to a basepoint.
  • calculateDashes(p, q, width, height): calculates the visible part of the line defined by vertices p and q. width and height are referring to the size of the mapframe. Returns an array of two points or false, if the line is not visible in the current map.


  • Digitalisierung_-_Module_-_Point%2C_line%2C_polygon_insertion

{{Template:Digitalisierung_-_Module_-_Point%2C_line%2C_polygon_insertion}}


Übung 12: Digitalisierung im Mapbender

gesicherte WMS Kartendienste mit dem Modul OWS Proxy

  • Owsproxy

User:Uli Rothstein (Module maintainer)


EN

Mapbender OWS Proxy can be used to relay requests and results form clients to servers that are otherwise not directly accessible to the client. This feature can be used to implement facades with authentication and authorization to allow fine grained access control. The client receives a URL which is encoded to access a server in a local network behind the Mapbender installation. Mapbender then acts as the proxy for that server.

Functions

A secured web service can be accessed using the Mapbender tool 'OWS Proxy'. It creates an md5-representation to identify the requested OGC service and sends this URL to the client. Every time that the client requests this URL Mapbender rewrites the request and relays it to the correct WMS. To make sure that only authenticated users can request the service the request URL is composed dynamically using the session-ID of the user and the md5-representation of the service. The session-ID will be created during the authentification and is the ticket for the authorization.

Requests from the browser are not sent to the WMS directly but instead to the Mapbender OWS Proxy module which acts like a WMS and transfers the request for internal use. The OWS Proxy module inspects the sessionID and controls the authorization of the user. The dynamically generated OWS Online Ressource can be used until the session is closed or terminated.

External clients can also use Mapbender as a proxy. In this case the user first has to authenticate with Mapbender and then receives a list of all authorized secure services. The OWS Online Ressource will then be modified dynamically by Mapbender OWS Proxy and written to the capabilities document of the service.

Alternative more secure module see Http_auth.

Security Note

All services have to be secured from unauthorized access independetly of Mapbender. Mapbender can only create a secure access-tunnel but it does not secure the service itself. Depending on the architecture the Mapbender server has to be authorized individually to be able to access the secure service.

For additional informations please take a look at SecureInstall

For technical details please refer to the Talk:OWS Proxy Talk page.

New module

OWS Proxy is composed of three part: the module to configure the secure web service, the module to display the safe URLs and the OWSPROXY code itself:

  • mapbender/http/php/mod_owsproxy_conf.php
  • mapbender/http/javascripts/mod_owsproxy.php
  • mapbender/owsproxy/http/index.php

Module install

Note: xxx needs to be replaced with the name of your Application.

Administration module

If you add an already existing administration module to a GUI, you get an error.

The module is installed per default into **admin1**, **admin_de_services** and **admin_en_services** GUIs.

User GUI module

Otherwise it consists only of the body:

Web server configuration

The Owsproxy directory is located into the Mapbender base directory (default directory after installation). You have to configure an alias directive in the Apache configuration file:


Alias /owsproxy/ "/var/www/mapbender/owsproxy/"
<Directory /var/www/mapbender/owsproxy/>
   AllowOverride None
   Order Deny,Allow
   Allow from all
</Directory>



Check if AllowOverride, Order or Allow directives should be changed. Don't forget to restart Apache.

Mapbender configuration

Edit the configuration file mapbender.conf and add the URL for the Owsproxy:


# --------------------------------------------
# URL to owsproxy
# (no terminating slash)
# --------------------------------------------
define("OWSPROXY", "http://<ip or name>/owsproxy");

Advice

The service have to be secure for unauthorized access independet of the mapbender. Mapbender prepare the access-tunnel but doesn´t secure the service itself who ca be used on every external computer. Depending on the architecture mapbender server has to be advertised to the secure service.

DE

Funktion

Ein gesicherter Kartendienst kann über das Mapbender Admininistrationsmodul 'OWS Proxy' für Benutzer freigeschaltet werden. Dabei wird eine md5-Repräsentation des Kartendienstes angelegt. Mapbender setzt dann nicht mehr die unerreichbaren Onlineresourcen des WMS heraus, sondern eine dynamisch generierte URL, die aus der SessionID des Benutzers und der md5-Repräsentation besteht. Die SessionID wird bei der Authentisierung erzeugt und ist das Ticket, das von der Authorization benötigt wird.

Anfragen aus dem Browser werden nicht mehr direkt an den WMS gestellt, sondern an das Mapbender OWS Proxy Modul, dass sich lediglich wie ein WMS verhält und die Anfragen intern weiterleitet. Anhand der SessionID werden die Berechtigungen (Authorization) des Benutzers überprüft und seine IP kontrolliert. (Die IP-Überprüfung greift bis zu der von dem Webserver sichtbaren, internetgültigen IP-Adresse. Sofern die Anfragen des Clients mit NAT maskiert werden, erkennt der Webserver nur den maskierenden Rechner. Dadurch können IP-Adressen eines Subnetzes (z.B hinter einem Router) nicht weiter differenziert behandelt und aufgelöst werden.)

Diese dynamisch generierte Onlineresource kann genutzt werden, bis die Session beendet ist.

Externe Clients können die gesicherten Dienste einbinden, indem sich der Nutzer beim Mapbender authentisiert und durch das Oberflächenmodul eine Liste seiner gesicherten Dienste erhält. Die geänderte Online Resource wird dynamisch im Capabilities Dokument dieser Dienste geändert, wenn es von einem externen Client angefordert wird.

Hinweis

Der Dienst selbst muss unabhängig von Mapbender vor unberechtigtem Zugriff geschützt werden. Mapbender stellt einen Zugriffs-Tunnel bereit, sichert jedoch nicht den Dienst selbst, der auch auf jedem beliebigem entfernten Rechner betrieben werden kann. Je nach Architektur muss der Mapbender Server dem gesicherten Dienst deshalb individuell bekannt gemacht werden.

Eine Beschreibung für eine sichere Architektur ist auch unter SecureInstall zu finden.


Eine sichere, standardisierte Alternative hierzu findet man unter Http_auth

Änderung in der Datenbank

Die Tabelle wms erhält eine neue Spalte für den md5-String, der die jeweilige Onlineresource repräsentiert:

ALTER TABLE wms ADD wms_owsproxy VARCHAR( 50 )  NULL ;

Neue Module

Modul zur Konfiguration der sicheren Kartendienste:

../php/mod_owsproxy_conf.php

Modul zur Anzeige der sicheren URLs:

../javascripts/mod_owsproxy.php

OWSPROXY

../mapbender/owsproxy/http/index.php

Modul einbauen:

xxx ist durch die jeweilige GUI zu ersetzen
Modul für die Administration (admin-GUI) (kann schon vorhanden sein, dann gibt es beim Einfügeversuch eine Fehlermeldung)

Modul für die User-GUI
(besteht z.B. sonst nur aus dem body)

Modifikationen im Webserver

Das owsproxy-Verzeichnis liegt im Mapbender-Basisverzeichnis (liegt nach der Installation automatisch dort). Auf diesen Ordner muss ein Alias gesetzt werden, in Apache2 sieht das unter FreeBSD so aus:

Alias /owsproxy/ "/data/mapbender/owsproxy/"

<Directory /data/mapbender/owsproxy/>
    AllowOverride None
    Order Deny,Allow
    Allow from all
</Directory>

Die Paramemter AllowOverride, Order und Allow müssen ggf. geändert werden. Apache restart nicht vergessen!

Modifikationen in der mapbender.conf

Die URL auf den neuen Alias wird in der mapbender.conf eingetragen:

# --------------------------------------------
# URL to owsproxy
# (no terminating slash)
# --------------------------------------------
define("OWSPROXY", "http://<ip or name>/owsproxy");

Apache Konfiguration

Alias (ohne zusätzliche Module im Apache)

  • Im Apache muss kein Modul aktiviert werden
  • Folgender Regulärer Ausdruck muss in Apache formuliert werden (entweder in /includes oder in der httpd.conf):

Der String <name or ip> muss durch die URL ersetzt werden unter der das OWS Proxy Modul für die Clients erreichbar ist.

In diesem Fall zielt der Reguläre Ausdruck auf das virtuelle Verzeichnis:

Alias /owsproxy/ "/<path>/owsproxy/"

(diese Angaben beziehen sich auf Apache2, weitere Informationen: apache

rewrite

  • Installation zusätzlicher Module im Apache erforderlich
  • proxy + rewrite
  • a2enmod proxy und a2enmod rewrite
  • a2enmod proxy_http

  • Datei mods-enabled/proxy.conf so einstellen:
ProxyRequests Off
<Proxy *>
       AddDefaultCharset off
       Order deny,allow
       Allow from localhost
       #Allow from .example.com
</Proxy>

Liste der geänderten Dateien

  • mapbender.conf -> owsproxy-URL + include path
  • map.php -> handling für die proxyURLs
  • class_administration -> md5 set/unset + all guis
  • class_wms -> md5 statt onlineresoure
  • database_mysql.php -> include path + db_prep_query()
  • database_pgsql.php -> include path + db_prep_query()</pre>

Links

Presentations and Links


OWS Proxy Logging

Allows to log OWS Proxy GetMap requests, and charge a price per Megapixel

Availability

Available in Mapbender 2.7+. For Mapbender 2.6, add this SQL

and merge these files from trunk

  • classes/class_administration.php
  • php/mod_owsproxy_conf.php
  • owsproxy/index.php

Usage

Open the OWS Proxy dialog in the administration interface, activate OWS Proxy by clicking the checkbox. Only then the "Log" checkbox becomes available. Click it.

File:Owsproxy_log_1.png

Whenever this WMS is requested within an application, a database entry is created

File:Owsproxy_log_2.png

Mapbender erste Schritte

Anmeldung – GUI erzeugen – WMS laden

  1. Starten Sie Mapbender http://localhost/mapbender/http/index.php oder http://localhost/mapbender/index.php
  2. Melden Sie sich an: user: root password: root
  3. Sie erhalten eine Übersicht der zur Verfügung stehenden GUIs (Oberflächen)
  4. Schauen Sie sich die gui1 an (Klick auf den Namen der GUI)
  5. Öffnen Sie die GUI admin2_de (Administrationsoberfläche)
  6. Erzeugen Sie eine GUI: GUI erzeugen
  7. Füllen Sie diese GUI mit Elementen: Oberflächenelemente editieren -> GUI auswählen -> Edit Element (Template auswählen) -> Add all Elements (nehmen Sie die gui1 als Vorlage für Ihre neue GUI)
  8. einen vorhandenen WMS in eine GUI einbinden erfolgt über die GUI admin2_de WMS in GUI einbinden (GUI auswählen, dann WMS, der in die GUI überführt werden soll auswählen)
  9. oder einen neuen WMS in GUI laden über: Capabilities hochladen
    1. dazu ein Beispiel getCapabilities-Request: [| http://www.geoserver.nrw.de/GeoOgcWms1.3/servlet/DTK10?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.1.1]
  10. WMS GUI Einstellungen (Änderungen der WMS-Einstellungen durchführen)
  11. nach jedem Aktualisieren eines WMS, muß der root Layer (Nr. 0) unter WMS GUI Einstellungen angestellt werden (WMS auswählen -> Haken setzen Nr. 0)
Anzeige der GUI-Übersicht
  • zur Übersicht der GUIs über den Button home_off.png

Übungen Mapbender Schulung

Übung 1: Installation Mapbender

  • Installieren Sie den Apache WebServer, PHP, MySQL oder PostgreSQL und Mapbender auf Ihrem Rechner
  • Legen Sie eine Datei phpinfo.php an und testen Sie damit Ihre php-Installation:
  • Legen Sie eine Datenbank mit dem Namen mapbender in der PostgreSQL Datenbank an. Lesen Sie die Anweisung zur Installation (mapbender/installation.txt und befolgen Sie die Anweisungen weitere Informationen zur Installation finden sich unter: http://www.mapbender.org/index.php/Installation_de)
  • Passen Sie die Konfigurationsdatei von Mapbender mapbender/conf/mapbender.conf an Ihre Umgebung an
  • Starten Sie den Mapbender und melden Sie sich als Benutzer root mit dem Passwort root an.
  • Testen Sie die erfolgreiche Verbindung zur Mapbender-Datenbank über den Aufruf der mapbender_setup.php (http://localhost/tools/mapbender_setup.php)

Übung 2: Einbinden eines WMS

  • Laden Sie einen WMS über den getCapabilities-Aufruf.

http://wms1.ccgis.de/cgi-bin/mapserv?map=/data/umn/germany/germany.map&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.1.1

  • Untersuchen Sie den Aufbau des getCapabilities-Requests. Schauen Sie sich das getCapabilities-XML an.
  • Führen Sie einen Update auf einen WMS durch.
  • Löschen Sie einen WMS.

(weitere Infos unter: http://www.mapbender.org/index.php/WMS_Verwaltung )

Übung 3: GUI

  • Legen Sie eine eigene GUI an. Laden Sie mehrere WMS in diese GUI (siehe Link WMS in GUI einbinden sowie WMS Liste).
  • Konfigurieren Sie den WMS so, dass nicht alle Ebenen angezeigt werden.
  • Ändern Sie die Reihenfolge der Ebenen.
  • Ändern Sie den logischen Zoom für eine Ebene.
  • Ändern Sie den EPSG-Code, das Infoformat und das Exceptionsformat eines WMS.
  • Lassen Sie sich die WMS Informationen über den Metadata-Button anzeigen. Schauen Sie sich die Änderung im getMap-Aufruf an.

(weitere Infos unter: http://www.mapbender.org/index.php/Interface_Management )

Übung 4: Benutzer-/ Gruppenadministration

  • Legen Sie einen neuen Benutzer an. Füllen Sie die Formulareinträge für den neuen Benutzer aus.
  • Melden Sie sich viermal falsch mit dem neuen Benutzer an. Was passiert?
  • Der Besitzer des Benutzers kann über die Mapbender Oberfläche den Login-Count wieder auf 0 setzen. Hierdurch ist eine erneute Anmeldung möglich.
  • Gehen Sie in die Tabelle mb_user mit phpPgAdmin und schauen Sie sich die Einträge an.

http://localhost/phppgadmin/index.php (user:postgres password: postgres)

  • Gehen Sie in die mapbender.conf-Datei und setzen Sie den MAXLOGIN auf 10.

(weitere Infos unter: http://www.mapbender.org/index.php/Benutzerverwaltung )

Übung 5: GUI - individuelle Anpassungen

(Hinweise zur GUI http://www.mapbender.org/index.php/Interface_Management )

  • Legen Sie eine neue GUI an. Verändern Sie das Erscheinungsbild der GUI.
  • Verändern Sie die Hintergrundfarbe Ihrer GUI
  • Legen Sie ToolTipTexte an.
  • Weisen Sie den Overview einem anderen WMS zu.
  • Ändern Sie das Copyright (siehe element_vars)
  • Bauen Sie ein Logo ein.
  • Entfernen Sie unnötige Buttons.
  • Verwenden Sie eine andere Button Collection und einen anderen Ordner-Style (siehe mapbender/http/img/)
  • Lassen Sie sich die Legende nur mit WMS Titeln ausgeben
  • Schauen Sie sich die element_vars der Legende an und lesen Sie die Beschreibung der Legende im Mapbender-Wiki
Exportieren Sie Ihre GUI.
  • Schauen Sie sich das SQL der GUI an.
  • Ändern Sie den Namen der GUI im SQL und laden Sie das SQL in die Datenbank.
  • Weisen Sie die neue GUI Ihrem Benutzer als owner zu (Eintrag in der Datenbank gui_mb_user)

Übung 6: Reiterstruktur mit dem Element tabs

  • Legen Sie eine GUI mit dem Element tabs an und binden den Geodataexplorer (treeGDE), die Legende und den Druck in dieses Element ein.
  • Bitte beachten Sie, dass die Elemente, die in die Reiterstruktur eingebunden werden, folgende Einstellungen benötigen:
    • Styles: visibility: hidden
    • width: 1 / height: 1 / top: 1 / left 1

Mehr dazu im WIKI unter: http://www.mapbender.org/index.php/Tabs_vertical

Übung 7: WMS als Hintergrundkarte

  • Erzeugen Sie eine GUI mit einer Hintergrundkarte. Nutzen Sie dazu das Element setBackground (siehe gui).
  • Lesen Sie die Funktionalität dieses Elements im Mapbender-Wiki nach (Suche im WIKI www.mapbender.org Stichwort setBackground)

Übung 8: Ordnerbaum konfigurieren und einbinden (treeConfGDE)

  • Erzeugen Sie eine GUI mit einer selbst konfigurierten Baumstruktur.
  • Konfigurieren Sie die Baumstruktur über den Link Ordnerbaum konfigurieren in der admin2_de. Die Baumstruktur wird über das Element treeconfGDE angezeigt.

(mehr Informationen im WIKI unter: ConfTreeGde und http://www.mapbender.org/index.php/Interface_Management)

Übung 9: Integration von Mapbender in die eigene Architektur

Mapbender GUI über einen Link öffnen

  • Legen Sie einen Gastuser an. Weisen Sie dem Gastuser eine GUI zu. Melden Sie sich als Gastuser an.
  • Legen Sie eine Gruppe an. Binden Sie den neuen User in diese Gruppe ein. Weisen Sie der Gruppe die gui1 zu.
  • Erstellen Sie einen Link, mit dem Ihre GUI mit dem Ausschnitt von Wien geöffnet wird (siehe WIKI Stichwort setBBOX).
  • Werfen Sie dazu auch einen Blick in die Mapbender Gallery (http://www.mapbender.org/index.php/Mapbender_Gallery)

Übung 10: PDF-Druck

  • Passen Sie den pdf-Druck an. Erstellen Sie eine Druckausgabe mit Overview, Maßstabsbalken und Nordpfeil.
  • Passen Sie den Kartenspiegel an.
  • Richten Sie den Druck so ein, dass das PDF erst über einen Link geöffnet wird.
  • Loggen Sie die Druckaufträge in der Mapbender Datenbank.
  • Richten Sie für den WMS den hochqualitativen Druck ein.

(mehr Infos unter: http://www.mapbender.org/Print)

Übung 11: WFS Einbindung und Konfiguration

  • Schauen Sie sich die WFS Suche in der gui an. (siehe WIKI WFS Konfiguration)
  • Laden Sie einen WFS über den Link LOAD WFS in der admin1.
  • Konfigurieren Sie eine WFS-Suche über den Link WFS CONF (admin1).

Orientieren Sie sich an den Einstellungen der vorhandenen Angaben zu Mapbender User (WFS CONF -> edit -> Mapbender User). Mapbender User ist als WFS Suche in der GUI gui eingebunden.

  • Lassen Sie sich die Ergebnisse der Suche mit Vorname Name Stadt und abwechselnd grau und schwarz anzeigen.

Übung 12: gui_digitize - Digitalisierung mit Mapbender

  • Wählen Sie Objekte zur Digitalisierung aus (Select-Buttons oben rechts)
  • Digitalisieren Sie eine Fläche. Digitalisieren Sie eine weitere Fläche und snappen dabei an die bereits vorliegende Fläche.
  • Fügen Sie Stützpunkte ein und verschieben Sie Stützpunkte.
  • Verändern Sie den Namen eines Objektes.

Übung 13: owsproxy

  • Konfigurieren Sie das owsproxy-Modul für Ihren Mapbender
  • bauen Sie eine gui mit sicheren WMS auf
  • Inforamtionen unter owsproxy

Mapbender_Tutorial

mapbender_tutorial_komplett

Views
Personal tools