Open dhardestylewis opened 2 years ago
lgtm
note that LPC density could be significantly greater than LPC resolution
s reported above
note PDAL might provide ANPS resolution
spec above directly from LPC files
replace year
with date
, refined to the day using @andycarter-pe's TNRIS API calls:
https://github.com/andycarter-pe/TNRIS_Terrain_Harvest/blob/master/02_jupyter_notebook/cwe_get_tnris_lidar_collections_20220805.ipynb
new buckets should be delineated by date
, srid
, colorinterp
, first dropping any pixeltype != '32BF'
other existing seamless products such as Fathom3m, USGS National Map will be substituted in at end of table as backfill data to address missing data outside of TNRIS source DEM coverage area, replacing
source DEM selection table
pixelresolution (m) | resolution (m) | pixeltype | date | srid | colorinterp | #projects | #tiles_in_bucket | sum(#tiles_in_projects)
-----------------|------------|-----------|------|-------|-------------|-------|--------|--------
3 | 0.5 | 32BF | 2014 | 2278 | Undefined | 1 | 1010 | 1010
3 | 0.5 | 32BF | 2010 | 26914 | Undefined | 1 | 537 | 537
3 | 0.61 | 32BF | 2011 | 32614 | Undefined | 1 | 1456 | 1456
3 | 0.7 | 32BF | 2016 | 2278 | Undefined | 1 | 677 | 677
3.3 | 0.7 | 32BF | 2006 | 2279 | Undefined | 1 | 1602 | 1602
5 | 0.3 | 32BF | 2014 | 26914 | Undefined | 1 | 1 | 1
5 | 0.5 | 32BF | 2009 | 26914 | Undefined | 1 | 322 | 322
5 | 1 | 32BF | 2010 | 26914 | Undefined | 1 | 911 | 915
5 | 1 | 32BF | 2009 | 26914 | Undefined | 3 | 1268 | 1268
5 | 1 | 32BF | 2008 | 2278 | Undefined | 1 | 229 | 229
5 | 1.4 | 32BF | 2006 | 26915 | Undefined | 1 | 15 | 2886
9.8 | 1.4 | 16BSI | 2007 | 2277 | Undefined | 1 | 139 | 2770
9.8 | 1.4 | 32BF | 2008 | 2277 | Undefined | 1 | 2693 | 2693
9.8 | 1.4 | 32BF | 2007 | 2277 | Undefined | 1 | 2631 | 2770
10 | 1.4 | 32BF | 2012 | 2277 | Undefined | 1 | 1085 | 1085
with
seamless DEM backfill table
pixelresolution (m) |
resolution (m) | pixeltype | year | srid | colorinterp | #projects | projectname |
---|---|---|---|---|---|---|---|
1 | various | 32BF | various | ? | ? | 1 | USGS National Map (3DEP) |
3 | various | 32BF | various | ? | ? | 1 | Fathom3m |
3 | various | 32BF | various | ? | ? | 1 | USGS National Map (3DEP) |
10 | various | 32BF | various | ? | ? | 1 | USGS National Map (3DEP) |
Since the best-in-time-and-space algo will be applied first, there will technically be no substitution of rows above - they will be eliminated beforehand by best-in-time-and-space algo and these other seamless products will be appended to selection table after best-in-time-and-space algo is applied ref, best-in-time-and-space algo: https://github.com/dhardestylewis/terrain_aggregator/issues/41#issuecomment-1207481378
note for QAQC: any interior gaps in TNRIS data coverage that are backfilled with seamless data should be explicitly described with a separate vector image
replace following characteristic names for clarity:
pixelresolution
-> demresolution
resolution
-> lpcresolution
pixeltype
-> pixeldatatype
year
-> acquisitiondate
srid
-> projectioncode
colorinterp
-> colorinterpretation
acquisitiondate
using @andycarter-pe's TNRIS API calls
conda create -n tnris_api geopandas pandas shapely
conda env export --from-history > environment_tnris_api.yml
environment_trnris_api.yml
name: tnris_api
channels:
- conda-forge
- defaults
dependencies:
- pandas
- shapely
- geopandas
new buckets should be delineated by
date
,srid
,colorinterp
, first dropping anypixeltype != '32BF'
therefore closes https://github.com/dhardestylewis/terrain_aggregator/issues/37
3 | 0.5 | 32BF | 2014 | 2278 | Undefined | 1 | 1010 | 1010 3 | 0.5 | 32BF | 2010 | 26914 | Undefined | 1 | 537 | 537 3 | 0.61 | 32BF | 2011 | 32614 | Undefined | 1 | 1456 | 1456 3 | 0.7 | 32BF | 2016 | 2278 | Undefined | 1 | 677 | 677 3.3 | 0.7 | 32BF | 2006 | 2279 | Undefined | 1 | 1602 | 1602 5 | 0.3 | 32BF | 2014 | 26914 | Undefined | 1 | 1 | 1 5 | 0.5 | 32BF | 2009 | 26914 | Undefined | 1 | 322 | 322 5 | 1 | 32BF | 2010 | 26914 | Undefined | 1 | 911 | 915 5 | 1 | 32BF | 2009 | 26914 | Undefined | 3 | 1268 | 1268 5 | 1 | 32BF | 2008 | 2278 | Undefined | 1 | 229 | 229 5 | 1.4 | 32BF | 2006 | 26915 | Undefined | 1 | 15 | 2886 9.8 | 1.4 | 16BSI | 2007 | 2277 | Undefined | 1 | 139 | 2770 9.8 | 1.4 | 32BF | 2008 | 2277 | Undefined | 1 | 2693 | 2693 9.8 | 1.4 | 32BF | 2007 | 2277 | Undefined | 1 | 2631 | 2770 10 | 1.4 | 32BF | 2012 | 2277 | Undefined | 1 | 1085 | 1085
@brentporter recommends referring out to TNRIS & possibly IBWC for this question
Draft selection table for best-in-time-and-space version of the
terrain_aggregator
workflowSee below for detail on how to read & interpret this table.
Please let me know if you think
Each row of this table is bucketed by
pixelresolution
,resolution
,pixeltype
,year
,srid
,colorinterp
Basically,
I bucket the complete TNRIS Lidar tileset by the first 6 columns of this table
I throw away the following buckets, relying on separate Fathom 3m complete coverage to fill in any gaps:
Note: These buckets should be thrown away because their data is in integers, and 1m integer elevation is worse accuracy than the vertical accuracy of the Fathom 3m elevation dataset
I transform these buckets to
pixelresolution
=0.3
meterspixeltype
= 32-bit floating point number (32BF
)srid
= NAD83 / Texas Centric Albers Equal Area (EPSG:3083
)colorinterp
=Undefined
color interpretationI build a VRT using the order of the buckets in the table above to select elevation data from one tile over another. The order of these buckets was determined by this order of preference of these characteristics :
pixelresolution
- TNRIS Lidar DEM resolution (in meters)resolution
- TNRIS Lidar point-cloud resolution (in meters)pixeltype
- TNRIS Lidar DEM pixel data typeyear DESC
- TNRIS Lidar project's release year, most recent year firstsrid
- projection unique identifiercolorinterp
- color interpretation scheme (You can read adjacent rows of the table above from left-to-right to see how one each characteristic's values were chosen over each other.)The last 3 columns in the table above help provide context for each of the buckets :
definition :
#projects
- number of projects contributing tiles to this bucketdefinition :
#tiles_in_bucket
- total number of tiles in this bucketdefinition :
sum(#tiles_in_projects)
- sum of number of tiles in all projects contributing tiles to this bucket#projects
tells you if multiple projects contribute to a bucket#tiles_in_bucket/sum(#tiles_in_projects)
tells you if a bucket contains every tile of every project that contributes to it