Skip to content

Footprints are sized from bare earth, but over forest the camera sees the canopy #80

Description

@NewGraphEnvironment

Verdict (measured; no code change)

Under the rule fixed before any frame was sized: NOTHING. Sizing through fly_footprint() on MRDEM's DSM (mrdem-30-dsm.tif, published on the DTM's grid) instead of its DTM shrinks a frame by a weighted median of 0.17% of width and 0.46% at the 95th percentile, over a probability sample of 612 film frames weighted to the 1,437,124 DEM-eligible ones with a canopy value. The threshold was 1%. 1.2% of frames move more than 1%, 99.5% of them by weight fine-scale (2.1% of frames at 1:15000 or finer). It is small by arithmetic: at the median 4,575 m above ground, 1% needs 46 m of mean canopy under the whole frame.

Answers to the three unknowns below:

  • How much of the catalogue, how tall: the distribution above. Mean DSM − DTM under a frame (open ground and gaps included) is a weighted median 7.56 m, 95th 14.49 m.
  • Does first order hold against a ray-cast: yes, to a weighted median 1.68e-4 (about a tenth of the median shift). A DSM also does not degrade the rectangle model (relief residual 95th 2.89% against 2.86%).
  • Is passing a DSM the answer: it would not hurt, and it is not needed. MRDEM's DSM is the imaged surface to within about a tenth: on 150 LidarBC tiles under radar-sourced cells (88.3% of BC), MRDEM overstates canopy but its DTM sits ~2.5 m under lidar ground, and the two cancel (slope 0.916). Whether the DSM's canopy existed at the photo date was modelled from VRI stand origin; a DSM would be worse than the DTM on 15.1% of the 1970s frames where canopy matters, 1.3% of all 1970s frames. An observed witness of the photo-date surface is filed as Photo parallax as a witness of the surface the camera saw at the photo date #82.

fly#65's "a canopy can reverse the area verdict" does not hold at BC's canopy: with each frame's own DSM − DTM, to first order, the land-and-sea mean stays closer (median −0.00127).

Producer: data-raw/dem_measure-canopy_height.R; tables inst/extdata/dem_canopy_*.csv; write-up in inst/notes/terrain-correction.md, "A forested frame is sized from bare earth, and it does not matter (fly#80)".


Original issue below, unchanged except that the approach's instrument changed: NRCan's HRDEM was planned as the independent witness and covers almost none of MRDEM's radar cells in BC (0 of 3,000 random points), so LidarBC replaced it before any frame was measured.

Problem

fly_footprint(dem =) sizes a frame from the mean of a bare-earth DEM (MRDEM-30 is a DTM), but over forest the camera images the canopy top. So every frame sized over forest is drawn too wide by about canopy_height × (land share) / height_agl, in the same direction — the datum-offset kind of error #9 exists to remove, left at canopy height.

Found while measuring fly#65. There it matters because the land-and-sea mean the package uses (W) and the land-only mean (L) err in opposite directions, so a canopy offset changes which is closer. To first order (a uniform canopy over every land cell, not a re-run ray-cast), over 1,242 coastal frames:

canopy on the land median(|W| − |L|) W area 95th, coastal inland
0 m −0.00287 2.16% 3.18%
15 m −0.00122 2.27% 3.37%
30 m +0.00014 2.38% 3.62%
60 m +0.00220 3.05% 4.97%

The inland column is the general point: an all-land frame takes the whole shift, so its 95th-percentile linear error goes from 3.18% to 4.97% under 60 m of canopy. Producer: the canopy lines of data-raw/dem_measure-coastal_water.R (fly#65).

What is not known

  • How much of the catalogue sits over canopy tall enough to matter, and how tall. No canopy-height model was used; the table is a uniform-canopy sensitivity, not a measurement.
  • Whether the first-order formula holds against a ray-cast on a real DSM.
  • Whether passing a DSM instead of a DTM is simply the answer — callers can already do that, and the documentation recommends MRDEM's DTM.

Approach

Measure before deciding, as #58 and #65 did: pick a public canopy-height or DSM product covering BC, ray-cast a sample of forested frames against it, and compare the DTM-sized rectangle with the true footprint. Then decide between documenting it, recommending a DSM, or nothing.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions