allgemeine Hinweise

Sicherheitsattribut SetSecurity

Setzt die Zugriffsrechte für ein Objekt. Dabei werden die Zugriffsrechte immer an Gruppen vergeben. Ist ein Benutzer in verschiedenen Gruppen, so wird eine Gesamtmenge der Rechte gebildet.

Aus allen Berechtigungen mit der Option "Allow" werden die höchsten ermittelt. Ist eine Gruppe vorhanden, in welcher die "Deny" Option den Zugriff verbietet, so wird diese bevorzugt behandelt. Bei Gruppenbezeichnern sind allgemeine Regeln für Namen einzuhalten.

Syntax
SetSecurity=Gruppenname1:Flags,Gruppenname2:Flags...
Flags

adg Geometrie zeichnen erlauben
add Sachdateneinsicht erlauben
axg Geometrieexport erlauben
axd Sachdatenexport erlauben
amg Geometriemodifikation erlauben (wird noch nicht ausgewertet)
amd Sachdatenmodifikation erlauben (wird noch nicht ausgewertet)
aga Allgemeinen Zugang erlauben (nur für Projekte)

ddg Geometrie zeichnen verbieten
ddd Sachdateneinsicht verbieten
dxg Geometrieexport verbieten
dxd Sachdatenexport verbieten
dmg Geometriemodifikation verbieten (wird noch nicht ausgewertet)
dmd Sachdatenmodifikation verbieten (wird noch nicht ausgewertet)
dga Allgemeinen Zugang verbieten (nur für Projekte)

Flag setzen/löschen

um ein Recht/Verbot zu erteilen wird dem Flag ein '+' nachgestellt
um ein Recht/Verbot zu entziehen wird dem Flag ein '-' nachgestellt

die einzelnen Flags werden lückenlos aneinander gereit:

...=Gruppenname:adg+add+axg-axd+,....


Ncht existierende Gruppen werden ohne Fehlermeldung erzeugt. Gruppen haben standardmäßig das Recht für Lesen der Sach und Geodaten gesetzt

 

Beispiel

SetSecurity=JEDER:adg+add-,DBUSER:add+,NORIGHTS:ddg+

- Jeder darf Geometrien zeichen, aber keine Sachdaten einsehen
- DBUSER dürfen Sachdaten einsehen
- Ist der User in der Gruppe NORIGHTS darf er ,unabhängig von den
  anderen Gruppen in denen er ist, KEINE Geometrien zeichnen

 

Attribut theGeometry

Dieses Argument beschreibt die Stringrepräsentation einer Geometrie. Verwendung findet dieses Attribut z.B. ExecuteTheSelection oder MakeRedLine.

Syntax
theGeometry=Geometrietyp:Koordinatenangaben durch '|' getrennt
theGeometry=(i|g)(POINT|MULTIPOINT|ARC|POLY|BOX):x1|y1...

Der Geometrietyp beginnt immer mit einem 'i' oder 'g'. Alle mit 'i' beginnenden Formen erwarten Bildschirmkoordinaten, alle mit 'g' beginnenenden erwarten Geo-Koordinaten.

Mögliche Geometrietypen

iPoint, gPoint:x1|y1 Festlegen eines Punktes.

iMultipoint, gMultipoint:x1|y1|x2|y2 Festlegen mehrerer Punkte

iArc, gArc:x1|y1|x2|y2|x3|y3... Festlegen eines Linienzuges

iBox, gBox:x1|y1|x2|y2 Festlegen eines Rechteckes x1,y1-linke, untere Ecke x2,y2-rechte, obere Ecke

iCircle, gCircle:x1|y1|r Festlegen eines Kreises. !! Achtung !! Die Angabe des Radius erfolgt in beiden Fällen in Metern. Nur bei der Koordinatenangabe wird zwischen Bildschirmkoordinate und Geokoordinate unterschieden.

iPoly, gPoly:x1|y1|x2|y2|x3|y3... Festlegen eines Polygons. Das Polygon wird automatisch geschlossen.

Für Multipart-Geometrien erfolgt die Angabe der Punkt-Offset am Beginn einer Geometrie. Die Offsets werden dabei in Klammern nach dem Typ angegeben.

Beispiele
// Polygon in Bildkoordinaten
theGeometry="iPOLY:0|0|0|10|10|10|10|0";


// Punkt in Geo-Koordinaten
theGeometry="gPOINT:517000|4600000"; // Kreis in Bildkoordinaten, Radius 10 Meter theGeometry="iCircle:50|50|10";

Attribut theInitExtent

