Airport checks and levelling, OLS surfaces, roads and tile seams

💬 0 replies

Bumpy runways are a common problem of generated scenery: the terrain mesh under a runway copies the DEM including its noise. RF Studio can measure airports, flatten them one by one in the editor or in batch for a whole tile, and find obstacles in the ICAO surfaces.

ICAO limits and heuristics
The rating is based on ICAO Annex 14 (runway slopes, vertical curve radii, obstacle limitation surfaces). Where ICAO has no limit (e.g. bump size), the value is marked as a heuristic (letter H). The Studio has not checked the quoted limits against the latest amendment; they serve to judge the look in the simulator, not for aviation certification.

Airport check on a tile

Read-only – the DSF does not change. DSF › choose a DSF › the Airports tab › Check airports (progress and Cancel while it runs – the previous result then stays unchanged).

For every land airport from apt.dat (Custom Scenery by priority, then Global Airports) the Studio measures the mesh of this DSF:

  • runways: longitudinal slope (over 30 m, maximum and mean), slope of the whole runway, transverse slope in cross-sections every 25 m, bump (largest deviation from a 30 m straightedge), triangle count on the runway, water under the centreline, mesh coverage,
  • taxiways along the apt.dat routes (1201/1202): longitudinal and transverse slope, bump,
  • aprons and other pavements (110): slope p95 and maximum, share of pavement steeper than 1 %,
  • airport elevation: the highest point of the paved runway centrelines against the elevation in apt.dat,
  • ILS and thresholds from the earth_nav.dat of the X-Plane installation (read-only; Custom Data wins over Resources\default data): at runway ends with an ILS or LTP it compares the threshold height on the mesh with the LTP (rated, 3 m heuristic) and the glide path height over the threshold with the TCH (without a TCH ICAO 15 m; informative only – it assumes X-Plane runs the glide path from the touchdown point abeam the GS antenna, which is a hypothesis). It also shows the mesh height at the GS antenna against the navigation data and the LOC course against the runway, both informative. The ILS and thresholds from earth_nav.dat table is in the airport Detail; without the file the check says earth_nav.dat not found – no ILS comparison.

The result is sorted by severity: OK, Caution, Bad, Not rated. A finding has its GPS (click = copy) and the 3D, Editor, Detail and Obstacles buttons. Detail has a runway table (⌖ = show in 3D, H = heuristic, hover = limit and source), the Profile button (a centreline profile chart right in the panel) and In editor (a project measuring the profile along the runway centreline). Limits and their sources lists all limits.

  • Unpaved runways are only shown by default; the Rate unpaved runways too option includes them in the rating.
  • An airport with "flatten 1" in apt.dat is flattened by X-Plane itself at runtime – the mesh check is only informative for it.
  • An airport crossing the tile border is measured only within this DSF and is not batch-flattened (use the editor with the tile seam).

Batch airport flattening

Below the check result is the Batch airport flattening card:

  1. Select airports (Select all, Only "Caution" and "Bad", Clear selection).
  2. Flattening mode: - Smooth the area (recommended) – removes bumps and short waves in the area around runways and pavement; the shape and slope of longer sections stay, converging runways and pavement join without seams. Options: Smoothing length (default 60 m), Area margin (default 30 m – within it the change blends smoothly into the original terrain), Include pavement (taxiways, stands), Smooth grass in the area too (off = the grass only blends smoothly into the smoothed runways and pavement). - ICAO runway profile (advanced) – every runway gets its own longitudinal profile and a 0 % transverse slope: Runway ends (follow terrain / apt.dat airport elevation) and Blend into surroundings (m). - For both modes: Strength, Keep unevenness up to, Change at most by (the same as in the editor).
  3. Flattening area (Smooth mode only) shows a preview for every selected airport: the area, pavement and runways. The area is prefilled from apt.dat – the rectangles of paved runways extended by the margin sideways and past the ends (like Prefill with runway… in the editor) and, with pavement on, the pavement extended by the margin. Outside the area the mesh does not change. Steep terrain outside runways and pavement that separates two parts of the terrain or the terrain from water (an embankment slope, a shore) is not smoothed: it keeps its shape, only blends smoothly into the surroundings (no step forms at its edge), and the terrain on its other side is not counted into the smoothing. A steep mound or a short embankment in the middle of grass is smoothed together with its surroundings.
  4. To adjust the area of an airport, click Adjust in editor: the editor opens over this DSF with the Airport tool and the area to edit (draw another polygon, prefill from a runway, delete; Preview shows the result). The Use in batch flattening and go back button saves the area and takes you back – the preview then shows it dashed and labelled "adjusted in the editor". Automatic area discards the adjustment.
  5. Flatten selected (n) › confirm with Flatten. The job runs in the Operations › Batches queue (it waits while RenderFarm runs).
  6. All airports are flattened into one new DSF. An airport that fails verification is skipped with a reason.
  7. After writing, the check runs again on the result: the Before → after table shows the mode, the area size and the largest height change at the airport (after applying Strength, Keep unevenness up to and Change at most by) and lists Improved and Caution, got worse (bumps and slopes of runways, taxiways and pavement). Only a difference larger than 2 % of the original value and at the same time larger than 0.05 percentage points (slope) or 5 mm (bump) counts as a change; smaller differences are mesh measurement noise. Each runway is assessed separately: if any of them gets worse, the value appears only in the Caution, got worse row. Open result selects the new DSF.

