Problem
feature_codes.csv (fresh 0.9.0) has no category column. edge_types.csv has categories (stream, canal, river, lake, wetland, etc.) that allow plain-language references in parameter CSVs. Feature codes need the same treatment so habitat eligibility can reference both edge_type and feature_code categories.
Feature codes carry biological meaning that edge_types don't — a segment with edge_type 1000 (main flow) could be a definite stream, intermittent stream, or a ditch. The habitat model needs to distinguish these.
Current state
feature_code,description
GA24850000,River/Stream - Definite
GA24850140,River/Stream - Indefinite
GA24850150,River/Stream - Intermittent
GA08800110,Ditch
GA03950000,Canal
GB15300000,Lake - Definite
...
Proposed Solution
Add category column to feature_codes.csv, matching the edge_types.csv pattern:
feature_code,description,category
GA24850000,River/Stream - Definite,stream_definite
GA24850140,River/Stream - Indefinite,stream_indefinite
GA24850150,River/Stream - Intermittent,stream_intermittent
GA08800110,Ditch,ditch
GA03950000,Canal,canal
GB15300000,Lake - Definite,lake
GB15300130,Lake - Indefinite,lake
GB15300140,Lake - Intermittent,lake
GB24300000,Reservoir - Definite,reservoir
GB90100000,Reservoir - Indefinite,reservoir
GB90100110,Reservoir - Intermittent,reservoir
GC17100000,Marsh,marsh
GC30050000,Swamp,swamp
GA08450110,Dam - Beaver,dam
GA90002110,Falls,falls
GA98450000,Dam,dam
GA10450200,Artificial Waterfall,falls
GA10450300,Flattened Waterfall,falls
GB11350110,Flooded Land - Inundated,flooded
AP09200000,Dump,industrial
AP90300100,Mine - Tailing Pond,industrial
EA26700110,Settling Basin - Sewage,industrial
WA11410000,Flow Connectors - Inferred,connector
WA17100000,Frequently Flooded Land,flooded
WA24111110,Construction Line - Main Flow,construction
WA24111111,Construction Line - Lake Arm,construction
WA24111120,Construction Line - Main Connector,construction
WA24111130,Construction Line - Secondary Flow,construction
WA24111140,Construction Line - Segment Delimiter,construction
WA24111150,Construction Line - Secondary,construction
WA24111160,Construction Line - River Delimiter,construction
WA24111170,Construction Line - Flow Inferred,construction
WA24111180,Construction Line - Subsurface Flow,subsurface
WA24111190,Construction Line - Flow Connector,connector
Add a companion function frs_feature_codes(category = NULL) matching frs_edge_types() API:
frs_feature_codes(category = "stream_definite")
frs_feature_codes(category = "stream_intermittent")
This enables parameters_habitat.csv (#100) to reference feature_code categories alongside edge_type categories:
species_code,...,spawn_edge_types,spawn_feature_types,rear_edge_types,rear_feature_types
BT,...,"stream,canal","stream_definite,stream_intermittent","stream,canal,river,lake","stream_definite,stream_intermittent,lake"
Relates to #100, #102, NewGraphEnvironment/link#18
Problem
feature_codes.csv(fresh 0.9.0) has nocategorycolumn.edge_types.csvhas categories (stream, canal, river, lake, wetland, etc.) that allow plain-language references in parameter CSVs. Feature codes need the same treatment so habitat eligibility can reference both edge_type and feature_code categories.Feature codes carry biological meaning that edge_types don't — a segment with edge_type 1000 (main flow) could be a definite stream, intermittent stream, or a ditch. The habitat model needs to distinguish these.
Current state
Proposed Solution
Add
categorycolumn tofeature_codes.csv, matching theedge_types.csvpattern:Add a companion function
frs_feature_codes(category = NULL)matchingfrs_edge_types()API:This enables
parameters_habitat.csv(#100) to reference feature_code categories alongside edge_type categories:Relates to #100, #102, NewGraphEnvironment/link#18