Module: Cdss::Analysis
Overview
Provides methods for accessing analysis services from the CDSS API including call analysis and water source route frameworks.
Instance Method Summary collapse
-
#get_call_analysis_gnisid(gnis_id:, admin_no:, stream_mile:, start_date: nil, end_date: nil, batch: false) ⇒ Array<CallAnalysis>
Performs call analysis by GNIS ID, showing daily priority percentages.
-
#get_call_analysis_wdid(wdid:, admin_no:, start_date: nil, end_date: nil, batch: false) ⇒ Array<CallAnalysis>
Performs call analysis by WDID, showing daily priority percentages.
-
#get_source_route_analysis(lt_gnis_id:, lt_stream_mile:, ut_gnis_id:, ut_stream_mile:) ⇒ Array<RouteAnalysis>
Analyzes water source routes between two points.
-
#get_source_route_framework(division: nil, gnis_name: nil, water_district: nil) ⇒ Array<SourceRoute>
Retrieves the DWR source route framework reference data.
Methods included from Utils
#batch_dates, #build_query, #fetch_paginated_data, #format_date, #format_query_param, #parse_timestamp, #safe_float, #safe_integer
Instance Method Details
#get_call_analysis_gnisid(gnis_id:, admin_no:, stream_mile:, start_date: nil, end_date: nil, batch: false) ⇒ Array<CallAnalysis>
Performs call analysis by GNIS ID, showing daily priority percentages.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/cdss/analysis.rb', line 57 def get_call_analysis_gnisid(gnis_id:, admin_no:, stream_mile:, start_date: nil, end_date: nil, batch: false) admin_no = admin_no.to_s if batch results = [] date_ranges = batch_dates(start_date, end_date) date_ranges.each_with_index do |range, _index| results.concat( fetch_call_analysis_gnisid( gnis_id: gnis_id, admin_no: admin_no, stream_mile: stream_mile, start_date: range[0], end_date: range[1] ) ) end results else fetch_call_analysis_gnisid( gnis_id: gnis_id, admin_no: admin_no, stream_mile: stream_mile, start_date: start_date, end_date: end_date ) end end |
#get_call_analysis_wdid(wdid:, admin_no:, start_date: nil, end_date: nil, batch: false) ⇒ Array<CallAnalysis>
Performs call analysis by WDID, showing daily priority percentages.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/cdss/analysis.rb', line 19 def get_call_analysis_wdid(wdid:, admin_no:, start_date: nil, end_date: nil, batch: false) admin_no = admin_no.to_s if batch results = [] date_ranges = batch_dates(start_date, end_date) date_ranges.each_with_index do |range, _index| results.concat( fetch_call_analysis_wdid( wdid: wdid, admin_no: admin_no, start_date: range[0], end_date: range[1] ) ) end results else fetch_call_analysis_wdid( wdid: wdid, admin_no: admin_no, start_date: start_date, end_date: end_date ) end end |
#get_source_route_analysis(lt_gnis_id:, lt_stream_mile:, ut_gnis_id:, ut_stream_mile:) ⇒ Array<RouteAnalysis>
Analyzes water source routes between two points.
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/cdss/analysis.rb', line 117 def get_source_route_analysis(lt_gnis_id:, lt_stream_mile:, ut_gnis_id:, ut_stream_mile:) query = build_query( { ltGnisId: lt_gnis_id, ltStreamMile: lt_stream_mile, utGnisId: ut_gnis_id, utStreamMile: ut_stream_mile } ) fetch_paginated_data( endpoint: "/analysisservices/watersourcerouteanalysis/", query: query ) { |data| Parser.parse_route_analyses(data) } end |
#get_source_route_framework(division: nil, gnis_name: nil, water_district: nil) ⇒ Array<SourceRoute>
Retrieves the DWR source route framework reference data.
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/cdss/analysis.rb', line 94 def get_source_route_framework(division: nil, gnis_name: nil, water_district: nil) query = build_query( { dateFormat: "spaceSepToSeconds", division: division, gnisName: gnis_name, waterDistrict: water_district } ) fetch_paginated_data( endpoint: "/analysisservices/watersourcerouteframework/", query: query ) { |data| Parser.parse_source_routes(data) } end |