Service API
Der HTTP Dienst API (REST Style) ermöglicht die Weitergabe von Bilddateien oder JSON (JavaScript Object Notation) Antworten für eine leichtere und schnellere Integration von GIS Funktionalitäten innerhalb von Webseiten oder Web-Anwendungen, die keinen strengen GIS-Fokus haben.
Die Vorbedingung für einen Kartenservice ist ein laufendes WebOffice 10.9 SP2 Projekt. Anstatt, dass das Projekt mit https://myserver.domain.com/<WebOffice web application>/synserver aufgerufen wird, wird die Vorschau der Bilddaten mit https://myserver.domain.com/<WebOffice web application>/synservice aufgerufen.
Mehrere Parameter, die aus dem URL Integrationsaufruf bekannt sind, werden unterstützt (siehe auch Kapitel WebOffice URL Call Schnittstelle):
Aktionen / Parameter |
Beschreibung |
||||
|---|---|---|---|---|---|
Basisinformation |
|||||
project |
Spezifiziert die Kennung des Projekts (Projektname), das vom WebOffice 10.9 SP2 Client gestartet werden soll. Verwenden Sie beispielsweise project=WebOffice_SampleProject um die Konfiguration des WebOffice 10.9 SP2 Sample Projects zu starten. |
||||
projectinfo |
Die JSON-Response zeigt im Knoten PROJECTINFO die Layer-ID sowie die Geometrietypen der Editierlayer |
||||
metainfo |
In der Response des Synservice-Requests sind unter dem Knoten METAINFO Informationen zur Version und Erstellungszeitpunkt der verwendeten WebOffice Version herauszulesen. |
||||
user |
Benutzer (bei Verwendung von WebOffice usermanagement) |
||||
password |
Passwort (bei Verwendung von WebOffice usermanagement) |
||||
usergroup |
Eine Gruppenauswahl kann durch den Parameter usergroup verarbeitet werden (bei Verwendung von WebOffice usermanagement) |
||||
roles |
Rolle bei Authentifizierungstyp HTTP und Authentifizierungstyp Portalverbundprotokoll (bei Verwendung von WebOffice usermanagement) |
||||
um_fallback |
Sofern ein UM Fallback beim Authentifizierungstyp konfiguriert ist, kann mit dem Parameter um_fallback=True die Authentifizierung mittels UMDB-Zugang erfolgen. |
||||
Kartendarstellung |
|||||
x (map units) |
Verwenden Sie diesen Parameter, um für die Initialisierung den Zentrumspunkt (X-Koordinate) festzulegen |
||||
y (map units) |
Verwenden Sie diesen Parameter, um für die Initialisierung den Zentrumspunkt (Y-Koordinate) festzulegen |
||||
scale |
Verwenden Sie diesen Parameter, um für die Initialisierung den Maßstab festzulegen |
||||
width (px) |
Breite (in Pixel) des Kartenbildes |
||||
height (px) |
Höhe (in Pixel) des Kartenbildes |
||||
view |
Definiert die verwendete Kartenansicht des Kartenbildes Die Konfiguration einer Kartenansicht enthält eine eindeutige Kennung (Kennung für externen Aufruf). Falls z.B. die Kennung in WebOffice author standalone citymap lautet, verwenden Sie: view=citymap |
||||
basemapview |
Bestimmt die initiale Hintergrundkarten Ansicht des Kartenbildes Die Konfiguration einer Hintergrundkarten-Ansicht enthält eine eindeutige Kennung (Kennung für externen Aufruf). Falls z.B. die Kennung in WebOffice author standalone orthofoto lautet, verwenden Sie: basemapview=orthofoto. |
||||
geo_bookmark |
Verwenden Sie diesen Parameter, wenn Sie die Karte in einem bestimmten Bereich darstellen möchten.
|
||||
exclude_north_and_scale=true |
Durch die Angabe des Parameters &exclude_north_and_scale=true wird nur das Kartenbild angezeigt. Der Nordpfeil, die Maßstabsleiste und das Copyright werden durch diesen Parameter in weiterer Folge unterdrückt. |
||||
dpi |
Ermöglicht es hochwertige Kartenbilder für Fremdapplikationen bereitzustellen. Defaultmäßig erfolgt die Darstellung mit 96dpi; durch die Angabe dieses Parameters kann nun ein vielfaches von 96 angegeben werden, z.B.: dpi=192 oder dpi=288
|
||||
Position |
|||||
xmin ymin xmax ymax |
Verwenden Sie diese 4 Parameter, um den initialen Kartenausschnitt festzulegen. |
||||
lat lon |
Startet die Anwendung zentriert auf die angegebene Position (WGS84), welche durch die Parameter lat/lon (Dezimalgrad, Separator = .) festgelegt wird; Funktioniert mit jedem Projekt; lat/lon werden von WGS84 in das Projekt-Koordinatensystem projiziert. |
||||
coordmarker_lat_lon |
Zeigt ein Bild (standardmäßig pub\images\meet_x_20_20.png) zur Markierung jener Stelle, die durch die angegebenen Koordinaten festgelegt ist. Trennen Sie die beiden Koordinaten entweder durch ein Leerzeichen oder durch %20. Bsp.: &coordmarker_lat_lon=47.069 15.435 &coordmarker_lat_lon=47.069%2015.435
|
||||
coordmarker_id |
Geben Sie hier jene ID an, die in WebOffice author standalone beim Werkzeug Symbol platzieren als Kennung für externen Aufruf konfiguriert ist. Dieses Bild wird an jener Stelle dargestellt, die im Parameter coordmarker_lat_lon festgelegt ist. |
||||
Funktionen |
|||||
query (1... n) keyname (1... n) keyvalue (1... n) separator
|
Um eine WebOffice 10.9 SP2 Suche auszuführen, können diese Parameter übergeben werden. WebOffice 10.9 SP2 führt dann die Suche durch und zeigt die Ergebnisse im Suchergebnis und der Karte.
Der Parameter query identifiziert eine vordefinierte Suche.
Suche mit mehreren Suchfeldern: Es ist auch möglich, mehrere Suchfelder zu benutzen. Wenn Sie beispielsweise Adressdaten mit den Feldern STRASSENNAME und HNR (=Hausnummer) haben, dann ist es möglich, spezifisch nach STRASSENNAME UND HAUSNUMMER zu suchen (Suche beispielsweise nach der Adresse Herrengasse, 1). Dies geschieht durch die Übermittlung eines URL Aufrufs wie etwa https://gisserver/WebOffice/externalcall.jsp?project=WebOffice_SampleProject&client=core&query=address&keyname=STRASSENNAME&keyvalue=Herrengasse&query1=address&keyname1=HNR&keyvalue1=1
Verwendung von Platzhalter: Durch Verwendung des * Zeichens ist es möglich, nach Suchwerten mit einem Platzhalter zu suchen. So kann man z.B. durch Verwendung von keyvalue=M* nach Namen suchen, welche mit M beginnen.
Multilayer-Suchen: Multilayer-Suchen können durchgeführt werden, indem die Parameter query, keyname und keyvalue wiederholt werden und ein Suffix angehängt wird. Sie können jedes Suffix verwenden (Zahlen, Buchstaben etc.), solange es mit query, keyname, keyvalue verbunden wird. Beachten Sie, dass der WebOffice-Aufruf mittels Multilayer-Suche nur im WebOffice core sowie WebOffice html Client verfügbar ist, weil nur dort ein Objektbrowser verfügbar ist, der Multilayer-Ergebnisse anzeigen kann.
Beispiel: externalcall.jsp?query=queryid_layer1&keyname=field_layer1&keyvalue=value_layer1&query2=queryid_layer2&keyname2=field_layer2&keyvalue2=value_layer2 externalcall.jsp?query_A=queryid_layer1&keyname_A=field_layer1&keyvalue_A=value_layer1&query_B=queryid_layer2&keyname_B=field_layer2&keyvalue_B=value_layer2
Geolocator-Abfragen: WebOffice 10.9 SP2 unterstützt auch Geolocator-Abfragen, indem die Parameter query und keyvalue übergeben werden. Der Parameter query beinhaltet jenen Wert, der in der Geolocator-Abfrage als Kennung für externe Suche vergeben wurde (siehe Kapitel Suche/Abfrage), keyvalue beinhaltet die Adresse für die Geolocator-Suche. Beispiel: externalcall.jsp?project=Test_Stmk&query=geoloc&keyvalue=Herrengasse 1, 8010 Graz
Der Parameter separator definiert die Trennung zwischen mehreren Suchwerten (keyvalue). Folgende Trennzeichen können verwendet werden: @ ; - ! ~ / : = |
||||
returnkey |
Dieser Parameter steuert das Ergebnis bei einer übergebenen Query, wobei das im returnkey angegebene Attribut zurückgegeben wird
|
||||
gp_tool gp_param_name gp_param_value |
Angabe eines im Projekt konfigurierten GP-Werkzeugs (gp_tool), dessen Ergebnis zurückgegeben wird, sowie dessen Parameter (gp_param_name) und deren Werte (pg_param_value). |
||||
query_fts_mw |
|
||||
suggId_fts_mw |
|
||||
edit |
|
||||
Der Wert data_only bewirkt, dass beim Editieren eines Einzelfeatures – wie auch bei Massenbearbeitungen - kein Bild erzeugt wird, womit bei einer hohen Anzahl an einzelnen Editieraufrufen Datenbank, CPU und Speicher entlastet werden können |
Um Informationen über die aktuelle Version (Version und Erstellungszeitpunkt) zu erhalten, können Sie einfach den synservice-Request ohne project-Parameter absetzen.
Beispiel-Aufruf: https://<myserver>/WebOffice/synservice
In der Response des Synservice-Requests sind unter dem Knoten METAINFO folgende Informationen herauszulesen:
{
"METAINFO": {
"version": 10.5,
"build": 20130228-1717,
"mw_lic": true"
},
"response_id": 1ead5c3c-1bcc-4cd6-b4b0-e186d42df2ca"
}
Aktionen / Parameter |
Beschreibung |
|---|---|
version |
Installierte WebOffice-Version (Major Release) |
build |
Aktueller Build der WebOffice-Version |
mw_lic |
Vorhandensein einer WebOffice map widget-Lizenz (true/false) |
Durch Angabe eines Projekts und des Parameters &projectinfo=true werden Informationen über die Geometrietypen der Editierlayer bekannt gegeben.
Beispiel-Aufruf: https://<myserver>/WebOffice/synservice?project=World&projectinfo=true
Die JSON-Response zeigt im Knoten PROJECTINFO die Layer-ID sowie die Geometrietypen der Editierlayer:
{
"MAP": {
"url": http://myserver/wo_output/World_20130304_152121_620_40.jpg,
"x": 1288411.5,
"y": 6023839.5,
"scale": 1.174874185680074E7,
"width": 640,
"height": 400,
"upp": 3108.5275
},
"PROJECTINFO": {
"projectname": World,
"scales": null,
"editlayers": [
{
"layername": points,
"geometry_type": POINT"
},
{
"layername": lines,
"geometry_type": LINE"
},
{
"layername": areas,
"geometry_type": POLYGON"
}
]
},
"response_id": 00e38478-4ec4-43e6-88b4-13e245c4073c"
}
Um einen Eindruck zu bekommen, wie man eine JSON Bildvorschau in einer Webseite nutzt und um eine Testmöglichkeit für die Aufrufe zu haben, stellt VertiGIS eine Demoseite (Datei preview.jsp) zur Verfügung, um die Funktionalität von der synservice-Schnittstelle ansehen zu können.
Rufen Sie diese mit https://myserver.domain.com/<WebOffice web application>/client_preview/preview.jsp auf.

Demoseite für synservice-Schnittstelle
|
Das Bildformat des zurückgegebenen Bildes wird in den Bildüberlagerung-Optionen in der Konfiguration von WebOffice festgelegt (siehe das Kapitel Bildüberlagerung für weitere Informationen). |
Hier können Sie Anfragen und Antworten testen, z.B.:
../synservice?project=WebOffice_SampleProject&query=CNTRY&keyname=CNTRY_NAME&keyvalue=Austria&width=300&height=200
für eine JSON Anfrage. Die Antwort, um es in Ihre Webseite einzubetten, lautet:
{
"MAP": {
"url": http://<configured output folder>/Demo-Projekt_f_r_WebOffice_Demo-Projekt_f_r_WebOffice_20101210_131400_478_0c.png,
"x": 4570333.84795,
"y": 2744950.30755,
"scale": 7889575.407841748,
"width": 300,
"height": 200,
"upp": 2087.4543349000005
},
"FEATURES": {"COORDS": [{
"x": 150,
"y": 117
}]}
}
Die Anfrage wäre:
../synservice?project=WebOffice_SampleProject&query=CNTRY&keyname=CNTRY_NAME&keyvalue=Austria&width=300&height=200&format=image
welches Sie direkt als Quelle für ein Bild in Ihre Webseite einbinden können.
|
Die voreingestellten Kartenansichten werden ignoriert. Die dargestellten Layer beziehen sich nur auf den Themenbaum der Kartensammlung! |