Für einige Ebenen ist die Ermittlung der Ausdehnung aller Elemente recht kostspielig. Z.B. für ORACLE SDO oder PostGre/PostGIS Quellen. Als weiteres Problem sind Ebenen zu sehen, in denen regelmäßig Daten geändert werden.

Dieses "Problem" basiert auf dem Umstand, das Iwan stetig bemüht ist die Zugriffe auf Datenquellen auf ein "sinnvolles Maß" zu beschränken. Sämtliche Anforderungen an eine Datenbeschaffung, z.B. Selektion oder Darstellung, werden nur dann ausgelöst, wenn im angeforderten Gebiet überhaupt Daten vorhanden sind. Ein Hilfsmittel dafür ist der Extent / die Ausdehnung der Ebenen.

Bei einigen Ebenen besteht die Möglichkeit diese Information als "unbekannt" zu definieren. Dadurch werden im besonderen Darstellungsprobleme bei dynamischen Datenquellen behoben, allerdings mit dem Nachteil, dass die genannten Optimierungen nicht mehr möglich sind.

Zur Umgehung dieser Problematik besteht ab der Version 3.3.3.450 die Möglichkeit eine Ausdehnung vorzugeben.

Dazu kann bei jeder Ebene der Parameter "theInitExtent" definiert werden. Die Angabe erfolgt dabei in der Form "xmin|ymin|xmax|ymax" und wird als Zeichenkette übergeben.

 

Attribut theParameterFields

Mit diesem Befehl können Spalten aus der jeweiligen Datenquelle definiert werden, welche bei Zeichenoperationen dem Symbol übergeben werden sollen. Damit wird eine detailiertere Steuerung der Darstellung ermöglicht.

Die Spalten sind wie üblich durch eine Pipe (|) getrennt zu übergeben. Die Reihenfolge der Definition stellt den 0-basierten Index für den späteren Zugriff dar.

Weitere Informationen finden Sie unter RegisterParameters in der Symbol-Referenz.

 

Ebenen - Maßstabsbegrenzung

Die für alle Ebenentypen gültigen Angaben theMinScale und theMaxScale legen den für die Darstellung dieser Ebenen gültigen Maßstabsbereich fest. Die korrekte Interpretation lautet :

MaxScale <= MapScale <= MinScale,

wobei MapScale der Maßstab der aktuellen Kartenanforderung ist. Iwan rundet intern den Mapscale immer auf. Dadurch ergibt sich die empfohlene Vorgehensweise für Ebenenübergänge in der Form:


Ebene (a) Min = 0, Max=25000
Ebene (b) Min = 25001, Max=250000

Die Regeln treffen nur bei der Darstellung zu, weitere Aktionen wie z.B. Selektionen werden nicht eingeschränkt.

 

HTTP Header für Bilder

Iwan sendet bei allen Bildausgaben bestimmte Informationen in zusätzlichen HTTP Header-Einträgen mit.

Hinweis: Die folgenden Informationen sind ab Iwan Version 4.0.7.118 verfügbar.

 

 

 

IwanImageInfo Gibt Auskunft über den allgemeinen Typ des Bildes. Eventuelle Zusatzinformationen stehen nach einem Doppelpunkt.
Folgende Werte sind möglich:
MAP
LEGENDE:{SINGLE|CLASS},width,height
ERROR:ErrorMessage,width,height

 

Wenn IwanImageInfo == "MAP" ist, sind folgende weitere Header verfügbar:

IwanImageType Internes Bildformat.
Mögliche Werte:
{PNG24|PNG8|PNG32|JPG|GIF|EMF|ECW}
IwanImageState Status der Bildanforderung.
Einer der angegebenen Statuswerte und Dauer der Erstellung durch Komma getrennt:
{UnknownDrawState|Complete|Failed|SomeErrors},Dauer
IwanImageSize Bildgröße in Pixeln und intern benutzte Auflösung.
Kommagetrennte Liste mit den Angaben:
x,y,Resolution
IwanImageBBox Bounding Box des Bildes.
Kommagetrennte Liste mit den Angaben:
xMin,yMin,xMax,yMax,EpsgCode

 

Hinweise für Dateinamen

Sämtliche Dateiangaben folgen immer den Konventionen:

  • die Angabe kann ein absoluter Pfad sein
  • die Angabe kann ein relativer Pfad sein

Relative Angaben werden immer aus Sicht der aufrufenden Datei umgesetzt. Z.B. werden die Dateiangaben aus einem Imagekatalog relativ zum Speicherort der Katalogdatei umgesetzt.

