Rasterpunkt
- Beim Zugriff auf ungültige Rasterpunkte (z.B. außerhalb des Rasters) wird ein Fehler ausgegeben. Ungültige Zahlenwerte liefern -88 [dB].
cna.grid.get(a,b) und cna.grid[{a,b}] liefern beide ein Rasterpunkt Objekt r. Mit dem zweiten Ausdruck kann sowohl gelesen, als auch ein Zahlenwert geschrieben werden. Der Wert entspricht der aktuell gewählten Zielgröße (z.B. Ld).
cna.grid.lerp(a,b) führt eine lesende bi-lineare Interpolation an der angegebenen Gleitkomma-Koordinate aus. Liefert -88 falls der Wert außerhalb des Rasters liegt.
- Der Wert eines Rasterpunktobjekts kann mit Hilfe eines Index verwendet werden, wobei 1..4 den Zielgrößen und -1 der aktuell gewählten Zielgröße entspricht:
cna.print(r[-1])
- Die Gültigkeit der Zielgröße kann mit
r:valid(x) geprüft werden, wobei x dem oben genannten Index entspricht.
- Jeder Rasterpunkt verfügt außerdem über die Werte x, y, row, col und ground, mit denen die X und Y Koordinate des Mittelpunktes, die Reihen- und Spaltennummer (von unten links, 0-indiziert) und die Bodenhöhe ausgelesen werden können.
- Mit Hilfe von
cna.grid:all(c) kann über das Raster iteriert werden. Falls c leer ist, wird über das ganze Raster zeilenweise iteriert, andernfalls wird ein String-Integer Paar erwartet: Der erste Teil muss col für eine Spalte oder row für Zeile lauten, der zweite ist eine Zahl innerhalb der oben genannten Rastergröße. Folgendes Beispiel liefert alle Werte der aktuellen Zielgröße für die erste Spalte des Rasters:
for r in cna.grid.all("col",1) do
cna.print(c[-1])
end