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.8 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.8 SP2 Client gestartet werden soll. Verwenden Sie beispielsweise project=WebOffice_SampleProject um die Konfiguration des WebOffice 10.8 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. Hinweis: Um diesen Aufruf zu nutzen, muss zumindest ein Geo-Bookmark konfiguriert sein. (Siehe Kapitel Geo-Bookmark). Falls z.B. die Kennung in WebOffice author standalone "Wien" lautet, dann verwenden Sie: "geo_bookmark=Wien". |
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 Hinweis: Wird z. B. ein Kartenbild mit &dpi=288 abgefragt, dann handelt es sich um ein 288 dpi Bild, welches aber bezüglich 96 dpi dargestellt wird. Daher muss auch die Bildgröße dementsprechend angepasst werden. - In diesem Fall (288 dpi; dreifaches von 96 dpi) muss dann auch ein drei mal so großes Bild angezeigt werden (width/height). |
Position |
|
xmin ymin xmax ymax |
Verwenden Sie diese 4 Parameter, um den initialen Kartenausschnitt festzulegen. |
lat lon |
Startet die Applikation 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 Hinweis: Das Bild kann durch Angabe des folgenden Parameters (coordmarker_id) geändert werden. |
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.8 SP2 Suche auszuführen, können diese Parameter übergeben werden. WebOffice 10.8 SP2 führt dann die Suche durch und zeigt die Ergebnisse im Suchergebnis und der Karte.
Hinweis: Verwenden Sie für den "keyname" ausschließlich den technischen Feldnamen und nicht die Alias-Bezeichnung des Feldes.
Der Parameter query identifiziert eine vordefinierte Suche.
Hinweis: Um Abfrage, Keyname- und Keyvalue-Parameter nutzen zu können, sind eine Externe-Layer-ID und ein Suchfeld nötig.
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-Abfrage: Geolocator-Abfragen: WebOffice 10.8 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 Hinweis: Eine einfache Verwendung des returnkey könnte sein: synservice?project=Test_Stmk&query=test&keyname=OBJECTID&keyvalue=1&returnkey=Name Außerdem ist es möglich mehrere Felder als returnkey zu konfigurieren. Hierfür müssen die Felder mit ";" verbunden werden (Beispiel: &returnkey=Name;ID;...) |
gp_tool gp_param_name gp_param_value |
Angabe eines im Projekt konfigurierten GP-Tools (gp_tool), dessen Ergebnis zurückgegeben wird, sowie dessen Parameter (gp_param_name) und deren Werte (pg_param_value). Hinweis: Als Inputparameter für das Geoprocessing kann auch ein GPX-File angegeben werden. Die GPX-Datei schickt dabei man mittels multipart/form-data. Dabei muss name="gpxFile" gesetzt sein. Hinweis: Sollte die Dateigröße zu groß sein, um verarbeitet werden zu können, kann die Maximalgröße von POST-Requests konfiguriert werden unter "C:\Program Files\ArcGIS\Server\framework\runtime\tomcat\conf\server.xml" - Attribut maxPostSize |
query_fts_mw |
Für mehr Details siehe FTS in Service API |
suggId_fts_mw |
Für mehr Details siehe FTS in Service API |
edit |
Für mehr Details siehe Editieren in Service API |
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 Projektes 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
Hinweis: 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.
Hinweis: Die voreingestellten Kartenansichten werden ignoriert. Die dargestellten Layer beziehen sich nur auf den Themenbaum der Kartensammlung!