4. TransformService

4.1. Einleitung

Mit dem GeoShop TransformService kann ein Punkt oder eine andere Geometry von einem Koordinatenreferenzsystem in ein anderes Koordinatenreferenzsystem transformiert werden. Zum Beispiel die Schweizer Koordinaten von LV03 nach LV95.

Ein Anwendungsbeispiel kann eine Datenbestellung beim GeoShop über den OrderService sein. Der Bestellbereich ist in LV03 vorhanden, das Produkt für die Bestellung verlangt aber den Bestellbereich in LV95. Mit dem TransformService kann der Bestellbereich von LV03 nach LV95 transformiert werden.

4.2. TransformService Endpunkte und Methoden

4.2.1. Service Endpunke

Der GeoShop TransformService kann via folgende SOAP bzw. WSDL Service Endpunkte erreicht werden:

GEOSHOP_URL/soap/transformservice.igs

SOAP Schnittstelle.

GEOSHOP_URL/soap/transformservice.igs?wsdl

WSDL Beschreibung der SOAP Schnittstelle.

Wobei für GEOSHOP_URL die Basisadresse des GeoShop eingesetzt werden muss (z.B. http://localhost:3501).

4.2.2. Koordinatenreferenzsysteme

Für die Transformationen werden die Input- und Output-Koordinatenreferenzsysteme mit dem EPSG-Code angegeben. Beispiele von EPSG-Codes sind:

2056

CH1903+ / LV95 Schweizer Koordinatenreferenzsystem LV95

3857

WGS 84 / Pseudo-Mercator, Google, OpenStreetMap, etc.

4326

WGS 84

21781

CH1903 / LV03 Schweizer Koordinatenreferenzsystem LV03

21782

FL1903 / LV03 Lichtensteinisches Koordinatenreferenzsystem LV03

Weitere Koordinatenreferenzsysteme werden bei Bedarf implementiert.

4.2.3. Geometrien

Die Methode getPoint verlangt einen Punkt als x,y,z Koordinaten.

Die Methode getGeometry verlang eine Geometrie als OGC WKT Geometrie.

Beispiele von OGC WKT Geometrien sind:

POINT (30 10)
LINESTRING (30 10, 10 30, 40 40)
POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))

Mehr zu OGC WKT Geometrien siehe unter den Dokumentationen der OGC.

4.2.4. getPoint Methode

4.2.4.1. Beschreibung

Die getPoint Methode transformiert einen Punkt mit den Koordinaten x,y,z von einem Koordinatenreferenzsystem in ein anderes Koordinatenreferenzsystem.

[Anmerkung]

Die Methode getGeometry ist eine allgemeinere Methode und transformiert neben Punkten auch andere Geometrietypen.

4.2.4.2. XML Input Objekt

Die getPoint Methode wird durch folgendes XML-Objekt aufgerufen (Darstellung mit soap:Body und soap:Envelope):

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 
   <soap:Body>
      <getPoint xmlns="http://www.infogrips.ch/geoshop/user/">
         <epsgin xmlns="">epsgin</epsgin>
         <epsgout xmlns="">epsgout</epsgout>
         <pointin xmlns="">
            <x xmlns="">x</x>
            <y xmlns="">y</y>
            <z xmlns="">z</z>
         </pointin>
      </getPoint>
   </soap:Body>

</soap:Envelope>

Beschreibung der variablen Anteile:

epsgin (Integer)

EPSG Code des Input Koordinatenreferenzsystemes

epsgout (Integer)

EPSG Code des Output Koordinatenreferenzsystemes

x (Double)

Input x Koordinate

y (Double)

Input y Koordinate

z (Double)

Input z Koordinate

4.2.4.3. XML Output Objekt

Die getPoint Methode liefert als Resultat der Anfrage folgendes XML-Objekt (Darstellung mit soap:Body und soap:Envelope):

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">

   <soap:Body>
    <getPointResponse xmlns="http://www.infogrips.ch/geoshop/user/">
      <pointout xmlns="">
         <x>x</x>
         <y>y</y>
         <z>z</z>
      </pointout>
    </getPointResponse>
  </soap:Body>

</soap:Envelope>

Beschreibung der variablen Anteile:

x (Double)

Output x Koordinate

y (Double)

Output y Koordinate

z (Double)

Output z Koordinate

4.2.5. getGeometry Methode

4.2.5.1. Beschreibung

Die getGeometry Methode transformiert einen OGC WKT Geometrie von einem Koordinatenreferenzsystem in ein anderes Koordinatenreferenzsystem. DIe OGC WKT Geometrie kann eine von der OGC unterstützen Geometrietypen sein.

4.2.5.2. XML Input Objekt

Die getGeometry Methode wird durch folgendes XML-Objekt aufgerufen (Darstellung mit soap:Body und soap:Envelope):

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema">

   <soap:Body>
      <getGeometry xmlns="http://www.infogrips.ch/geoshop/user/">
         <epsgin xmlns="">epsgin</epsgin>
         <epsgout xmlns="">epsgout</epsgout>
         <geometryin xmlns="">geometry</geometryin>
       </getGeometry>
   </soap:Body>

</soap:Envelope>

Beschreibung der variablen Anteile:

epsgin (Integer)

EPSG Code des Input Koordinatenreferenzsystemes

epsgout (Integer)

EPSG Code des Output Koordinatenreferenzsystemes

geometry (String OGC WKT)

Input Geometrie als OGC WKT Geometrie

4.2.5.3. XML Output Objekt

Die getGeometry Methode liefert als Resultat der Anfrage folgendes XML-Objekt (Darstellung mit soap:Body und soap:Envelope):

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">

   <soap:Body>
     <getGeometryResponse xmlns="http://www.infogrips.ch/geoshop/user/">
        <geometryout>geometry</geometryout>
     </getGeometryResponse>
   </soap:Body>

</soap:Envelope>

Beschreibung der variablen Anteile:

geometry (String OGC WKT)

Output Geometrie als OGC WKT Geometrie