Which height governs, which way the setback points, and in what order the taboo zones are subtracted so that whatever stays white will hold up. Only one of the distances in this document is a number written into the law. The rest is planning practice — worth not confusing the two.
The 2H rule is not measured against hub height but against total height — Gesamthöhe, or Anlagenhöhe in the language of the BauGB — which is the blade tip at its highest point:
The public concern of an optically oppressive effect does not, as a rule, stand in the way of a wind energy project where the distance from the centre of the mast foot to a permissible building use for residential purposes is at least twice the height of the installation. § 249 Abs. 10 BauGB · working paraphrase
This is where nearly everyone goes wrong. 2H is a distance between a turbine and a dwelling, and as a distance it is symmetric. But the H that governs is always the turbine's, so the setback does not mean the same thing depending on what you centre it on.
If you work with regional plans or reports from two years ago you will see 3H. That is not their mistake: it is earlier law. The case law — the OVG Münster line since 2006 — used 3H as the all-clear threshold. The BauGB amendment lowered the reference value to 2H.
The complete white map is a single operation. The taboo zones are grouped into two families — hard, where there is no room for judgement, and soft, where the planner decides and therefore has to justify — then all are unioned and subtracted from the study area in one go.
ST_Difference leaves slivers along the shared edges. With a prior
ST_Union there is a single outline and the result does not depend
on the order in which the layers were loaded.
Four layers are enough to see the mechanism: a settlement, an industrial estate, a road and a protected area. Each contributes its surface and — except the protected one — its setback too.
This is the part that holds up or falls apart on appeal. What matters is the label: only what is marked as law is an obligation with a number. The rest is planning practice, and it requires reasons for why that value was chosen and not another.
The MaStR does not publish total height. It publishes nabenhoehe
and rotordurchmesser separately, and the height has to be composed.
Where either is missing there is no ring: the turbine is still drawn, in grey,
with no setback.
| Quantity | Value | Note |
|---|---|---|
| Onshore turbines with coordinates | 40,100 | offshore separate: 2H does not apply |
| With computable total height | 39,439 | 98.4 % |
| No height → no ring | 661 | 1.6 %, shown in grey |
| Total height: min · mean · max | 5.3 · 163.8 · 363.0 m | the minimum is a Kleinwindanlage |
| Resulting 2H radius | 10.6 · 327.6 · 726.0 m | the maximum is twice the «typical» setback |
| Protected areas (BfN) | 23,616 | NSG, NP, FFH, SPA, LSG, Naturpark, Biosphäre |
| Anlagenschutzbereiche (BAF) | 2,618 | binding, § 18a LuftVG |
urn:ogc:def:crs:EPSG::4326, the axis order the OGC standard
mandates is latitude first; GeoJSON requires the opposite. Loaded as-is, the
whole of Germany lands in the Indian Ocean. The service follows the standard;
it is whoever loads it without checking who is wrong.
ogr2ogr -sql on a GeoPackage does not carry the geometry. A
SELECT a, b FROM layer loads the rows with geom null
and the row count comes out right. It surfaced because a query over NRW returned
0 roads while 176,888 rows were loaded. geom has to be written into
the SELECT.
Sources: Marktstammdatenregister (Bundesnetzagentur, dl-de/by-2-0) · OpenStreetMap (ODbL 1.0) · Schutzgebiete of the Bundesamt für Naturschutz · Anlagenschutzbereiche of the Bundesaufsichtsamt für Flugsicherung. The legal citations are working paraphrases, not official text: for a formal application, go to the text in force.