Navigation:  WebOffice APIs >

Service API

Previous pageReturn to chapter overviewNext page

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.7 SP1 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.7 SP1 Client gestartet werden soll.

Verwenden Sie beispielsweise

project=WebOffice_SampleProject

um die Konfiguration des WebOffice 10.7 SP1 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)

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.7 SP1 Suche auszuführen, können diese Parameter übergeben werden.

WebOffice 10.7 SP1 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.7 SP1 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

image_format (PNG | JPG | data_only)

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

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:

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!