Ein Tarif ist im allgemeinen eine beliebige Funktion (Verrechnungsfunktion) welche sich aus den Inputdaten und bzw. den vom Benutzer gewählten Bestellparametern zusammensetzt (z.B. Produkt, Ausschnitt, Ebenen, etc.).
Die Verrechnungsfunktion kann einfach sein, oft hängt sie jedoch von vielen unterschiedlichen Parametern ab:
Den gewählten Inputdaten (z.B. amtl. Vermessung oder Zonenplan).
Der bestellten Fläche.
Dem bestellten Datenprodukt (DXF, SHP, MIF/MID, INTERLIS/ITF etc.).
Dem Benutzer (z.B. normaler Tarif für gelegentlicher Benutzer wie z.B. Architekten bzw. Spezialrabatt für Dauerbezüger wie amtl. Stellen).
etc.
Im GeoShop wird die Verrechnungsfunktion durch eine iG/Script Skript (s.a. [3]) implementiert. Mit iG/Script erhält man die notwendige Flexibilität um beliebige Tarife (inkl. MwSt. etc.) berechnen zu können. Der Skript wertet dazu die Parameter aus, welche dem Skript vom GeoShop Client Applet via GeoShop übermittelt werden. Die folgende Graphik zeigt den Datenfluss bei einer online Preisberechnung:
Erläuterungen zur letzten Graphik:
Der Benutzer selektiert die Daten mit dem GeoShop Client
Applet und klickt auf die Funktion Preis
berechnen
.
Das Applet schickt alle Bestellparameter (Produkt, Ausschnitt, Ebenen, etc.) an den GeoShop.
Der GeoShop ruft den für das Produkt definierten Preisskript auf.
Der Preisskript berechnet auf Grund der Bestellparameter den Preis und gibt diese an den GeoShop zurück.
Der GeoShop leitet die Preisberechnung weiter an das GeoShop Client Applet (Preisantwort).
Das GeoShop Client Applet zeigt den Preis an.
Dem Preisskript werden alle Bestellparameter übergeben dazu gehören (abschliessende Aufzählung in 5.2):
Der Name des Datenprodukts.
Die Namen der gewählten Ebenen.
Der Name des aktuellen Benutzers.
etc.
Zusätzlich können vom GeoShop (vor dem Aufruf des Preisskripts) noch folgende zusätzliche Parameter aus den Daten berechnet werden:
Ein Verschnitt der Bestellfläche mit einem beliebigen Flächennetz (= Tarifzonen, z.B. Zoneneinteilung). Der Anteil jeder Zonenart wird dem Preisskript als Liste übergeben.
Ein Verschnitt mit einer beliebigen Punktebene. Dem Preisskript wird eine Liste der Anzahl Punkte pro Punktart übergeben.
Damit die zusätzlichen Parameter berechnet werden, muss die Tarifzone bzw. die Punktebene entsprechend konfiguriert werden (s.a. Kapitel 4).
Der Preisskript muss das Resultat in einer Textdatei
(price.txt
) zurück liefern. Die ersten zwei
Zeilen sind reserviert und müssen wie folgt gefüllt werden:
1. Zeile: Währung, z.B. SFr
.
2. Zeile: Preis (ohne Währung), z.B.
185.50
.
Das GeoShop Client Applet zeigt die Resultatdatei dem Benutzer
an (bis auf die ersten beiden Zeilen). Die ersten beiden Zeilen
werden zur Bestellung in der Bestelldatenbank
(server\orders
) gespeichert, falls der Benutzer
die Bestellung auch tatsächlich auslöst.