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.5 Projekt. Anstatt dass das Projekt mit http://<WebOffice web application>/synserver aufgerufen wird, wird die Vorschau der Bilddaten mit http://<WebOffice web application>/synservice aufgerufen.

Mehrere Parameter, die aus dem URL Integrationsaufruf bekannt sind, werden unterstützt (eine detailliertere Beschreibung zu diesen Parametern finden Sie im Kapitel WebOffice URL Call Schnittstelle):

project

query (1… n)

keyname (1… n)

keyvalue (1… n)

user

password

usergroup

roles (Authentifizierungstyp HTTP und Authentifizierungstyp Portalverbundprotokoll)

x

y

scale

width

height

view

basemapview

xmin

ymin

xmax

ymax

lat

lon

coordmarker_lat_lon

coordmarker_id

metainfo

projectinfo

geo_bookmark

exclude_north_and_scale

separator

 

Um Informationen über die aktuelle Version (Version und Buildtime) zu erhalten, können Sie einfach den synservice-Request ohne project-Parameter absetzen. Beispiel-Aufruf: http://w-ws-schmoelz/WebOffice10R3_latestBuild/synservice

In der Response des Synservice-Requests sind unter dem Knoten METAINFO folgende Informationen herauszulesen:

{

 "METAINFO": {

   "version": "10.3",

   "build": "20130228-1717",

   "mw_lic": "true"

 },

 "response_id": "1ead5c3c-1bcc-4cd6-b4b0-e186d42df2ca"

}

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: http://w-ws-schmoelz/WebOffice10R3_latestBuild/synservice?project=World&projectinfo=true

Die JSON-Response zeigt im Knoten PROJECTINFO die Layer-ID sowie die Geometrietypen der Editierlayer:

{

 "MAP": {

   "url": "http://w-ws-schmoelz/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"

}

 

 

Hinweis zu query/keyvalue: Um diese Parameter auch für Geolocator Abfragen zu verwenden siehe Kapitel WebOffice URL Call Schnittstelle.

 

Folgende Parameter werden nur für die 'synservice'-Schnittstelle unterstützt:

image_format (PNG | JPG)

returnkey (dieser Parameter steuert das Ergebnis bei einer übergebenen Query, wobei das im returnkey angegebene Attribut zurückgegeben wird)

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 zum returnkey: 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;...)

 

Hinweis zu user/password: Seit WebOffice 10.4 SP2 kann eine Gruppenauswahl durch den Parameter usergroup verarbeitet werden.

 

Hinweis zu dpi: 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).

 

Hinweis: Um Abfrage, Keyname- und Keyvalue-Parameter nutzen zu können, sind eine Externe-Layer-ID und ein Suchfeld nötig.

 

Hinweis: Für die Editierfunktionalität (Unterstützung der URL Call Parameter zum Editieren) mit den Parametern editaction, editkeyfield, editkeyvalue und geometry, kontaktieren Sie bitte Ihr entsprechendes WebOffice Support Team.

 

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  SynerGIS die Datei 'preview.jsp' zur Verfügung. Rufen Sie diese mit http://<WebOffice web application>/client_preview/preview.jsp auf.

 

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 wäre:

{

  "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!