Name einer SQL Funktion als Alternative für AsBinary. Bei Abfragen in SQL Server 2008, die einen JOIN verwenden, wurde beobachtet, dass der Abfrage "Optimierer" die Objektmethode STAsBinary in das Innere der Abfrage verlagert. Dadurch leidet die Performance spürbar. Bei Verwendung einer Funktion wird die Abfrage deutlich schneller ausgeführt.
Iwan prüft jetzt, ob der Parameter AsBinaryFunction bei der Definition angegeben wurde (wobei None oder der Funktionsname erwartet wird). Wird dieser Parameter nicht übergeben, versucht Iwan den Funktionsnamen durch Abfrage der Datenbank nach einer Funktion mit dem Namen IduGeomToWkb zu ermitteln.
Die Funktion muss folgenden Aufbau besitzen:
CREATE FUNCTION [dbo].[IduGeomToWkb](@geom Geometry)
RETURNS varbinary( MAX)
AS
BEGIN
return @geom.STAsBinary();
END
GO
GRANT EXECUTE ON [dbo].[IduGeomToWkb] TO [public]
GO
Hinweis: Im Tracefile wird beim Laden der Ebene eine Meldung ausgegeben, ob die Funktion verwendet wird oder nicht.
Optionale Angabe, ob der Parameter BGColor als Farbname an den Diensteaufruf übergeben werden soll.
Hinweis: Dies entspricht nicht dem Standard und sollte normalerweise nicht aktiviert werden.
Verbindungszeichenfolge zur Postgres-Datenbank
host=xx dbname=xx port=5432
oder als Varialbe %VARIABLE%
Nutzen Sie für Nutzername und PW die Parameter userName und password.
Für WMS 1.3 Dienste oder WFS 1.1. kann hier eine Liste hinterlegt werden, um die CRS-Angaben des Dienstes auf die entsprechenden EPSG-Codes zu mappen.
Die Angabe erfolgt in der Form:
EPSG,CRS{,XIsLong};EPSG1,CRS1 ....
Wobei EPSG der EPSG-Code ist und CRS der Wert, genau wie vom Dienst angegeben. Der optionale Parameter XIsLong (true/false) gibt an, ob die X/Y Achsen getauscht werden sollen.
Bsp: "31469,CRS:de_gk_5" -> weist für die CRS "CRS:de_gk_5" die EPSG-Nummer "31469" zu.
Legt die Anmeldeinformationen für die Verwendung des angegebenen Dienstes fest. Eingabeformat: "nutzername,passwort"
Name der ID-Spalte
Legt den Namen des abzufragenden Objekts fest, z.B. der Name einer Tabelle, einer Sicht oder ein SQL-Statement. In dem Fall, dass ein SQL-Statement angegeben wird, muss dieses entsprechend geklammert und ein Alias für die Subtabelle vergeben werden, da IWAN den angegebenen Ausdruck in der FROM-Klausel einer SELECT-Anweisung verwendet, unabhängig davon ob es sich dabei um einen Tabellennamen, den Namen einer Sicht oder ein SQL-Statement handelt.
Beispiel für Verwendung eines SQL-Statements:
(SELECT * FROM TABELLE WHERE SPALTE='WERT' ) A
Legt das Verhalten des Einsammeln der Dateien beim Laden einer Rasterebene fest, sinnvoll erst ab ca. >100 Rasterdateien.
Folgende Werte sind möglich:
Ein SQL - Fragment welches als ORDER BY bei Zeichenvorgängen der Ebene abgesetzt wird.
(z. B. Kategorien)
Im einfachsten Fall lautet die Syntax: spaltenname. Beim Sortieren nach mehreren Feldern ist folgende Syntax einzuhalten: spaltenname(1), spaltenname(2), ..., spaltenname(n) .
Für eine absteigende Sortierung ist explizit das Schlüsselwort DESC anzufügen - Syntax: spaltenname DESC und für eine aufsteigende Sortierung (Standard) kann das Schlüsselwort ASC - Syntax: spaltenname ASC angegeben werden.
Beispiele:
Legt die Namen der fünf Spalten fest, die das umschließende Rechteck definieren und die Geometrie enthalten.
Eingabeformat:
"XMIN-Spaltenname|YMIN-Spaltenname|XMAX-Spaltenname|YMAX-Spaltenname|Geometrie-Spaltenname"
z.B. "XMIN|YMIN|XMAX|YMAX|GEOM".
Auswahl der Quelldatei für die jeweilige Ebene. Der Dateiname kann entweder absolut oder relativ zum "Includes"-Ordner sein.
z. B. \\Rechnername\Verzeichnisname\Dateiname.shp ; ..\..\Geodaten\Vektordaten\Dateiname.shp. Durch einen Klick auf den Ordner öffnet sich ein Dialog zur Fileauswahl.Diese Schaltflächen dienen der Navigation in der Ordnerstruktur, ermöglichen einen neuen Ordner anzulegen und Files hochzuladen:
Shape Files
Denken Sie beim Upload an alle zugehörigen Files (*.dbf und *.shx).
Rasterdaten
z. B. \\Rechnername\Verzeichnisname\*.ecw
..\..\Geodaten\Rasterdaten\TK10\*.tif
..\..\Geodaten\Rasterdaten\Luftbilder\Gesamt.ecw
Es können auch mehrere Pfade angegeben werden, welche über | getrennt werden müssen z. B.:
..\..\Geodaten\TK10\Grundriss\*.tif|..\..\Geodaten\TK10\Vegetation\*.tif
Um Rasterdaten einer Ebenengruppe, welche sich in verschiedenen Unterordnern befinden anzuzeigen, kann vor der Pfadangabe ein +-Zeichen angegeben werden. Dadurch werden alle Unterordner rekursiv durchsucht. Das heißt, z. B. Sie haben pro Blattschnitt einen Unterordner mit 21 Ebenen. Sie würden dann 21 Ebenen im cardo anlegen und jeweils je nach Ebenenart z. B. für die Gewässerebene beim Parameter theFile : +..\..\Geodaten\TK\TK10\*gew200.tif angeben.
DesignLayer
Legt den Namen der IWAN-Skript-Datei fest. Die IWAN-Skript-Anweisungen "Go;" und "End;" dürfen in dieser Datei nicht enthalten sein. Dieser optionale Parameter überschreibt "theTextField". Das Skript wird vor jeder Ausführung gelesen. Wenn die gewünschten Ergebnisse eintreten, sollte aus Performancegründen der Inhalt mit "theTextField" konstant definiert werden.
Definition eines Filterausdrucks in Form eines ISQL-Ausdrucks (IwanSQL), welcher die Ausgabe von Datensätzen entsprechend beschränkt.
Beispiel:
SELECT MY.* FROM $SELF AS MY WHERE AREA > 10 AND AREA < 100
oderSELECT MY.* FROM $SELF AS MY WHERE Ortsname = 'Zittau'
Für alle datenbankbasierte Geodatenquellen kann ein zeilenbasierter Datenfilter eingesetzt werden.
Hinweis: Achten Sie darauf, dass keine Umlaute in den Spaltennamen sind!
Beispiel für eine Ebene mit Erdwärmeinformationen: zeige nur die Erdwärme kritischen Ebenen (Kategorie größer als 2) an
SELECT MY.* FROM $SELF AS MY WHERE kategorie > 2
Beispiel: Beschränkung der Anzeige von Shape-Inhalten
Mit nachfolgender Abfrage, wird die Ausgabe der Shape-Datei auf die Fläche des angegebenen Polygons reduziert. Für die Erzeugung der nötigen Koordinaten/ des nötigen Polygons können Sie im GIS-Viewer die Geometrie einer Freihandgrafik oder die eines selektierten Objektes kopieren.
SELECT MY.* FROM $SELF AS MY WHERE $GEOM = 'gPOLY:5344110.45266|5686333.03096|5352558.10243|5633957.60239|
5440413.66002|5658455.78672|5380435.34667|5671127.26137;31469'
Legt das interne Speicherformat fest. Die Angabe von "ESRISHAPE" kann für den Zugriff auf ESRI-Geo-Datenbanken spezifiziert werden. Beim Zugiff auf IWAN-Blob-Daten ist dieses Feld leer zu lassen.
Legt den Namen der Spalte fest, die eine eindeutige ID je Datensatz enthält. Damit steht die Funktion "GetRowByRowId" (und damit das "Blaue I" im Selektionsfenster) für diese Ebene zur Verfügung.
Hinweis: bei der Meldung "ERROR: column "oid" does not exist" (DB Quelle Postgres) ist hier NONE zu notieren.
Legt ein vordefiniertes umschließendes Rechteck für diese Ebene fest.
Eingabeformat: XMIN|YMIN|XMAX|YMAX;EPSG-Code bzw. den Eingabedialog verwenden:
Eine Angabe ist sehr zu empfehlen für Ebenen, deren Ausdehnung sich während der Laufzeit ändern kann, z. B. alle bearbeitbaren Ebenen. Hier kann auch explizit der Wert 'undefiniert' ausgewählt werden. Weiter Informationen finden Sie auch unter 'KK an vorhandene Ebene binden' (KK = Kleinkataster).
Bestätigen Sie mit OK und aktualisieren Sie die Ebene. Mit der Funktion Zoom auf Ebene wird nun auf den definierten Ausschnitt gezoomt.
Definition über Systemvariablen
Der InitExtent kann auch über eine Systemvariable definiert werden. Dies ist dann hilfreich, wenn man mehrere Ebenen hat, die eine bestimmte Ausdehnung zugewiesen bekommen sollen/müsen. Dazu muss in den Grundeinstellungen eine Variable definiert werden (weitere Systemvariablen). In der Ebeneneigenschaft wird diese Variable dann so verwendet: %INITEXTENT%
Ausdehnung des Projektes
Um die Ausdehnung des Projektes beim Start zu definieren, müssen Sie einen Startausschnitt für den Ebenenbaum übernehmen. (weitere Informationen)
Legt den Namen des abzufragenden Objekts fest, z. B.:
In dem Fall, dass ein SQL-Statement angegeben wird, muss dieses entsprechend geklammert und ein Alias für die Subtabelle vergeben werden, da IWAN den angegebenen Ausdruck in der FROM-Klausel einer SELECT-Anweisung verwendet, unabhängig davon ob es sich dabei um einen Tabellennamen, den Namen einer Sicht oder ein SQL-Statement handelt.
(Select * From Schema.Tabellenname b Where b.Spaltenname = Prüfwert) a
Tiefer ins Thema einsteigen?
Hinweis zum Kommentar: nutzen Sie zum kommentieren /*der Text, der die Beschreibung enthält*/ den Blockkommentar.
PostgreSQL-Geometrien
Durch einen Klick auf wird der Dialog "Datenbank durchsuchen" zur Auswahl der Datenquelle (theLayer) geöffnet. Er präsentiert alle Schemen, Tabellen und Views der in der Eigenschaft TheServer festgelegten PostgreSQL-Datenbank.
Hinweis: bei der Meldung "ERROR: column "oid" does not exist" (DB Quelle Postgres) ist im Feld theIDField NONE zu notieren.
MS SQLServer 2008 - Geometrien
Durch einen Klick auf wird der Dialog "Datenbank durchsuchen" zur Auswahl der Datenquelle (theLayer) geöffnet. Er präsentiert alle Schemen, Tabellen und Views der in der Eigenschaft "theServer" festgelegten MS SQLServer Datenbank. Ist die Eigenschaft "theServer" nicht angegeben und verwendet cardo als Systemdatenbank eine MS SQLServer Datenbank, dann wird automatisch durch das cardo-System der Auswahldialog mit den Schemen, Tabellen und Views der Systemdatenbank bereitgestellt.
ESRI SDE
Legt den Namen der SDE-Ebene fest. Abgetrennt durch ein "|"-Zeichen, kann auch der Name der Spalte mit der Geometrie angegeben werden z. B. "IMAGE" oder "RASTER".
IWAN Remote/IWAN7 Remote
Legt den eindeutigen Namen der Ebene auf dem angegebenen Remoteserver fest. Z. B.: "L345"
CSV oder TXT
Dateiname der csv- oder txt-Datei
DesignLayer
Legt den Namen der Quellebene fest. Eingabeformat: "Lxyz", wobei "xyz" dem internen Namen der Ebene entspricht. Alle vektorbasierten Datenquellen sind hierbei zulässig.
Legt die EPSG-Nummer des Referenzsystems fest, in welchem die Daten vorliegen. Ist nur unbedingt anzugeben, wenn sich diese von der Projektprojektion unterscheidet. Das Datenfeld bietet die, dem cardo-Projekt bekannten, Kartenprojektionen in einer Auswahlliste an (z. B. 31469 - DHDN - GK5 ). Ist die benötigte EPSG-Nummer nicht in der Auswahlliste vorhanden, muss diese in den Grundeinstellungen (cardo Eigenschaften - verfügbare Kartenprojektion) ergänzt werden.
Legt die Anmeldeinformationen für die Verwendung des angegebenen Proxy-Servers fest. Wenn dieser Wert nicht mit angegeben wird, wird die globale Einstellung von cardo verwendet.
Eingabeformat: "nutzername,passwort"
Mit einem Klick auf die Schaltfläche öffnet sich ein kleiner Dialog für die Eingabe des Logins und Passwortes.
Legt die Adresse des Proxy-Servers, falls ein solcher verwendet werden soll, fest. Wenn dieser Wert nicht angegeben wird, wird die globale Einstellung von cardo verwendet.
Eingabeformat: "servername:portnummer".
Wenn explizit kein Proxy verwendet werden soll, kann "NO-PROXY" angegeben werden. Wird hier nichts angegeben, wirken die global vorgenommenen Einstellungen.
Mit einem Klick auf die Schaltfläche öffnet sich ein kleiner Dialog für die Eingabe der Verbindungsinformationen:
Legt den Namen der Spalte fest, die die Radiusinformationen (in Metern, auch wenn die Quelle geographisch, bspw. WGS84 ist) enthält.
Optionale Angabe des Suchpfades. Wenn dieser definiert ist, wird er wie hier angegeben als SET search_path to Statement verwendet.
Bsp.: 'km_meta','public'
Legt die Verbindungszeichenfolge für die Datenquelle fest.
ODBC Datenquellen
(Achtung - für cardo müssen die 32-Bit Versionen der ODBC-Treiber installiert sein)
(Wobei Ordner den Pfad zur csv- oder txt-Datei angibt, aber ohne den Dateinamen. Der Dateiname wird dann im Parameter theLayer angegeben.)
oder eine in den Grundeinstellungen definierte cardo-Systemvariablen, z. B. %pgNativeConn% oder wenn diese Angabe fehlt, wird nach Auswahl der Datenquelle theLayer* vom System die Systemvariable "%$WAREHOUSE_THESERVER%" ergänzt. Somit wird es möglich, Datenquellen, welche in der cardo-Systemdatenbank gespeichert sind, ohne großen Aufwand zu implementieren.
Native (Postgres / Sql 2008 / MySql 5)
Oracle SDO
Legt den Namen der Oracle Instanz fest.
ESRI SDE
Legt den Servernamen und die SDE-Instanz für die SDE-Datenquelle fest. Eingabeformat: "servername:instanzname"
IWAN Remote/IWAN7 Remote
Legt die Adresse des Remoteservers fest. Z. B. "10.1.1.20:80" oder "PUTI:92"
Legt die EPSG-Nummer des Referenzsystems (SRID) fest, mit der die Geometrien in der Datenbank abgelegt sind. Wird benötigt, um gültige Abfragen zu gewährleisten.
Beispiele:
GK4: 31468
GK5: 31469
Mit einem Klick auf öffnet sich eine Auswahlliste für die EPSG-Nummer.
für WMS-Dienste: Explizite Angabe einer EPSG-Nummer, in der der WMS-Dienst abzufragen ist, unabhängig von der Projektion des Projekts oder der Sitzung. Ist normalerweise nicht zu hinterlegen, kann aber bspw. für Workarounds hilfreich sein.
Hinweis: Die Einstellung auto für automatisches Festlegen der SRID aus der Datenbank verursacht bei der Geodatenbearbeitung im Selektionsfenster eine Fehlermeldung.
Es gab ein Problem beim Initialisieren der Seite:
Der GeoEditor unterstützt derzeit keine PostgresSQL - Ebenen mit der Angabe theSRID:'AUTO'!
In theSRID wurde für die Ebene die Einstellung Auto eingeben und verursacht diese Fehlermeldung. Bitte geben Sie die entsprechende SRID für die Ebene ein.
Button: Auch Button kann mit der Einstellung 'AUTO' nicht umgehen. Stellen Sie bei Ebenen, welche in einem Buttonplan verwendet werden sollen, die konkrete SRID ein.
Legt fest, dass das in theFile oder theTextField angegebene Skript die Erstellung der Grafik vornimmt. In diesem Fall werden der Skriptengine eine Reihe Variablen übergeben. Dieser Wert beeinflusst das Leistungsverhalten.
Weitere Informationen dazu finden Sie unter: http://www.webmapserver.de/HOWTO$DESIGNLAYER
Legt den Namen der Spalte fest, die den anzuzeigenden Text enthält. Es öffnet sich ein Dialog für die Spaltenauswahl.
Oracle SDO
Zusätzlich kann im Format "spaltenname|ausrichtung" eine Ausrichtung angegeben werden, wobei "ausrichtung" im Format "X-Ausrichtung/Y-Ausrichtung" anzugeben ist, wie z. B. "LL" für "Lower Left", "UC" für "Upper Center" und "CR" für "Center Right". Also ingesamt z. B.: "TEXT|CC".
DesignLayer
Legt den Beschriftungstext fest. Dieser kann entweder konstant sein (z.B. Naturschutzgebiet - es ist nur der anzuzeigende Text bzw. Wert einzutragen) , aus einer Spalte bezogen werden (z. B. COLUMN: Name - erster Wert Schlüsselwort "COLUMN:" - 2 Wert SPALTENBEZEICHNUNG) oder via Script generiert werden (z.B. EXPRESSION:IWS-Skript OHNE "Go;" und "End;" EXPRESSION:print(replace($BESCHRIFTUNG,"@",chr(10)))=> Zeigt die Daten der Spalte Beschriftung an und ersetzt das @-Zeichen durch einen Zeilenumbruch.
ORACLE
Legt den Nutzernamen für die ORACLE-Datequelle fest.
ESRI SDE
Legt den Nutzernamen für die SDE-Datenquelle fest.
Legt ein SQL-Statement fest, mit dem zusätzliche Verknüpfungen von Daten und Einschränkungen durchgeführt werden sollen. Die zu verwendenden Tabellen und Spalten müssen zuvor in den Feldern theFieldList und theTableList definiert worden sein.
URL zu einem Dienst, der den OGC Standard WAS Version 1.1 für die Methode GetSession implementiert. Ist nur im Zusammenhang mit httpSrvLogin sinnvoll.
Legt fest, dass der Dienst bei einer "GetFeature"-Anfrage keinen BBOX-Parameter verwendet, sondern dass stattdessen ein FILTER-Ausdruck verwendet wird. Der Standardwert ist "nein". Wird einigen WFS - Servern gerecht, die mit BBOX - Parametern nicht umgehen können.
Wenn der in dieser Ebene angeforderte WFS Dienst Get und Post unterstützt, wird bei Aktivierung dieser Einstellung der Post - Request bevorzugt. Das Standardverhalten ist Get vor Post.
Legt die Liste der im Dienst bereitgestellten Ebenen fest, die für die Anfrage verwendet werden sollen.
Bietet der Dienst mehrere Layer an, so wählen Sie bitte einen zur Anzeige aus.
Beispiel Blattschnitte:
Beispiel mit allen Layern:
mit einem Layer:
Mehr zum Thema?
Legt die Internetadresse (URL) des Dienstes fest.
Beispiel (Ein im cardo-System erzeugter Dienst):
http://cardo.idu.de/wfs/wfs.srv.public.asp?pkgId=215&Request=GetCapabilities&Service=WFS&
Legt die zu verwendende Version des Dienstes fest - z. B. "1.0.0". Folgende Versionen werden unterstützt 1.0.0, 1.1.x. Diese Angabe wird von ihrem Dienst mitgeliefert.
Für WFS 1.1 Dienste - gibt an, ob X und Y Werte der Koordinaten anhand der EPSG vertauscht werden soll, siehe auch epsgToCrsMap. Aktuell ist der Default-Wert "false", es sein denn epsgToCrsMap ist angegeben, dann "true".
Url-Fragment, welches an jeden Aufruf ungesehen an den Server mit übergeben wird. In der Url sollte kein Argument-Trennzeichen am Anfang stehen (kein & oder ?, wird vom Mapserver entfernt). Die Daten sollten Url-Encoded sein.
Hier können konstante Parameter angeben werden, die beim GetMap - Aufruf vom IWAN an den WMS - Server übergeben werden. Mehrere Parameter sind mit & zu trennen.
Beispiel: PARAMETER1=VALUE1&PARAMETER2=VALUE2...
Wenn im Parameter "STYLES=" enthalten ist, wird der Style-Parameter beim Generieren der Url für die Zeichenanforderung nicht mehr selber gesetzt, sondern die Angabe, die vom Benutzer vorgegeben wird, verwendet (Groß-Kleinschreibung wird dabei ignoriert.)
Legt die Liste der im Dienst bereitgestellten Ebenen fest, die für die Anfrage verwendet werden sollen. Um alle verfügbaren Ebenen zu verwenden, ist keine Angabe erforderlich.
Eingabeformat: "ebene1,ebene2[,...]" (Die Reihenfolge der angegebenen Layer bestimmt die Zeichnungsreihenfolge, d. h. erster Eintrag wird zuerst gezeichnet.)
Klicken Sie auf erhalten Sie einen Dialog um die bereitgestellten Ebenen auszuwählen. Mit
vervollständigen Sie ihre Liste.
Beispiel: Topographische Karte Sachsen, hier wurden nur die Layer Gewässer und Vegetation geladen (Beachten Sie die mögliche Maßstabsabhängigkeit bestimmter Ebenen, diese sind dann nicht immer sichtbar!)
Maximale Größe eine Bildes in Pixeln (Breite oder Höhe) für den WMS-Dienst. Leer oder 0 verwendet den Standardeintrag (1500), ab WMS 1.3 Diensten die vom Dienst definierten Angaben. (Umsetzung nur im Auskunftssystem)
Beispiel: Topographische Karte Sachsen
wmsMaxImageSize = 250:
wmsMaxImageSize = 500:
wmsMaxImageSize = [leer] (Standardwert 1500 wird übernommen)
Legt die Internetadresse (URL) des Dienstes fest.
Bsp. Wanderwege von GEOSN http://web1.extranet.sachsen.de/geoservice/wwn?
Um Dienste nutzen zu können, die das benötigte EPSG nicht von sich aus anbieten, muss der Dienst über einen Proxy geleitet werden. Dazu kann der von Ihrem cardo-System bereitgestellte WMSProxy genutzt werden.
Mehr zum Thema?