You can start the same flattening from Operations › Batches › 2. Where to apply it › Airports on the tile – with the same options and area preview (the options and the areas adjusted in the editor are shared).

Measured on the mesh (Laminar)
FMEE: the Smooth mode lowered the runway bump from 0.097 to 0.026 m and the pavement slope (95 %) from 2.46 to 2.26 %, the largest pavement slope stayed 2.46 → 2.47 %. LKVO: runway bump 0.061 → 0.017 m, largest pavement slope 1.77 → 1.72 %. The ICAO profile mode on FMEE: runway bump 0.028 m, but the largest pavement slope 2.46 → 3.91 %.

ICAO profile mode and runway edges
The runway gets a 0 % transverse slope. Where the terrain under the runway lay on a slope, a transition into the adjoining pavement and taxiways appears at the runway edge and the largest pavement slope may grow there. The airport rating therefore sometimes stays the same after flattening, even if the runways improved a lot. Always go through the Before → after table.

Not verified: batch flattening in X-Plane
The result of both modes is measured by the airport check (the Before → after table), it has not been verified in X-Plane yet.

Flattening one airport in the editor

For fine work on one airport: Editor › a project around the airport › Terrain & water › the Airport, road, tile seam section › the Airport tool. Only the mesh changes (DEMS raster unchanged, objects and roads sit on the mesh); the area boundary and water do not change.

  1. ICAO › Load from apt.dat – lists the runways (length × width, surface) and pavements.
  2. Edit area: Draw area, or Prefill with runway… (runway outline + 30 m; all runways). Only the inside of the area changes; at its boundary the change fades smoothly.
  3. Method: - Smooth the marked area (recommended) (default) – removes bumps and waves and keeps the terrain shape, suitable also for converging runways. Smoothing length (60 m by default; bumps and waves shorter than this disappear, longer slopes stay; more = flatter, but changes more terrain), Smooth grass too (on by default; off = only the apt.dat pavement is smoothed and the change fades smoothly into the grass), Fade at the area boundary (40 m by default – over this width inside the area the change drops to zero, so there is no step at the boundary). Steep terrain outside runways and pavement that separates two parts of the terrain or the terrain from water (an embankment slope, a shore) is not smoothed and only blends in smoothly – the same as in batch flattening. - ICAO runway profile (advanced) – each runway gets its own longitudinal profile: Runway end elevations (terrain (smoothed) / airport elevation from apt.dat / enter manually), Max longitudinal slope (empty = per ICAO and runway length: ≥ 1800 m 1.25 %, 1200–1800 m 1.5 %, shorter 2 %), Min vertical curve radius (30,000 / 15,000 / 7,500 m), Profile smoothing window, Transverse slope and its shape (crowned from the centreline / one-sided), Taxiways and aprons, Paved runways only.
  4. Optionally Flattening amount (optional) for both methods: Strength (100 % = fully, 50 % = halfway to the target), Keep unevenness up to ± (differences smaller than the value stay, e.g. 0.2 m), Max. height change (a safety cap: no place is raised or lowered by more; empty = no limit). The result states the largest height change before and after applying these options.
  5. Mesh quality: Insert outlines into the mesh, Max vertical error, Target grid step, Min triangle angle.
  6. Preview (a background job) – mesh before / after in 3D, a runway table before → after (longitudinal slope, transverse slope, bump, runway ends, ICAO code), deviation from the target; 3D surface. The After edit button in the 3D view shows the flattened terrain with textures, relief and orthophoto like the original terrain, ⇆ Compare next to the original (see Terrain after the edit in the 3D view). Check the profile with Measure › Profile.
  7. Write new DSF.

