APRFile
Parser für ESRI-ODB Dateien
Since version: 3.2.0
Methoden / Eigenschaften
Beispiele
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
//--------------------------
routine "ReadApr";
//--------------------------
ret=CreateObject(apr,"AprFile");
ret=apr.OpenFile($SOURCE_FILE);
if(not(ret));
EndScript("Fehler");
return;
EndIf;
// Anzahl der Views
viewCount=apr.GetItem("Doc.$COUNT");// $COUNT kann für jedes Element eingesetzt werden
//Alle Views durchlaufen
curViewIdx=0;
while(Compare(curViewIdx,viewCount,lt));
// neues Root Element setzten "view[0]"
ret=apr.SetRootElem("View["+int(curViewIdx)+"]");
if(not(ret);EndScript("Fehler-Root Element");EndIf;
// Themen durchlaufen
call "ReadThemes";
inc(curViewIdx);
wend;
EndRoutine();
//--------------------------
routine "ReadThemes";
//--------------------------
// Anzahl der Theme
themeCount=apr.GetItem("Theme.$COUNT");
curThemeIdx=0;
while(Compare(curThemeIdx,themeCount,lt));
thisTheme=printf("theme[%i].",curThemeIdx);
themeString=thisTheme+"Source.Name.";
// Auf Dateityp testen
class="apr".GetItem(themeString+"OwnerClass");
if(Compare(ucase(class),"SHPSRC",ne));WriteTrace("Not a Shapefile: "+class);Return;endif;
// Dateiname
source=apr.GetItem(themeString+"FileName.Path");
wend;
EndRoutine();
End;
Array
Ein Array dient der Speicherung von Werten aller Art, ausgenommen sind Objekte. Es stehen Möglichkeiten zur Verfügung, um den Inhalt in eine Zeichenkette zu konvertieren, bzw. aus einer Zeichenkette ein Array zu erstellen. Das Array kann, wie jede Auflistung, mit 'FIRST'...'NEXT' durchlaufen werden.
Methoden / Eigenschaften
Beispiele
Go; /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ Go;
wort="Emma*Anton*Carsten*Dirk*Berta";
ret=Createobject(neuesarray,"Array");
/*ret ist TRUE, falls Objekt erstellt werden konnte
wenn nicht, ist ret FALSE*/
//FromString
//~~~~~~~~~~~~~~~
ret=neuesarray.FromString(wort,"*");
//ret gibt die Anzahl der eingefügten Elemente wieder
//alle vorher enthaltenen Elemente werden entfernt!!!
print("Es wurden "+int(ret)+" Elemente eingelesen. ");
//Add
//~~~~~~~~~~~~~~~
neuesarray.Add("Ferdinand");
neuesarray.Add("Anton");
neuesarray.Add("Gustav");
neuesarray.Add("Dirk");
neuesarray.Add("Heike");
/*Elemente werden im Array hinten angefügt*/
//RemoveDup + Count
//~~~~~~~~~~~~~~~
vorsortieren=neuesarray.Count();
ret=neuesarray.RemoveDup();
//in ret wird die Anzahl der doppelten Elemente abgelegt
nachsortieren=neuesarray.Count();
If(Compare(ret,0,GT));
print(ret+" Elemente waren doppelt. ");
Endif;
print("Vor dem Entfernen von Duplikaten waren ");
print(int(vorsortieren)+" Elemente im Array. ");
print("Nachher nur noch "+int(nachsortieren)+" Elemente. ");
//Exists
//~~~~~~~~~~~~~~~
ret=neuesarray.Exists("Micha");
//ret ist TRUE, wenn der Wert im Array enthalten ist
aussage=iif(ret,"","nicht");
print("Der Name Dirk ist im Array "+aussage+" enthalten. ");
//At
//~~~~~~~~~~~~~~~
i=4;
ret=neuesarray.At(i);
//in ret wird das fünfte Element übernommen
print("Das "+int(i+1)+". Element ist '"+ret+"'. ");
//AsString
//~~~~~~~~~~~~~~~
namen=neuesarray.AsString(",");
print(namen);
End; End;
|
|
Druckversion dieser Seite |
Extent
ein Extent
Methoden / Eigenschaften
Beispiele
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
End;
Schlüsselwörter
[TODO: SearchKeyWords]
Fields
eine Auflistung von Sachdatenfeldern
Methoden / Eigenschaften
Beispiele
Go; /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ Go;
ret=CreateObject(lay,"Layers");
print(lay.Count()+" Ebenen sind enthalten.<br>");
ret=lay.first();
while(lay.next());
//eine Schleife, die alle Layer im Projekt behandelt
print("<br>- "+lay.item());
layer=lay.GetItem();
//erstellt ein "Layer" - Objekt mit dem Namen layer
print(" - "+layer.Description());
If(layer.name()=="Gemeinden");
If(layer.MaxScale()=="-1");
print("<br>Der Layer ist auf keinen Maßstab beschränkt.<br>");
EndIf;
felder=layer.GetFields();
//erstellt ein "Fields" - Objekt mit dem Namen felder
print("Die Ebene '"+felder.name()+"' enthält ");
print(felder.count()+" Felder in der Attributtabelle.<br>");
If(felder.count()!=0);
print("Feldnamen:<br>");
ret=felder.first();
while(felder.next());
//eine Schleife, die alle Felder der Attributtabelle der Ebene behandelt
print(" -"+felder.item()+"<br>");
wend;
EndIf;
EndIf;
wend;
End; End;
|
|
Druckversion dieser Seite |
FileObject
Methoden zum Zugriff auf das Dateisystem
Since version: 3.2.0
Methoden / Eigenschaften
Beispiele
Go; /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
End;
|
|
Druckversion dieser Seite |
FontInfo
Objekt zur Ermittlung der auf dem Server installierten Schritfarten
Since version: 3.1.1.290
Methoden / Eigenschaften
Beispiele
Go; /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
End;
|
|
Druckversion dieser Seite
|
GeoProcessor
Bietet einfache boolsche Operatoren für Geometrien.
Folgenden Operatoren stehen zur Verfügung:
- OR
- AND
- XOR
- A_SUB_B
- B_SUB_A
- CORRECTION
- MAKERINGSince version: 3.3.1
Methoden / Eigenschaften
Beispiele
Go; /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ Go;
/* Verschneidet zwei Geometrien und stellt das Ergebnis
mit Hilfe einer Redline dar*/
ret=CreateObject(geo,"GeoProcessor");
ret=geo.DoProcess2($GEOM0,$GEOM1,$OP);
count=geo.ResultCount();
i=0;
while(compare(i,count,lt));
ret=geo.ResultAt(i);
ret=ret.AsGeometry();
ret=execold("MakeRedLine",theType:"ADD",theSymbol:8,theGeometry:ret);
inc(i);
wend;
End; End;
|
|
Druckversion dieser Seite
|
Geometry
ein Geometrieobjekt
Methoden / Eigenschaften
Graphics
ermöglicht es, weitere Elemente in Bilder zu zeichnen
Since version: 3.2.1
Methoden / Eigenschaften
Beispiele
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
Go;
/*!!Diese Datei ist ein Ereignis-Skript!!
ret=session.OnImageBeforeCompress("drawtext.event.iws");
(CreateTheImage)
ret=session.OnImageBeforeCompress("");
*/
ret=CreateObject(graph,"Graphics");
ret=graph.LoadSymbolset("anno.event.ipalx");
txtSize=12;
x=15;
y=txtSize+15;
text="Kartendarstellung Umweltauskunft Dresden";
smb=0;
y=800-txtSize;
y=700-txtSize;
x=120;
j=0;
y=700-txtSize;
bis=3;
while(Compare(j,7,lt));
i=0;
x=10;
while(Compare(i,bis,lt));
txtSize=4;
smb=iif(smb==0,1,0);
ret=graph.DrawText(text,smb,x,y,txtSize,0,false,"Normal");
inc(i);
x=x+300;
wend;
inc(j);
y=y-100;
Wend;
End;
End;
Schlüsselwörter
[TODO: SearchKeyWords]
Layer
ein Layer Objekt
Methoden / Eigenschaften
Beispiele
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
Go;
ret=CreateObject(lay,"Layers");
print(lay.Count()+" Ebenen sind enthalten.
");
ret=lay.first();
while(lay.next());
//eine Schleife, die alle Layer im Projekt behandelt
print("
- "+lay.item());
layer=lay.GetItem();
//erstellt ein "Layer" - Objekt mit dem Namen layer
print(" - "+layer.Description());
If(layer.name()=="Gemeinden");
If(layer.MaxScale()=="-1");
print("
Der Layer ist auf keinen Maßstab beschränkt.
");
EndIf;
felder=layer.GetFields();
//erstellt ein "Fields" - Objekt mit dem Namen felder
print("Die Ebene '"+felder.name()+"' enthält ");
print(felder.count()+" Felder in der Attributtabelle.
");
If(felder.count()!=0);
print("Feldnamen:
");
ret=felder.first();
while(felder.next());
//eine Schleife, die alle Felder der Attributtabelle der Ebene behandelt
print(" -"+felder.item()+"
");
wend;
EndIf;
EndIf;
wend;
End;
End;
Schlüsselwörter
[TODO: SearchKeyWords]
Layers
Zugriff auf die Layer im aktiven Projekt
Methoden / Eigenschaften
Beispiele
Go; /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ Go;
ret=CreateObject(lay,"Layers");
print(lay.Count()+" Ebenen sind enthalten.<br>");
ret=lay.first();
while(lay.next());
//eine Schleife, die alle Layer im Projekt behandelt
print("<br>- "+lay.item());
layer=lay.GetItem();
//erstellt ein "Layer" - Objekt mit dem Namen layer
print(" - "+layer.Description());
If(layer.name()=="Gemeinden");
If(layer.MaxScale()=="-1");
print("<br>Der Layer ist auf keinen Maßstab beschränkt.<br>");
EndIf;
felder=layer.GetFields();
//erstellt ein "Fields" - Objekt mit dem Namen felder
print("Die Ebene '"+felder.name()+"' enthält ");
print(felder.count()+" Felder in der Attributtabelle.<br>");
If(felder.count()!=0);
print("Feldnamen:<br>");
ret=felder.first();
while(felder.next());
//eine Schleife, die alle Felder der Attributtabelle der Ebene behandelt
print(" -"+felder.item()+"<br>");
wend;
EndIf;
EndIf;
wend;
End; End;
|
|
Druckversion dieser Seite |
MetaData
Metadaten werden bei den Ebenentypen WMS und WFS aus den GetCapabilities generiert. Eine Auflistung dieses Objektes ist nur über das Layer-Objekt abzurufen. Das Objekt kann nicht mit CreateObject erstellt werden.
Since version: 4.0.6
Methoden / Eigenschaften
Verwandte Themen
Layer
ODBCDb
stellt eine Verbindung zu einer ODBC-Datenquelle her
Since version: 3.0.4
Methoden / Eigenschaften
ODBCFields
eine Auflistung der Felder in einem ODBC-Recordset
Since version: 3.0.4
Methoden / Eigenschaften
ODBCRecordset
ein Recordset auf Basis einer ODBC-Datenquelle
Since version: 3.0.4
Methoden / Eigenschaften
OgcServiceException
Durch die Verwendung dieses Objektes ist es möglich eine vollständig OGC-konforme Exception zu generieren. Es müssen lediglich Exceptions der Liste hinzugefügt werden und dann zur Generierung des passenden Xml die Methode "Xml" aufgerufen werden.
Since version: 4.0.0.60
Methoden / Eigenschaften
Verwandte Themen
OgcServiceExceptionEntry
Beispiele
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Zwei Exceptioneinträge hinzufügen und Xml generieren
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
ret=CreateObject(exList,"OgcServiceException");
ret=exList.Add("Errormessage 1", "Code 1", "Locator 1");
ret=exList.Add("Errormessage 2", "Code 2", "Locator 2");
exList.Xml();
End;
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Exceptioneintrag hinzufügen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
ret=CreateObject(exList,"OgcServiceException");
ret=CreateObject(ex,"OgcServiceExceptionEntry");
ex.Message("Errormessage");
ex.Code("Code");
ex.Locator("Locator");
ret=exList.Add(ex);
exList.Xml();
End;
Schlüsselwörter
OGC Exception OGCException OgcServiceException
OgcServiceExceptionEntry
Stellt einen Eintrag im OgcServiceException-Array dar.
Since version: 4.0.0.60
Methoden / Eigenschaften
Verwandte Themen
OgcServiceException
Schlüsselwörter
OGC Exception OGCException OgcServiceExceptionEntry
Request
Info über den Request
Methoden / Eigenschaften
Beispiele
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
Go;
ret=CreateObject(info,"Request");
user=info.UserAgent();
qs=info.QueryString();
//falls sie hinter den Dateinamen noch einen Zusatz schreiben,
//der mit "?" beginnt, wird er in die Variable "qs" übernommen.
ip=info.ClientAddress();
ref=info.Referer();
//falls die aktuelle Seite durch einen Link aufgerufen wurde
//wird in ref die Addresse der Quellseite eingetragen.
print("Sie benutzen: "+user+".
");
If(Not(IsNull(qs)));
print("Die angegebenen Parameter lauten: "+qs+".
");
EndIf;
print("Ihre IP ist: "+ip+".
");
If(Not(IsNull(ref)));
print("Diese Seite war verlinkt in: "+ref+".
");
EndIf;
cookies=info.Cookies();
ret=CreateObject(pair,"Array");
while(cookies.next());
ret=pair.FromString(cookies.item(),"=");
print("Cookie '"+pair.At(0)+"' hat den Wert '"+pair.At(1)+"'.
");
wend;
End;
End;
Schlüsselwörter
[TODO: SearchKeyWords]
Response
Objekt zur Ermittlung und Änderung von Eigenschaften des Ausgabestroms
Since version: 3.2.0
Methoden / Eigenschaften
Beispiele
Go; /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Aktuelle Ausgabe per Flush schreiben
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ ret=CreateObject(response, "RESPONSE");
ret=response.SendContinue();
i=0;
while(Compare(i,100,LT));
printf("Durchlauf %i ",i);
response.Flush();
i=i+1;
wend; End;
Schlüsselwörter
Response |
|
Selection
Zugriff auf die Daten der aktuellen Selektion
Methoden / Eigenschaften
Boolean Next( )
Server
bietet Zugriff auf die Eigenschaften des Servers
Methoden / Eigenschaften
Beispiele
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
Go;
ret=CreateObject(iwan,"Server");
name=iwan.Name();
version=iwan.Version();
sess=iwan.ActiveSessions();
print("Sie benutzten einen "+name+" in der ");
print("Version "+version+". Darauf laufen zur Zeit ");
print(int(sess)+" Sessions.");
End;
End;
Schlüsselwörter
[TODO: SearchKeyWords]
Session
die aktuelle Benutzersitzung
Methoden / Eigenschaften
Beispiele
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
Go;
ret=CreateObject(sess,"Session");
If(Not(sess.Valid()));
EndScript();
EndIf;
//Wenn die Session-Parameter nicht gültig sind, wird das Script abgebrochen
print("Session-ID:"+sess.Id()+"
");
nolay=sess.LayerList("Layer1|Layer2|Layer3");
//versucht die Layer 1 bis 3 in die Session einzufügen
//die Layer die nicht eingefügt werden konnten werden in "nolay" geschrieben
If(nolay!=" "); /*wenn alle Layer vorhanden waren steht in "nolay" ein Lehrzeichen*/
print("Nicht vorhandene Layer: "+nolay+"
");
EndIf;
print("In der Session enthaltene Layer: "+sess.LayerList()+"
");
print("Die Koordinaten der rechten oberen Kartenecke betragen:
");
print(" Hochwert: "+sess.YMax()+"
");
print(" Rechtswert: "+sess.YMax()+"
");
//auslesen der Parameter
height=sess.ImageHeight(500);
//verändert die Bildgröße auf 500px
End;
End;
Schlüsselwörter
[TODO: SearchKeyWords]
SessionExtent
gibt den aktuellen Extent der Sitzung zurück
SymbolFile
Zugriff auf ILF Dateien.
Für den Zugriff auf die Datenzeilen wird jeweils ein Array zurückgeben. In diesem ist an Position 0 die Symbolnummer, an Position 1 der Label enthalten.
Methoden / Eigenschaften
SymbolSet
Zugriff auf Eigenschaften eines Symbolsets (*.ipalx)
Since version: 3.0.3
Methoden / Eigenschaften
Beispiele
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
End;
Schlüsselwörter
Symbolpalette, ipalx
WfsRequest
Dieses Objekt dient zum Zerlegen, Analysieren und Abarbeiten eines WFS-Requests.
Since version: 4.0.0.60
Methoden / Eigenschaften
Verwandte Themen
WfsRequestLayer, Request
Schlüsselwörter
Wfs Request WfsRequest WfsRequestLayer Ogc
WfsRequestLayer
Stellt einen Layer und seine Eigenschaften in einer Wfs-Anforderung dar
Since version: 4.0.0.60
Methoden / Eigenschaften
Verwandte Themen
WfsRequest, ISQL
Schlüsselwörter
Wfs Request WfsRequest WfsRequestLayer Ogc
XMLFile
einfacher XML Parser
Since version: 3.2.0
Methoden / Eigenschaften