Ricardo's Blog

by Ricardo Morin

Logging visualization: data pipeline documentation

The logging visualization site integrates data from multiple sources


The purpose of this post is to document the data processing steps applied to the original sources of the data, to create the layers used by the logging visualization site.

Data pipeline in a nutshell

The diagram below depicts the flow of data from the original sources (left) mapped to the site navigation structure (right).

Primary data sources

Name Description Format
Global Forest Change Results from time-series analysis of Landsat images in characterizing global forest extent and change. GeoTIFF
Clearcuts in Federal Lands Clearcuts in federal public lands documented by Oregon Wild using aerial photography and logging records. Original dataset enhanced with the latest logging records from the US Forest Service and the BLM (below). Shapefile
USFS Timber Harvests United States Forest Service (USFS) dataset which depicts areas treated as a part of the Timber Harvest program of work. Activities are self-reported by Forest Service Units. Shapefile
BLM Harvest Treatments Bureau of Land Management (BLM) dataset which represents completed harvest land treatments on BLM managed lands in the states of Oregon and Washington. Harvest treatments are the cutting and removal or trees or biomass. GDB

Processing

Ref Process Input Output Tools Commands
Clip
  • Global Forest Change GeoTIFF (merged granules 50N-130W and 50N-120W)
  • Mask Vector Layer: Oregon boundary excluding Forest Service, BLM, NPS, and BIA
  • Mask Vector Layer: Warm Springs boundary
  • Clipped GeoTIFF (minus Warm Springs)
  • Clipped GeoTIFF (Warm Springs)
QGIS QGIS -> Raster -> Extraction -> Clip Raster By Mask Layer…
Merge
  • Clipped GeoTIFF (minus Warm Springs)
  • Vector Layer: Clearcuts in federal lands
  • Vector Layer: Clearcuts in Warm Springs
State-level clearcuts tiles: {z}/{x}/{y}.png Tilemill -> export

mb-util -> export
Gen Clearcuts in Federal Lands Federal lands clearcuts vector tiles: {z}/{x}/{y}.pbf
  • mapshaper
  • tippecanoe
mapshaper -i fedcuts/fedcuts.shp -proj wgs84 -verbose -o format=geojson precision=0.0001 fedcuts.json

tippecanoe –layer=fedcuts –name=fedcuts –no-tile-compression –minimum-zoom=9 –maximum-zoom=14 –simplification=20 –simplify-only-low-zooms –output-to-directory “fedcuts-vtiles/all” fedcuts.json

Note: Clipped versions of underreported areas (Fremont-Winema, Mount Hood, and Siuslaw) are also generated using the above recipe
Split
  • Vector Layer: USFS Timber Harvests
  • Vector Layer: BLM Harvest Treatments
Area-level (National Forests and BLM District Offices) detailed vector tiles: {z}/{x}/{y}.pbf
  • mapshaper
  • tippecanoe
genvtiles.sh
Poly
  • Clipped GeoTIFF (minus Warm Springs)
  • Clipped GeoTIFF (Warm Springs)
Private/state/tribal vector tiles: {z}/{x}/{y}.pbf
  • QGIS
  • mapshaper
  • tippecanoe
QGIS -> Raster -> Conversion -> Polygonize

mapshaper -> simplify (Visvalingam, 30%), clean, filter remove-empty, filter ‘this.area>12000’, export precision 0.0001

mapshaper combine-files, export

mapshaper hansen-private-state-tribal.json -each ‘assignedId=this.id’ -o format=geojson hansen-private-state-tribal-i.json

tippecanoe –layer=timberharvest –name=timberharvest –no-tile-compression –minimum-zoom=6 –maximum-zoom=14 –include=assignedId –simplification=20 –simplify-only-low-zooms –coalesce –maximum-tile-bytes=100000 –output-to-directory “hansen” hansen-private-state-tribal-i.json

mapshaper hansen-private-state-tribal-i.json -each ‘GIS_ACRES=Math.round(this.area*0.000247105)’ -filter-fields assignedId,YEAR,GIS_ACRES -o format=json hansen/timber-or-s-info.json

comments powered by Disqus