Deprecated WFS gazetteer
From MapbenderWiki
Contents |
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). 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. Send all GazetteerIDs of WFS with SRC (comma-separated) which you want to use for WFS search. To use WFS gazetteer there has to be at least one GazetteerID given in SRC. Be sure that your wfs configurations contain all parameters which are needed.
- Target: mapframe1
- SRC: ../php/mod_wfs_gazetteer.php?sessionID&wfs_conf=1,3,4,2&target=mapframe1,overview&resultFrame=wfsresult
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.
- 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"). 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 GazetteerID in SRC komma-separiert angehängt. Es sollte mindestens eine GazetteerID angegeben werden. Es ist zu überprüfen, ob die WFS-Konfigurationen mit allen notwendigen Parametern versehen sind.
- Target: mapframe1
- SRC: ../php/mod_wfs_gazetteer.php?sessionID&wfs_conf=1,3,4,2&target=mapframe1,overview&resultFrame=wfsresult
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.
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:
- Weitergehende Informationen zu UMN als WFS-Server: http://mapserver.gis.umn.edu/docs/howto/wfs_server/
- "gml_include_items" muss eingetragen werden, sonst werden keine Felder zurückgeliefert.
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.
Files
https://mapbender.osgeo.org/source/browse/mapbender/trunk/mapbender/http/php/mod_wfs_gazetteer.php
SQL

