Das Kefk Network Wiki befindet sich im Testbetrieb.
Avenue (Skriptsprache)
Aus Kefk.
| Dieser Artikel wurde zur Löschung vorgeschlagen.
Falls du der Autor des Artikels bist, lies dir bitte durch, was ein Löschantrag bedeutet, und entferne diesen Hinweis nicht. |
Begründung: ein inhaltlich recht mageres howto zu einer wenig wichtigen skriptsprache. ein kurzer hinweis bei ArcView sollte genügen. -- ∂ 13:18, 26. Apr. 2007 (CEST)
Avenue ist die Skriptsprache des Desktop-GIS-Programms ArcView GIS 3.x.
Aufbau von Avenue
Sie ist objektorientiert und bedingt rekursiv. Mit ihr kann man wiederkehrende Aufgaben lösen und andere Berechnungen durchführen sowie sämtliche Funktionalitäten und die Benutzeroberfläche von ArcView GIS ansprechen und verändern. Mit Hilfe der dem Programm ArcView beiliegenden Erweiterung Dialog Designer können auch komplexe Dialoge zur Benutzerführung erstellt werden.
Rekursion
Skripte werden in ArcView durch folgenden Befehl aufgerufen, wobei Skriptname eine beliebige Zeichenkette und Variable ein beliebiges Objekt sein kann:
av.run(Skriptname,Variable)
Ruft man ein Skript mit dem Namen rekursion.run durch sich selbst auf, kommt es zu der Fehlermeldung "Script rekursion.run is already in the process of being executed." Dennoch ist es mit folgender Befehlszeile sehr einfach möglich, ein Avenue-Skript durch sich selbst aufzurufen und Variablen zu übergeben:
av.delayedrun(Skriptname,Variable,Verzögerung)
Die Anweisung av.delayedrun ruft ein Skript nach einer angegebenen Verzögerungszeit in Sekunden auf. Diese Anweisung funktioniert allerdings auch bei Übergabe einer Verzögerungszeit von 0. In folgendem Beispiel wird das Skript rekursion.run durch das Skript rekursion.start aufgerufen, ruft sich anschließend 1000 mal selbst auf und übergibt jeweils den immer um 1 erhöhten Wert der Variable "thecounter". Am Ende wird die dafür aufgewendete Zeit zurückgegeben (10 sec auf einem Athlon XP 2200).
Skript rekursion.start:
'rekursion.start
av.run("rekursion.run",{1,date.now.asseconds})
Skript rekursion.run:
'rekursion.run
thecounter=self.get(0)
thedate=self.get(1)
if (thecounter>=1000) then
msgbox.info((thecounter.asstring)+" Durchläufe erreicht in "+
(date.now.asseconds-thedate).asstring+" Sekunden","")
exit
end
av.delayedrun("rekursion.run",{thecounter+1,thedate},0)
Integration in ArcView
Die gesamte Programmierumgebung Avenue sowie ein einfacher Skripteditor sind in Arcview integriert. Die Installation zusätzlicher Software ist nicht erforderlich.
Hilfen zu Avenue finden sich in den beiden deutschsprachigen ArcView-Foren: ANUVA und Lange-Informationssysteme. Umfassendere Antworten und Beispiele stellt die Firma ESRI bereit: Avenue-Tools und Newsgroups und Foren.
| Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Avenue_%28Skriptsprache%29, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation. |
