Data: . Validated = a single (tilt, azimuth) explains ≥ 2 independent spike dates via the specular reflection condition, tolerance 3°. Point size ∝ √(installation area). Full derivation of the glint signal this pose fit is built on: the method page. Annotated Sentinel-2 / high-res examples of what a validated spike actually looks like in the source imagery: the image gallery.
Best estimate: 13,369 MWp, with a 90% range of 11,478–17,762 MWp. That range covers two specific, measured sources of uncertainty -- but not everything that could move this number. Below: what's inside the range, what isn't, how many ground-truth areas it rests on, and how it compares to unrelated data sources.
What's inside the range:
What's outside the range -- and can't be added back in with more arithmetic:
Treat this as an early-stage estimate from an active research pipeline, not a finished census. What's genuinely new here -- a reproducible way to estimate distributed solar from free satellite imagery and open-source AI, in places where official statistics are sparse or absent -- holds regardless of whether any single number on this page turns out exactly right. Expect these figures to keep moving as the evidence behind them grows.
Fourteen French communes were mapped panel by panel, and what they measured is the limit of the instrument rather than a correction to it. Across 3,335 hand-drawn features on sub-metre imagery, the median installation is 20 m² against a Sentinel-2 pixel of 100 m². Detection recall climbs with array size across those communes (Spearman +0.83) while an independent model reading the same installations from sub-metre imagery is flat, which places the gradient in the sensor and not in the annotator. That is why this page has no small-panel half at all: the per-building classifier that supplies most of Pakistan's estimate scores 0.710 here against 0.857 there, and at a usable precision it flags 16 buildings out of 44,314. The communes are drawn on the map above; they set the floor, they do not raise the total.
France's own register says this page is missing most of the fleet, which is the expected result. The ODRE register puts French PV at roughly 34.6 GWp, several times the figure above, and 92.0% of French installations by count sit below this pipeline's 400 m² detection floor. Per commune, the detection estimators correlate with the register at Spearman 0.45 after retraining in domain, against 0.29 zero-shot -- the retrained model got the geography substantially better while recovering about a third of the capacity. Read the map for where French PV is, not for how much there is.
data parameter
to https://overpass-api.de/api/interpreter from a script. The raw-detections
download above predates this page and will go stale as mappers keep editing; this query
always reflects live OSM state.
The capacity per grid cell shown on the map, as CSV. One row per 0.1°
cell, generated in your browser from the data this page is drawing, so it is exactly
the numbers above. lon0/lat0 are the south-west corner of
the cell. The GeoParquet carries the cell polygon in EPSG:4326, so it opens directly
in QGIS or GeoPandas.