Log in Sign up

6Terrain and elevation data

In brief

For the calculation, every object needs its elevation: the ground level (GL) at the respective location in meters above sea level. The elevations come from official data, from Google or from a terrain model stored in the project. A terrain model additionally allows hills and terrain edges to occlude reflections on their way to the observation point and to shade the PV areas (terrain occlusion).

A GL is carried by the corner and support points of ground-mounted areas, the reference height of roof and facade areas, obstacles and observation points. Every deviation from the real terrain goes directly into the result.

6.1 How to

  1. Set the project area (Ch. 5). The app switches on "Official data" if official elevations are available at the center of the project area; otherwise the elevations come from Google.
  2. In the "Elevation data" menu, check the source chain: order, switches and, for "Official data", the country.
  3. For area-wide evaluations, bring a terrain model into the project: "Load official terrain model" (Germany, Austria, Switzerland) or "Add your own terrain model" (section 6.5).
  4. Create objects. As long as "Calculate GL automatically" is switched on, the GL is obtained from the chain; when switched off, it is entered by hand.
  5. Compare the values by sampling against known elevations from surveying, official maps or site measurement, especially where the terrain was changed after the last flight (fills, excavations, spoil heaps). No source is guaranteed to provide correct elevation data (Ch. VII).

6.2 Source chain

For each point, the switched-on sources are queried from top to bottom; the first one with a value provides the GL. A point outside a terrain model or the official coverage goes to the next source.

  • Each file is a separate level. A new terrain model is added switched on at the top; the order can be changed with the handle.
  • The "Google Elevation API" is always last and always switched on.
  • The chain is saved with the project version. The terrain models belong to the project and apply to all versions.
Source Type Note
"Official data" point query Germany DGM1 (1 m, NHN), Austria ALS-DGM (1 m, EVRF2000), Switzerland swissALTI3D (0.5 m, LN02); without buildings and vegetation
Terrain model in the project raster stored with the project values remain as long as the file is in the project; required for the area-wide evaluations
"Google Elevation API" point query worldwide; without grid spacing and data date, accuracy varies by region

A point query can return different values on a later request (new flight, changed service). If sources with different height references are mixed, for example at a national border or with a custom file, small steps can occur between them.

6.3 Source markers

Every automatically obtained elevation value carries a superscript marker of its source in the editor and in the report; the tooltip names the source, authority and data date.

Marker Source
A, A1, A2 … official point query; numbered if several authorities or data dates occur
E, E1, E2 … terrain model in the project
G Google Elevation API
none entered by hand, imported, moved after retrieval or source not recorded

The report appendix "Elevation data sources" lists every source that occurs once in full (Ch. 14).

6.4 Change and failure of a source

Switching, reordering, adding or deleting in the chain does not change elevations already obtained. "Recalculate" on the respective object fetches new values; for ground-mounted areas, the terrain menu shows whether the elevation data have changed since the calculation (Ch. 7.5).

If a source does not respond, the next level takes over. The app reports this, the substitute value carries the marker of its actual source (e.g. G instead of A), and an affected ground-mounted area can only be simulated after the values have been obtained again. If Google does not return a value either, retrieval is aborted and existing values remain.

6.5 Terrain model in the project

A terrain model (DTM, German DGM) describes the elevation of the natural ground surface area-wide as a raster, e.g. 1 m × 1 m per cell, without buildings and trees. A surface model (DSM, German DOM) contains them and is not suitable: objects would otherwise stand on roofs and treetops. Unlike the point query, a terrain model also knows the terrain between the points. It must not be confused with the elevation grid of a ground-mounted area, which samples the terrain at support points (Ch. 7.5).

A terrain model in the project enables the following in the covered area:

Feature without terrain model
Terrain occlusion (section 6.6) terrain neither occludes nor shades
Terrain view and contour lines (section 6.7) not available
Elevation grid of the ground-mounted area with 25 m spacing (Ch. 7.5) 50 m spacing
Differentiated cross tilt (Ch. 7.6) one value per area

Sources. For Germany, Austria and Switzerland, fastest via "Load official terrain model". Otherwise the download portals of the national or state surveying agencies (in Germany DGM1 as open data, usually GeoTIFF or XYZ in 1 km tiles) or your own survey, e.g. from drone or laser-scan flights, exported as a raster.

Load official terrain model.

  1. "Load official terrain model", then "Define area". A rectangle around all PV areas with a 250 m margin is suggested.
  2. Adjust the rectangle and finish with "Confirm area".
  3. The preview shows the estimated download volume, the storage required and the account usage afterwards; "Load" starts the retrieval.

Name and description (source, data date, load date) are suggested or written by the loading process; the description cannot be changed. Limits: at most 200 tiles per extent; for Germany, a shared hourly quota of 1,000 tiles for all users. Tiles without data (water, border areas) remain as gaps.

Add your own terrain model. This requires a saved project with a project area. Several files can be added at once; the "Description" (up to 200 characters) appears in the report as the source reference.

Property Requirement
Model terrain model (DTM/DGM), not a surface model
Format GeoTIFF (.tif, .tiff), ASCII grid (.asc), XYZ list (.xyz, .txt) as a regular grid; no point clouds, single points, contour lines or plans
Grid spacing 0.25 m to 5 m; 30 m models from satellite data are rejected
Height reference above sea level (e.g. NHN/DHHN2016, EVRF, LN02); no heights above ground, no pure ellipsoidal heights; −500 m to 5,000 m
Spatial reference any coordinate system of the file; if it is missing, "Specify the coordinate system" asks for it
Location at least 2 % of the cropped square, about 1 km² for a 3 km radius
Size up to 500 MB per file