Not verified: airport flattening in X-Plane
The "Smooth the marked area" mode is measured on the mesh. At FMEE the waves on the runways dropped – the largest from 0.104 m to 0.008 m, 95 % of the values (p95) from 0.008 m to 0.002 m; that is, however, a measurement of an older version of the calculation (before fitting a plane instead of a quadratic and leaving out steep terrain) and it has not been re-measured with the current version in the editor. Current numbers after this change (bump by a 30 m straightedge from the airport check) are under batch flattening. The visual check in X-Plane is still pending. The ICAO runway profile (advanced) method has not been verified in X-Plane either. Check: runways and pavements without bumps and steps, an aircraft at a stand sits level, a smooth transition into grass and the surroundings.

Obstacles in the ICAO surfaces (OLS)

Editor › the Obstacles button (or DSF › Airports › Obstacles at an airport, which creates a project around the airport and switches the mode on). The search only reads; nothing changes until you confirm an edit.

  1. Airport and for each runway its Code (auto or 1–4) and for each end the approach type (auto, non-instrument, non-precision approach, precision approach). "Auto" is a heuristic: the type from the runway markings in apt.dat, the code from the runway length.
  2. Surface length (full per ICAO / shorter), Reference elevation (aerodrome elevation from apt.dat / lowest threshold), Report from, Also search overlay packages, Conical surface.
  3. Find obstacles (progress and Cancel while it runs). The surfaces are shown transparent in 3D, obstacles in red.
  4. Surfaces and result: counts by type (terrain, object, forest, building, autogen), the inner horizontal height, runway data.
  5. The Obstacles list: type filter, sorting (total penetration / own height above the surface), hide excluded, hide those on terrain above the surface (default – otherwise the list fills with trees and houses on hills that already penetrate the surface on their own). A click on a row focuses the obstacle in 3D and shows details with GPS.
  6. Actions (all with confirmation, Ctrl+Z undoes): - Exclusion zone – adds an exclusion to the project; after export it hides objects (autogen as objects), facades or forests in the rectangle from scenery with lower priority (the overlay pack must be higher in scenery_packs.ini), - for project entities Delete from project, Cut forest, Lower to X m (building) – greyed out for a locked entity, - for terrain the lower checkbox.
  7. Lower terrain below the surfaces: Margin below the surface, Blend into surroundings, Lower by at most (a safety cap) › Preview lowering (largest lowering, highest terrain above the surface before → after, largest rise) › Write new DSF…. Runways, pavements and water do not change and the lowering fades out near them, so terrain may stay above the surface there.

When you change the options, the result is marked as stale and terrain lowering is disabled until you search again.

Not verified: height estimates
Obstacle heights: objects from the .obj bounds, forests from max_h in the .for, buildings from the facade parameter, autogen from the tallest object it refers to (heuristic). The ICAO table values are from the 8th edition (2018) and have not been checked against later amendments. Lowered terrain has not yet been checked in X-Plane.

Road corridor

Terrain & water › Airport, road, tile seam › the Road tool. Levels the terrain under a road across and along within the chosen limits – mesh only (road points in the DSF carry no height, the road is draped on the mesh).

  1. Pick a road by clicking – click a road in 3D; the nearest DSF network segment and the connected segments of the same type are selected (no junctions).
  2. Carriageway half width (from .net), Shoulder, Max longitudinal slope (empty = by width: 4 / 6 / 10 %), Min vertical curve radius, Profile smoothing window, Cut / fill slope 1:, Max slope length, No embankments in towns, Fade at the ends.
  3. Optionally Flattening amount (strength, keep unevenness, max change).
  4. Preview – height difference across the carriageway (p95 / max), longitudinal teeth, max longitudinal slope, fill and cut volume; After edit in the 3D view shows the adjusted corridor textured like the original terrain and the road on the new heights › Write new DSF.

Not verified: road corridor in X-Plane
The corridor is verified on the mesh (preview values, mesh checks). It has not been verified in X-Plane yet – check that the road lies on the terrain without steps and teeth and that the cut and fill slopes blend smoothly into the surroundings.

Tile seam

When the edit area of an airport or road reaches into a neighbouring tile, tick Also edit neighbouring tiles (seam). Each DSF is edited separately and the vertices on the shared edge get the same position and height in both – no step. Pick the DSF of each neighbouring tile from the list of its versions (Laminar, our output, Studio edits, packages; terrain meshes only) – preselected is the DSF from the same package as the project terrain, otherwise the one X-Plane draws for the tile; Other path… accepts a path (from the same allowed places as the source in DSF edits). The seam of Insert detailed DEM works the same way. The output is a new DSF for each affected tile; the verification lists the number of shared vertices and the largest height difference on the seam.

Not verified: seam in X-Plane
The seam is verified on the mesh (identical vertices on the edge in both DSFs). Its look in X-Plane has not been verified yet. The new DSFs of both tiles must be installed in X-Plane.


Based on the RF Studio manual (F1 › Manual, version 0.11.2-beta). Post your questions and experience in this thread.