Bei verschachtelten Include-Dateien wird der Pfad immer aus Sicht der Datei aufgelöst, welche den jeweiligen Funktionsaufruf startet.

Die Pfadangaben erfolgen dabei in der Windows üblichen Schreibweise, z.B. kennzeichnet ".." einen übergeordneten Pfad. Für die Trennung von Pfaden kann ein "\" oder ein "/" Zeichen genutzt werden.

Bei der Verwendung von UNC Namen (\\Server\Freigabe) ist zu beachten, dass das Dienstkonto, bzw. der interaktive Benutzer im Debugmodus, des Mapservers (i.d.R. local System) Zugriff auf die genannte Freigaben hat.

Ebenso muss bedacht werden, dass gemappte Laufwerke auf dem Server für den Fall das der Mapserver als Dienst läuft nicht gültig sind.

 

Hinweise für Koordinatenangaben

Bei der Angaben von Koordiatenwerten in der Form x,y kann der jeweiligen Koordinate mitgeteilt werden ob es sich um Karten oder Bildschirmeinheiten handelt.

Diese Angabe erfolgt in Form eines Präfixes vor der Zahl. Möglich sind dabei die Werte "i" oder "g", für Image, bzw. Geographische Angaben.

Hinweis: Diese trifft nicht bei dem Attribut "theGeometry" zu.

Hinweise für Objektnamen

Der Name einer Ebene ist ein eindeutiger Bezeichner für die Ebene innerhalb eines Projekts. Ebenso ist der Name eines Projektes pro Serverinstanz eindeutig. Die Regeln für einen Objektnamen sind:

  • der Name muss mit einem Buchstaben beginnen,
  • es sollten keine Umlaute enthalten sein,
  • es dürfen keine Leerzeichen enthalten sein,
  • die Zeichen [LEER] [TAB] , : $ % ; / \ dürfen nicht enthalten sein,
  • Groß- und Kleinschreibung wird nicht unterschieden.

Für Ebenennamen gilt:

Es wird empfohlen die Namen kurz zu halten. Dies ist im Hinblick auf URL Anforderungen mit GET (Querystring) günstiger, da diese längenbegrenzt sind.

Für Beschreibungen kann das Argument theDescription für Ebene vergeben werden.

 

Hinweise für Farbangaben

Farbwerte in Iwan werden in verschiedenen Formen interpretiert. Die möglichen Angaben können erfolgen als Angaben in der Form:

  • Name des Farbwertes *,
  • RGB(r,g,b), jeder Kanal im Bereich von 0-255,
  • HSV(h,s,v), jeweils im Bereich von 0-100,
  • Hexadezimale Schreibweise, 0xFFFFFF oder Webform #FFFFFF,
  • Numerische Angabe 0-16777215 (Schwarz - Weiß),
  • CMYK(c,m,y,k) als Prozentangaben im Bereiche 0-100, Ganzzahlen,
Bekannte Farbnamen
  • AliceBlue,
  • AntiqueWhite,
  • Aqua,
  • Aquamarine,
  • Azure,
  • Beige,
  • Bisque,
  • Black,
  • BlanchedAlmond,
  • Blue,
  • BlueViolet,
  • Brown,
  • Burlywood,
  • CadetBlue,
  • Chartreuse,
  • Chocolate,
  • Coral,
  • CornflowerBlue,
  • Cornsilk,
  • Crimson,
  • Cyan,
  • DarkBlue,
  • DarkCyan,
  • DarkGoldenRod,
  • DarkGray,
  • DarkGreen,
  • DarkKhaki,
  • DarkMagenta,
  • DarkOliveGreen,
  • DarkOrange,
  • DarkOrchid,
  • DarkRed,
  • DarkSalmon,
  • DarkSeaGreen,
  • DarkSlateBlue,
  • DarkSlateGray,
  • DarkTurquoise,
  • DarkViolet,
  • DeepPink,
  • DeepSkyBlue,
  • DimGray,
  • DodgerBlue,
  • FireBrick,
  • FloralWhite,
  • ForestGreen,
  • Fuchsia,
  • Gainsboro,
  • GhostWhite,
  • Gold,
  • GoldenRod,
  • Gray,
  • Green,
  • GreenYellow,
  • HoneyDew,
  • HotPink,
  • IndianRed,
  • Indigo,
  • Ivory,
  • Khaki,
  • Lavender,
  • LavenderBlush,
  • Lawngreen,
  • LemonChiffon,
  • LightBlue,
  • LightCoral,
  • LightCyan,
  • LightGoldenRodYellow