Processing. Each file is cropped to the square around the center of the project area with a side length of 2 × (radius + 500 m) and resampled to a 1 m raster: finer rasters are averaged, coarser ones interpolated bilinearly. The stored file occupies storage in the account (Ch. 3). Deleting removes the model from all versions; elevations already obtained remain.

6.6 Terrain occlusion

Terrain occlusion accounts for hilltops, embankments and slopes on both paths: they block the view from the observation point to a reflection point (PV area → observation point), and they shade the PV area when the sun is behind them (sun → PV area). For distant mountains outside the terrain model there is additionally far-field shading (Ch. 10.2). Drawn obstacles apply in addition (Ch. 10.1).

It is switched on in the "Terrain occlusion" menu with the "Terrain occlusion" switch. Without an explicit choice, it is on as soon as a terrain model is activated. The calculation uses the switched-on terrain models of the source chain; if they overlap, the one higher up takes precedence.

At the start of the simulation, a near horizon is calculated from the terrain model for each observation point. For each PV area, the highest terrain angles per direction are also calculated at sampling points above the area (corners, edges and a 25 m grid inside, coarser for large jobs), at the height of the module top edge and with terrain up to 2 km away; each calculation cell uses the nearest sampling point. Both are saved with the job; later changes to the models do not affect this simulation. Older simulations calculate only the path to the observation point; the report states this in the assumptions.

The calculation uses the terrain that is available. Terrain models can only be loaded within the project area. If an observation point lies outside the model or the project area, its horizon is calculated from its own height, and the available terrain between point and PV area still occludes. Where terrain is missing between point and PV area in a direction, it cannot occlude there; the report states this per point: "In n of m directions, terrain between the point and the PV area is missing. Part of the terrain is missing there; only that part cannot occlude, so glare is rather overstated." Gaps behind the PV area do not count. Sampling points above a PV area that lie outside the model or whose module top edge would lie below the model terrain are calculated without terrain shading; the appendix states their number.

The simulation does not start and uses no token if terrain occlusion is switched on but no terrain model is activated (menu: "On, but no terrain model is activated"), or if the eye of an observation point would lie below the model terrain (a data error, for example a manually entered height that is too low).

The report shows terrain occlusion in the overview (on, number of points, notes) and in the appendix "Terrain occlusion" with one horizon strip per point, source, grid spacing and notes, and the subsection "Shading of the PV areas by terrain" (sampling points, spacing, share of sun time in terrain shadow); in addition the silhouette in the 3D perspective, the simulation parameters and the columns of the Excel export (Ch. 14).

6.7 Terrain view and contour lines

The "Terrain" button on the map opens the "Terrain view": coloring by "Slope", "Relief" or "Elevation", the "Opacity" slider and the "Contour lines" checkbox. The line interval depends on the elevation range in the visible extent.

The view shows only the enabled terrain models in the project, not the surface the simulation calculates with; that is shown by the elevation map in the terrain menu of the ground-mounted area (Ch. 7.5). House roofs and forest edges in the view indicate a surface model.

6.8 Points to note

  • DTM instead of DSM: A surface model places objects on roofs and treetops.
  • Coverage: Only terrain within the model can occlude and shade; the model should therefore cover the terrain between PV areas and observation points and around the PV areas.
  • A source change does not act retroactively: After changes to the chain, trigger "Recalculate" on the affected objects.
  • Deviating GL: The horizon is measured from the same GL of the observation point as the simulation; a manually set height, for example on a bridge, therefore applies here as well. If it deviates by more than 0.5 m from the model, the appendix states the deviation.
  • PV areas: Their heights are not checked against the model. A mound in the model can therefore occlude part of an area.
  • Austria and Switzerland: An official service that cannot be reached is currently treated like missing coverage. The values then come from the next source without a failure message and carry its marker.
  • The pre-analysis does not take terrain occlusion into account (Ch. 11).
Details: calculation of terrain occlusion, coordinate systems

Near horizon. The eye height is the GL of the observation point plus the height above GL, as in the simulation. In steps of 0.5° azimuth, three rays per direction are traced across a 2 m elevation grid, with earth curvature and refraction; the lowest counts, so that a narrow dip within the step is not missed. Every step at which the terrain rises by a further 0.05° is saved with its distance. A reflection point counts as occluded if a closer step reaches its elevation angle; terrain behind the PV area does not occlude. The range ends at the most distant PV corner (× 1.05 + 20 m, at most 10 km, within the project area). The horizon acts like an obstacle of the observation point (Ch. V.4).

Horizons above the PV area. For the sun, only the highest terrain angle per direction counts, not its distance. At each sampling point it is calculated in 0.5° azimuth steps with three rays, the lowest being used, with Earth curvature and refraction; only in the directions in which the sun stands during the year (±3°). Along the ray, sampling uses the grid spacing, further out 1 % of the distance where that is larger. The height of the sampling point is the ground of the area used by the simulation plus the module top edge; lower parts of the modules may in reality already be in shadow, so the calculation tends to give too little shadow. Gaps in the model do not shade.

Specifying the coordinate system. The options are ETRS89 / UTM 32N (EPSG:25832) and 33N (EPSG:25833), WGS84 (EPSG:4326), Gauss-Krüger zone 3 (EPSG:31467) and 4 (EPSG:31468), and any EPSG code, e.g. EPSG:2056 for Switzerland. If the app then rejects the file because of its grid spacing or location (checks as above), the message names the specified system and asks whether it matches the data; in that case choose a different system. A system in degrees for data in metres, for example, yields a grid spacing close to 0 m.

Official coverage. Whether the official source can be used is decided by a single check point at the center of the project area. If the service does not respond during this check, the level remains switched off and must be switched on later by hand. Official values that have been queried are cached; a new flight therefore does not become visible immediately.