jma_code 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +49 -0
- data/data/20130523_AreaMarineAJ/AreaMarineA.csv +78 -0
- data/data/20130523_AreaMarineAJ/AreaMarineJ.csv +67 -0
- data/data/20201026_WmoObservingStations.csv +176 -0
- data/data/20240216_AreaInformationCity-AreaForecastLocalM/AreaForecastLocalM/357/274/210/343/202/263/343/203/274/343/203/210/343/202/231/350/241/250/357/274/211.csv +616 -0
- data/data/20240216_AreaInformationCity-AreaForecastLocalM/AreaForecastLocalM/357/274/210/351/226/242/344/277/202/350/241/250/343/200/200/347/253/234/345/267/273/346/263/250/346/204/217/346/203/205/345/240/261.csv +391 -0
- data/data/20240216_AreaInformationCity-AreaForecastLocalM/AreaForecastLocalM/357/274/210/351/226/242/344/277/202/350/241/250/343/200/200/350/255/246/345/240/261/343/203/273/346/263/250/346/204/217/345/240/261.csv +399 -0
- data/data/20240216_AreaInformationCity-AreaForecastLocalM/AreaInformationCity.csv +2094 -0
- data/data/20240315_RiverOffice.csv +163 -0
- data/data/20240325_PointAmedas/ame_master.csv +1378 -0
- data/data/20240325_PointAmedas/snow_master.csv +341 -0
- data/data/20240418_WaterLevelStation.csv +641 -0
- data/data/Volcano_Earthquake/20240618_AdditionalCommentEarthquake.csv +72 -0
- data/data/Volcano_Earthquake/20240618_AreaEpicenter.csv +348 -0
- data/data/Volcano_Earthquake/20240618_AreaEpicenterAbbreviation.csv +171 -0
- data/data/Volcano_Earthquake/20240618_AreaEpicenterDetail.csv +762 -0
- data/data/Volcano_Earthquake/20240618_AreaEpicenterSuppliment.csv +46 -0
- data/data/Volcano_Earthquake/20240618_AreaForecastEEW.csv +19 -0
- data/data/Volcano_Earthquake/20240618_AreaForecastLocalEEW.csv +61 -0
- data/data/Volcano_Earthquake/20240618_AreaForecastLocalE_ AreaInformationCity_ PointSeismicIntensity.csv +4377 -0
- data/data/Volcano_Earthquake/20240618_AreaForecastLocalE_AreaInformationCity_PointRealtimeIntensity.csv +666 -0
- data/data/Volcano_Earthquake/20240618_AreaForecastLocalE_PointSeismicLgIntensity.csv +708 -0
- data/data/Volcano_Earthquake/20240618_AreaInformationPrefectureEarthquake.csv +52 -0
- data/data/Volcano_Earthquake/20240618_AreaTsunami.csv +103 -0
- data/data/Volcano_Earthquake/20240618_CoastTsunami.csv +70 -0
- data/data/Volcano_Earthquake/20240618_EarthquakeForecast.csv +11 -0
- data/data/Volcano_Earthquake/20240618_EarthquakeInformation.csv +28 -0
- data/data/Volcano_Earthquake/20240618_EarthquakeWarning.csv +7 -0
- data/data/Volcano_Earthquake/20240618_PointTsunami.csv +560 -0
- data/data/Volcano_Earthquake/20240618_PointVolcano.csv +125 -0
- data/data/Volcano_Earthquake/20240618_TokaiInformation.csv +8 -0
- data/data/Volcano_Earthquake/20240618_TsunamiWarning.csv +14 -0
- data/data/Volcano_Earthquake/20240618_VolcanicWarning.csv +55 -0
- data/lib/jma_code/area_flood_forecast.rb +30 -0
- data/lib/jma_code/area_forecast_local.rb +52 -0
- data/lib/jma_code/area_information_city.rb +97 -0
- data/lib/jma_code/area_marine.rb +91 -0
- data/lib/jma_code/ext/blank.rb +61 -0
- data/lib/jma_code/point_amedas.rb +134 -0
- data/lib/jma_code/river_office.rb +30 -0
- data/lib/jma_code/version.rb +3 -0
- data/lib/jma_code/water_level_station.rb +44 -0
- data/lib/jma_code/wmo_observing_station.rb +68 -0
- data/lib/jma_code.rb +13 -0
- metadata +100 -0
@@ -0,0 +1,44 @@
|
|
1
|
+
require "csv"
|
2
|
+
|
3
|
+
module JMACode
|
4
|
+
using Blank
|
5
|
+
|
6
|
+
class WaterLevelStation < Struct.new(
|
7
|
+
:code, :name, :river_name,
|
8
|
+
keyword_init: true
|
9
|
+
)
|
10
|
+
HEADERS = %i(
|
11
|
+
code
|
12
|
+
name
|
13
|
+
river_name
|
14
|
+
)
|
15
|
+
|
16
|
+
class << self
|
17
|
+
def load_20240418(&block)
|
18
|
+
path = File.join(File.dirname(__FILE__), "../../data/20240418_WaterLevelStation.csv")
|
19
|
+
File.open(path) do |f|
|
20
|
+
csv = CSV.new(f, headers: HEADERS, row_sep: "\r\n")
|
21
|
+
if block_given?
|
22
|
+
yield(csv)
|
23
|
+
else
|
24
|
+
load(csv, num_headers: 3, &block)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def load(csv, num_headers: 3)
|
30
|
+
csv.drop(num_headers).map do |row|
|
31
|
+
build_by_csv_row(row)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def build_by_csv_row(row)
|
36
|
+
new(
|
37
|
+
code: row[:code],
|
38
|
+
name: row[:name],
|
39
|
+
river_name: row[:river_name],
|
40
|
+
)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require "csv"
|
2
|
+
|
3
|
+
module JMACode
|
4
|
+
using Blank
|
5
|
+
|
6
|
+
class WmoObservingStation < Struct.new(
|
7
|
+
:code, :name, :name_phonetic, :long_name, :lat, :lng, :used_by,
|
8
|
+
keyword_init: true
|
9
|
+
)
|
10
|
+
HEADERS = %i(
|
11
|
+
code
|
12
|
+
name
|
13
|
+
name_phonetic
|
14
|
+
lat_major
|
15
|
+
lat_minor
|
16
|
+
lng_major
|
17
|
+
lng_minor
|
18
|
+
long_name
|
19
|
+
used_by_bioseasonal
|
20
|
+
used_by_seasonal
|
21
|
+
used_by_special
|
22
|
+
name_used_by_uv
|
23
|
+
name_used_by_marine_live_forecast
|
24
|
+
name_used_by_flood_forecast
|
25
|
+
name_used_by_weather
|
26
|
+
)
|
27
|
+
|
28
|
+
class << self
|
29
|
+
def load_20201026(&block)
|
30
|
+
path = File.join(File.dirname(__FILE__), "../../data/20201026_WmoObservingStations.csv")
|
31
|
+
File.open(path) do |f|
|
32
|
+
csv = CSV.new(f, headers: HEADERS, row_sep: "\r\n")
|
33
|
+
if block_given?
|
34
|
+
yield(csv)
|
35
|
+
else
|
36
|
+
load(csv, num_headers: 3, &block)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def load(csv, num_headers: 3)
|
42
|
+
csv.drop(num_headers).map do |row|
|
43
|
+
build_by_csv_row(row)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def build_by_csv_row(row)
|
48
|
+
new(
|
49
|
+
code: row[:code],
|
50
|
+
name: row[:name],
|
51
|
+
name_phonetic: row[:name_phonetic],
|
52
|
+
lat: "#{row[:lat_major]}.#{row[:lat_minor]}".to_f,
|
53
|
+
lng: "#{row[:lng_major]}.#{row[:lng_minor]}".to_f,
|
54
|
+
long_name: row[:long_name],
|
55
|
+
used_by: [
|
56
|
+
row[:used_by_bioseasonal].present? ? :bioseasonal : nil,
|
57
|
+
row[:used_by_seasonal].present? ? :seasonal : nil,
|
58
|
+
row[:used_by_special].present? ? :special : nil,
|
59
|
+
row[:name_used_by_uv].present? ? :uv : nil,
|
60
|
+
row[:name_used_by_marine_live_forecast].present? ? :marine_live_forecast : nil,
|
61
|
+
row[:name_used_by_flood_forecast].present? ? :flood_forecast : nil,
|
62
|
+
row[:name_used_by_weather].present? ? :weather : nil,
|
63
|
+
].compact,
|
64
|
+
)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
data/lib/jma_code.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require "jma_code/version"
|
2
|
+
require "jma_code/ext/blank"
|
3
|
+
require "jma_code/wmo_observing_station"
|
4
|
+
require "jma_code/water_level_station"
|
5
|
+
require "jma_code/river_office"
|
6
|
+
require "jma_code/point_amedas"
|
7
|
+
require "jma_code/area_flood_forecast"
|
8
|
+
require "jma_code/area_information_city"
|
9
|
+
require "jma_code/area_forecast_local"
|
10
|
+
require "jma_code/area_marine"
|
11
|
+
|
12
|
+
module JMACode
|
13
|
+
end
|
metadata
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jma_code
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- metheglin
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2024-06-27 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '13.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '13.0'
|
27
|
+
description: JMA Code
|
28
|
+
email: pigmybank@gmail.com
|
29
|
+
executables: []
|
30
|
+
extensions: []
|
31
|
+
extra_rdoc_files: []
|
32
|
+
files:
|
33
|
+
- README.md
|
34
|
+
- data/20130523_AreaMarineAJ/AreaMarineA.csv
|
35
|
+
- data/20130523_AreaMarineAJ/AreaMarineJ.csv
|
36
|
+
- data/20201026_WmoObservingStations.csv
|
37
|
+
- data/20240216_AreaInformationCity-AreaForecastLocalM/AreaForecastLocalM(コード表).csv
|
38
|
+
- data/20240216_AreaInformationCity-AreaForecastLocalM/AreaForecastLocalM(関係表 竜巻注意情報.csv
|
39
|
+
- data/20240216_AreaInformationCity-AreaForecastLocalM/AreaForecastLocalM(関係表 警報・注意報.csv
|
40
|
+
- data/20240216_AreaInformationCity-AreaForecastLocalM/AreaInformationCity.csv
|
41
|
+
- data/20240315_RiverOffice.csv
|
42
|
+
- data/20240325_PointAmedas/ame_master.csv
|
43
|
+
- data/20240325_PointAmedas/snow_master.csv
|
44
|
+
- data/20240418_WaterLevelStation.csv
|
45
|
+
- data/Volcano_Earthquake/20240618_AdditionalCommentEarthquake.csv
|
46
|
+
- data/Volcano_Earthquake/20240618_AreaEpicenter.csv
|
47
|
+
- data/Volcano_Earthquake/20240618_AreaEpicenterAbbreviation.csv
|
48
|
+
- data/Volcano_Earthquake/20240618_AreaEpicenterDetail.csv
|
49
|
+
- data/Volcano_Earthquake/20240618_AreaEpicenterSuppliment.csv
|
50
|
+
- data/Volcano_Earthquake/20240618_AreaForecastEEW.csv
|
51
|
+
- data/Volcano_Earthquake/20240618_AreaForecastLocalEEW.csv
|
52
|
+
- data/Volcano_Earthquake/20240618_AreaForecastLocalE_ AreaInformationCity_ PointSeismicIntensity.csv
|
53
|
+
- data/Volcano_Earthquake/20240618_AreaForecastLocalE_AreaInformationCity_PointRealtimeIntensity.csv
|
54
|
+
- data/Volcano_Earthquake/20240618_AreaForecastLocalE_PointSeismicLgIntensity.csv
|
55
|
+
- data/Volcano_Earthquake/20240618_AreaInformationPrefectureEarthquake.csv
|
56
|
+
- data/Volcano_Earthquake/20240618_AreaTsunami.csv
|
57
|
+
- data/Volcano_Earthquake/20240618_CoastTsunami.csv
|
58
|
+
- data/Volcano_Earthquake/20240618_EarthquakeForecast.csv
|
59
|
+
- data/Volcano_Earthquake/20240618_EarthquakeInformation.csv
|
60
|
+
- data/Volcano_Earthquake/20240618_EarthquakeWarning.csv
|
61
|
+
- data/Volcano_Earthquake/20240618_PointTsunami.csv
|
62
|
+
- data/Volcano_Earthquake/20240618_PointVolcano.csv
|
63
|
+
- data/Volcano_Earthquake/20240618_TokaiInformation.csv
|
64
|
+
- data/Volcano_Earthquake/20240618_TsunamiWarning.csv
|
65
|
+
- data/Volcano_Earthquake/20240618_VolcanicWarning.csv
|
66
|
+
- lib/jma_code.rb
|
67
|
+
- lib/jma_code/area_flood_forecast.rb
|
68
|
+
- lib/jma_code/area_forecast_local.rb
|
69
|
+
- lib/jma_code/area_information_city.rb
|
70
|
+
- lib/jma_code/area_marine.rb
|
71
|
+
- lib/jma_code/ext/blank.rb
|
72
|
+
- lib/jma_code/point_amedas.rb
|
73
|
+
- lib/jma_code/river_office.rb
|
74
|
+
- lib/jma_code/version.rb
|
75
|
+
- lib/jma_code/water_level_station.rb
|
76
|
+
- lib/jma_code/wmo_observing_station.rb
|
77
|
+
homepage: https://rubygems.org/gems/jma_code
|
78
|
+
licenses:
|
79
|
+
- MIT
|
80
|
+
metadata: {}
|
81
|
+
post_install_message:
|
82
|
+
rdoc_options: []
|
83
|
+
require_paths:
|
84
|
+
- lib
|
85
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.7'
|
90
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
95
|
+
requirements: []
|
96
|
+
rubygems_version: 3.1.4
|
97
|
+
signing_key:
|
98
|
+
specification_version: 4
|
99
|
+
summary: JMA Code
|
100
|
+
test_files: []
|