Zum Inhalt

Raster und Rasterarithmetik

  • cna.calc_grid() startet die Rasterberechnung
  • cna.load_grid() lädt Raster
  • cna.resample_grid() führt Resampling des Rasters aus
  • cna.save_grid() speichert Raster: Das Format wird automatisch auf Basis der Dateierweiterung festgelegt. Standardformat ist ".cnr". Nicht unterstützte Erweiterungen führen zu einer Fehlermeldung.
  • cna.grid.ne liest die äußerste Nord-Ost-Koordinate des Rasters
  • cna.grid.sw liest der äußerste Süd-West-Koordinate des Rasters
  • cna.grid.oversampling steuert (Lesen und Schreiben) die Oversampling-Rate (Beispiel: cna.grid.oversampling = 5)
  • cna.grid.display steuert (Lesen und Schreiben) die Darstellungsvariante des Rasters. Gültige Werte sind: 1 = Isolinien, 2 = Isoflächen, 3 = Flächenraster, 4 = kein Raster
  • cna.grid.display_range schaltet die Einschränkung des Darstellungsbereichs ein/aus. Dazu kann mit cna.grid.display_range_lower, cna.grid.display_range_upper und cna.grid.display_range_width die Unter-, Obergrenze und die Klassenbreite als Zahl in dB festgelegt werden.
  • cna.grid.lines2contour() konvertiert alle Isolinien in Höhenlinien (wie mit ALT+F12). Funktioniert nur wenn cna.grid.display 1 oder 2 eingestellt ist.
  • cna.grid.is_present liefert einen boolschen Wert, ob das Raster vorhanden ist oder nicht. Dazu muss das Raster vorhanden sein (valid). Ergebnis: true/false. HINWEIS: assert(cna.grid.is_present) am Anfang eines Lua-Scripts verwenden.
  • cna.grid.is_inside(a,b) liefert einen boolschen Wert, ob der angegebene ganzzahlige Rasterpunkt (a,b) innerhalb des Rasters liegt (Ergebnis: true/false). Rasterkoordinaten beginnen bei (1,1) und enden bei x,y = cna.grid.get_limits()was wiederum zwei Ganzzahlen liefert.
  • cna.grid.dx/dy/z zum Lesen/Schreiben der Rasterspezifikation
  • cna.grid.exclude_src/exclude_bld/exclude_bld_3D/use_limits zum Lesen/Schreiben der Einstellungen „Schallquellen ausschließen“, „Gebäude ausschließend“, „Gebäudehöhe berücksichtigen“ und „gesamten Umgriff mit Raster belegen“. Bei aktiver Checkbox 1, sonst 0.
  • cna.grid.set_step_size(dx,dy) setzt die Rasterschrittweite auf dx und dy.
  • cna.grid.delete_grid(x) löscht das Raster für die Variante am Index x (-1 oder Parameter weg lassen, um alle zu löschen).
  • Die Rasterarithmetik kann wie im folgenden Beispiel verwendet werden und entspricht genau den Einstellmöglichkeiten im Dialog Rasterarithmetik (siehe Rasterarithmetik):
local c = cna.grid_arith.new()
c.R1 = "C:\raster.cnr -- Eingaberaster R1 .. R6
c.intersect = true    -- Schnittmenge ein/aus
c.expr1 = "r1-r0"     -- expr1 .. expr4 möglich, als String
c:execute()           -- entspricht OK im Dialog
cna.redraw()          -- Raster neu malen, nicht zwingend erforderlich