Rooftop obstruction mapping for solar-powered small-cell siting
Very-high-resolution stereo imagery and normalised surface models reveal which rooftop obstructions will shade a solar array enough to make a small-cell site unviable, before a single engineer boots up.
Sensors
- WorldView-3 (Maxar): 0.31 m panchromatic GSD; stereo pairs collected in a single pass yield dense point clouds and DSMs at 0.5 m post-spacing. Resolves rooftop furniture above roughly 0.5 m height. Revisit 1 to 4.5 days depending on off-nadir tasking tolerance.
- Pleiades Neo (Airbus): 0.30 m native GSD; tri-stereo mode produces very dense photogrammetric point clouds. Suitable for the same obstruction-height workflow as WorldView-3. Nominal revisit under 24 hours at high latitudes with the four-satellite constellation.
- Planet SkySat: 0.50 m GSD; stereo collect capability available on tasking. Height precision is slightly coarser than WorldView-3 or Pleiades Neo, making it better suited to screening candidate sites for gross obstructions than for precise irradiance modelling.
- Airborne lidar: Point densities of 8 to 50 points per square metre are achievable with commercial survey aircraft, resolving features below 0.2 m height. The only satellite-independent method that can characterise obstructions smaller than the 0.5 m floor of current VHR stereo. Coverage is limited to contracted flight areas and costs scale with area.
What a floating roof gives away
A normalised digital surface model, nDSM, is the arithmetic difference between a digital surface model capturing everything on the ground and a bare-earth digital terrain model beneath it. Every object above ground level becomes a height value. On a flat rooftop, that means parapets, water tanks, lift-motor housings, existing antenna masts, and the occasional unauthorised structure all appear as discrete elevated features with measurable height and planimetric extent.
The solar relevance is direct. A parapet 1.2 m tall will cast a shadow whose length at any given sun angle is calculable from basic trigonometry. Combined with the site latitude, panel azimuth, and the local solar declination across the year, that shadow trace defines exactly which fraction of a proposed panel array will be shaded during peak irradiance hours. A tank that appears modest in a street-level photograph can eliminate 30 to 40 percent of usable panel area when the sun is low in winter months. Discovering this from a desk, before mobilising a survey crew, is the point of the exercise.
How the height model is built from stereo imagery
Stereo photogrammetry matches conjugate points across two or more images taken from different look angles. WorldView-3 and Pleiades Neo both support same-strip stereo collection, meaning the satellite acquires forward and aft views within seconds of each other, minimising the risk of scene changes between acquisitions. Semi-global matching algorithms then produce dense disparity maps, which are converted to point clouds and gridded into a DSM at post-spacings typically between 0.25 m and 0.5 m for these sensors.
The DTM beneath the rooftop is simpler to obtain than in a forested landscape: a flat concrete roof is itself a reasonable proxy for a local datum plane, and the bare-roof elevation can be estimated from building footprint data or from the DSM itself by sampling the lowest stable surface within the building outline. The nDSM is then clipped to the rooftop polygon. Height accuracy for well-textured surfaces at WorldView-3 stereo is typically cited in the published literature at one to two times the GSD, so roughly 0.3 to 0.6 m root-mean-square error under favourable contrast conditions. That means features below about 0.5 m height are at the detection threshold, not reliably measured. A low-profile cable tray or a shallow drainage lip will not appear. This is an honest limit of the method.
Translating obstruction geometry into irradiance loss
Once the nDSM is in hand, shadow casting is a standard raster operation. For each obstruction polygon, height and position relative to a proposed panel array are fed into a solar position model, typically using the NREL Solar Position Algorithm or equivalent, which computes sun azimuth and elevation for every hour of the year at the site latitude. The shadow footprint at each time step is projected across the array, and shaded cell-hours are accumulated into an annual loss fraction.
The output is not a single number but a map: each candidate panel position receives an annual irradiance estimate in kilowatt-hours per square metre, accounting for the specific obstruction geometry of that rooftop. A site with a central tank and clear eastern and western margins might still yield a viable split array. A site with a tall parapet on the south face, at a latitude where the sun is predominantly southern, may be unworkable regardless of panel configuration. The analysis makes that distinction explicit before any capital is committed.
Panel azimuth is a variable the operator controls. The analysis can be run across a range of azimuths to find the orientation that maximises annual yield given the fixed obstruction geometry. This optimisation step is straightforward computationally but requires the obstruction nDSM to be accurate enough that the shadow traces are meaningful. At 0.5 m height uncertainty, the irradiance estimates carry corresponding uncertainty, which should be reported alongside the output.
Where satellite imagery reaches its limit
Three failure modes are worth naming plainly. First, very small obstructions. A 0.3 m conduit bracket or a thin antenna radome will not appear in a WorldView-3 nDSM. If the proposed panel array is tightly constrained and small features matter, a drone survey or ground visit is necessary. Satellite stereo is a screening tool that eliminates the worst sites and ranks the rest; it is not a substitute for a final ground check on shortlisted candidates.
Second, cloud. VHR optical stereo requires clear-sky conditions over the target at collect time. In persistently cloudy climates, particularly equatorial regions during the wet season, tasking windows may be infrequent. Archive imagery may be available but could be months old, during which time rooftop furniture may have changed. Lidar collected from aircraft under cloud is the alternative, at higher cost.
Third, rooftop access rights and structural load are entirely outside what any remote sensing method can determine. A rooftop that looks geometrically ideal from orbit may be legally unavailable or structurally unsuitable for panel mounting. The satellite analysis narrows the candidate list; the due diligence list remains.
Prioritising a candidate list across dozens of sites
The value of the method scales with the number of candidate sites. Assessing twenty rooftops by drone or ground survey is feasible but slow. Assessing two hundred is not, within a typical network rollout timeline. A single WorldView-3 stereo collect can cover tens of square kilometres in one pass, producing nDSMs for every rooftop in a district simultaneously. Sites can then be ranked by estimated annual irradiance yield and filtered against a minimum threshold before any field resource is deployed.
Satellize runs this kind of multi-site screening workflow as a structured analytics engagement, producing ranked site lists with per-rooftop irradiance estimates and obstruction inventory layers as GIS deliverables. The approach is similar in structure to the crop-area estimation work done for the Kingdom of Tonga, where the core task was also converting raw imagery geometry into an actionable ranked output for a decision-maker with limited ground-truth capacity.
The practical output for a telecoms operator is a shortlist of sites where solar viability has been confirmed to the resolution of the available imagery, with explicit uncertainty flags on sites where the obstruction geometry is marginal. That is a different thing from a site survey report. It is the input that makes site survey reports worth commissioning only where they are actually needed.
Typical figures
| Best achievable GSD (satellite stereo) | 0.30 m (Pleiades Neo, WorldView-3) |
| nDSM post-spacing (typical) | 0.25 to 0.50 m |
| Height accuracy (well-textured surfaces) | 0.3 to 0.6 m RMSE at WorldView-3 GSD; varies with texture and off-nadir angle |
| Minimum detectable obstruction height (satellite stereo) | Approximately 0.5 m; features below this threshold are unreliable |
| Minimum detectable obstruction height (airborne lidar) | Below 0.2 m at 8+ pts/m² |
| Revisit (WorldView-3, tasked) | 1 to 4.5 days depending on off-nadir tolerance |
| Revisit (Pleiades Neo, tasked) | Under 24 hours at mid-to-high latitudes |
| Cloud sensitivity | Full: optical stereo requires clear sky at collect time |
| Deliverable formats | GeoTIFF nDSM, vector obstruction polygons with height attributes, per-site irradiance raster, ranked site CSV |
| Archive depth (WorldView-3) | Available from 2014; rooftop-level archive coverage varies by city |
Analytics Satellize can run
| Rooftop nDSM layer | Semi-global matching stereo photogrammetry on VHR tasked stereo pair; DSM minus DTM differencing clipped to building footprint polygons | GeoTIFF height raster per candidate rooftop, with obstruction polygons attributed by height class |
| Annual solar irradiance map per rooftop | Hourly shadow casting using NREL Solar Position Algorithm applied to nDSM obstruction geometry at site latitude and candidate panel azimuth | Per-panel-position irradiance raster (kWh/m²/year) with uncertainty band derived from height RMSE |
| Optimal panel azimuth recommendation | Irradiance model run across azimuth sweep (typically 90° to 270° in 5° steps) to identify maximum annual yield orientation given fixed obstruction geometry | Per-site table of azimuth versus annual yield, with recommended configuration |
| Multi-site ranked candidate list | Batch irradiance scoring across all candidate rooftops in a single stereo collect footprint; sites ranked by net usable irradiance above operator-defined threshold | Ranked CSV and GIS layer with per-site pass/fail flag and irradiance estimate |
| Obstruction inventory | Object segmentation on nDSM to classify obstruction type (parapet, tank, mast, vegetation) by height profile and planimetric shape | Vector polygon layer with height, area, and obstruction-type attributes for each rooftop feature |
| Change detection flag (re-survey trigger) | Bi-temporal nDSM differencing on archive and new collect to identify rooftops where obstruction geometry has changed since initial survey | Alert layer flagging sites requiring re-assessment before installation proceeds |
Who does the work
We can get this done for you. Satellize runs its own analyst desk and a strong science team. You do not buy a data feed and work out what it means; our people source the imagery, run the analysis described on this page, and hand you the answer with its confidence limits stated. Discuss this requirement.