Skip to content

Add category column to feature_codes.csv and frs_feature_codes() function #105

@NewGraphEnvironment

Description

@NewGraphEnvironment

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

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