when_exe 0.4.4 → 0.4.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/when_exe.rb +89 -3
- data/lib/when_exe/basictypes.rb +37 -7
- data/lib/when_exe/calendarnote.rb +18 -13
- data/lib/when_exe/calendartypes.rb +3 -9
- data/lib/when_exe/coordinates.rb +23 -373
- data/lib/when_exe/ephemeris.rb +7 -7
- data/lib/when_exe/ephemeris/notes.rb +0 -14
- data/lib/when_exe/events.rb +1851 -0
- data/lib/when_exe/icalendar.rb +121 -4
- data/lib/when_exe/linkeddata.rb +29 -18
- data/lib/when_exe/locales/akt.rb +63 -0
- data/lib/when_exe/locales/locale.rb +60 -11
- data/lib/when_exe/mini_application.rb +14 -8
- data/lib/when_exe/namespace.rb +42 -0
- data/lib/when_exe/parts/enumerator.rb +13 -2
- data/lib/when_exe/parts/geometric_complex.rb +51 -1
- data/lib/when_exe/parts/method_cash.rb +15 -10
- data/lib/when_exe/parts/resource.rb +47 -29
- data/lib/when_exe/region/chinese.rb +4 -3
- data/lib/when_exe/region/chinese/calendars.rb +4 -4
- data/lib/when_exe/region/chinese/epochs.rb +6 -6
- data/lib/when_exe/region/chinese/notes.rb +3 -3
- data/lib/when_exe/region/chinese/twins.rb +6 -6
- data/lib/when_exe/region/islamic.rb +1 -1
- data/lib/when_exe/region/japanese.rb +4 -4
- data/lib/when_exe/region/japanese/eclipses.rb +2 -2
- data/lib/when_exe/region/japanese/location.rb +93 -0
- data/lib/when_exe/region/japanese/notes.rb +29 -11
- data/lib/when_exe/region/japanese/residues.rb +1 -1
- data/lib/when_exe/region/japanese/twins.rb +18 -6
- data/lib/when_exe/region/location.rb +40 -0
- data/lib/when_exe/region/martian.rb +1 -1
- data/lib/when_exe/region/ryukyu.rb +1 -1
- data/lib/when_exe/spatial.rb +611 -0
- data/lib/when_exe/timestandard.rb +3 -3
- data/lib/when_exe/tmobjects.rb +32 -0
- data/lib/when_exe/tmposition.rb +211 -1318
- data/lib/when_exe/tmptypes.rb +1265 -0
- data/lib/when_exe/tmreference.rb +35 -0
- data/lib/when_exe/version.rb +3 -3
- data/test/events/example-datasets +7 -0
- data/test/events/history-dataset.csv +22 -0
- data/test/events/japanese-holiday-index.csv +28 -0
- data/test/events/japanese-holiday.csv +77 -0
- data/test/events/japanese-holiday.ttl +778 -0
- data/test/events/make_events_ttl.rb +18 -0
- data/test/events/mori_wikichoshi.csv +14 -0
- data/test/events/ndl_koyomi.csv +220 -0
- data/test/events/ndl_koyomi_index.csv +44 -0
- data/test/events/primeminister-dataset.csv +19 -0
- data/test/events/shogun-dataset.csv +22 -0
- data/test/events/test-history-dataset-edge-sparql.csv +26 -0
- data/test/events/test-history-dataset-edge.csv +27 -0
- data/test/events/test-history-dataset-sparql.csv +22 -0
- data/test/events/test-history-dataset.csv +23 -0
- data/test/events/test-history-events-edge.ttl +89 -0
- data/test/events/test-history-events.csv +6 -0
- data/test/examples/Terms.m17n +1 -1
- data/test/test.rb +6 -0
- data/test/test/coordinates.rb +2 -2
- data/test/test/events.rb +32 -0
- data/test/test/region/japanese.rb +20 -0
- data/test/test/region/m17n.rb +2 -2
- data/test/test/region/mayan.rb +6 -6
- data/test/test/tmposition.rb +63 -1
- metadata +26 -2
@@ -610,7 +610,7 @@ module When
|
|
610
610
|
["[皇泰]1" , "@A","name=[恭帝=ja:%%<恭帝トウ>];618-05-24^ChineseTwin?note=Chinese::大業暦", "619-04-08"], # 戊辰 5791-26
|
611
611
|
[self,
|
612
612
|
"period:[鄭<王世充>=ja:%%<王世充>]",
|
613
|
-
["[開明=ja:%%<開明_(王世充)>]1" ,"@F" ,"name=[王世充];619-04-08^ChineseTwin?note=Chinese::大業暦", "621-05-{丁卯}"] # 丙午 5853-45, 621-05-09=は丁卯
|
613
|
+
["[開明=ja:%%<開明_(王世充)>]1" ,"@F" ,"name=[王世充];619-04-08^ChineseTwin?note=Chinese::大業暦", "621-05-{1丁卯}"] # 丙午 5853-45, 621-05-09=は丁卯
|
614
614
|
],
|
615
615
|
[self,
|
616
616
|
"period:[梁<蕭銑>=ja:%%<蕭銑>]",
|
@@ -643,11 +643,11 @@ module When
|
|
643
643
|
[self,
|
644
644
|
"period:[夏<竇建徳>=ja:%%<竇建徳>]",
|
645
645
|
["[丁丑=ja:%%<丁丑_(夏)>]1", "@F", "name=[竇建徳];617-01-05^ChineseTwin?note=Chinese::大業暦"], # 丙辰 5718-2
|
646
|
-
["[五鳳=ja:%%<五鳳_(夏)>]1", "", " 618-07", "621-05-{丁卯}"] # 5805-54, 621-05-09=は丁卯
|
646
|
+
["[五鳳=ja:%%<五鳳_(夏)>]1", "", " 618-07", "621-05-{1丁卯}"] # 5805-54, 621-05-09=は丁卯
|
647
647
|
],
|
648
648
|
[self,
|
649
649
|
"period:[漢東<劉黒闥>=ja:%%<劉黒闥>]",
|
650
|
-
["[天造]1" , "@F" ,"name=[劉黒闥];622-01^ChineseTwin?note=Chinese::大業暦", "623-01-{庚辰}"] # 5942-1, 623-01-03=は庚辰
|
650
|
+
["[天造]1" , "@F" ,"name=[劉黒闥];622-01^ChineseTwin?note=Chinese::大業暦", "623-01-{1庚辰}"] # 5942-1, 623-01-03=は庚辰
|
651
651
|
],
|
652
652
|
[self,
|
653
653
|
"period:[魏<李密>=ja:%%<李密_(隋)>]",
|
@@ -659,11 +659,11 @@ module When
|
|
659
659
|
],
|
660
660
|
[self,
|
661
661
|
"period:[涼<李軌>=ja:%%<李軌>]",
|
662
|
-
["[安楽=ja:%%<安楽_(年号)>]1" , "@F" ,"name=[李軌];618-11-04^ChineseTwin?note=Chinese::大業暦", "619-05-{辛巳}"] # 乙巳 5820-28, 619-05-13=は辛巳
|
662
|
+
["[安楽=ja:%%<安楽_(年号)>]1" , "@F" ,"name=[李軌];618-11-04^ChineseTwin?note=Chinese::大業暦", "619-05-{1辛巳}"] # 乙巳 5820-28, 619-05-13=は辛巳
|
663
663
|
],
|
664
664
|
[self,
|
665
665
|
"period:[燕<高開道>=ja:%%<高開道>]",
|
666
|
-
["[始興=ja:%%<始興_(高開道)>]1" ,"@F" ,"name=[高開道];618-12^ChineseTwin?note=Chinese::大業暦", "620-10-{己酉}"] # 5833-47, 620-10-19=は己酉
|
666
|
+
["[始興=ja:%%<始興_(高開道)>]1" ,"@F" ,"name=[高開道];618-12^ChineseTwin?note=Chinese::大業暦", "620-10-{1己酉}"] # 5833-47, 620-10-19=は己酉
|
667
667
|
],
|
668
668
|
[self,
|
669
669
|
"period:[乗<高曇晟>=ja:%%<高曇晟>]",
|
@@ -754,7 +754,7 @@ module When
|
|
754
754
|
["[貞元=ja:%%<貞元_(唐)>]1" , "" , " 785-01-01"], # 丁酉
|
755
755
|
["[永貞=ja:%%<永貞_(唐)>]1" , "@A" , "name=[順宗=ja:%%<順宗_(唐)>];805-08-05"], # 辛丑
|
756
756
|
["[元和=ja:%%<元和_(唐)>]1" , "@A" , "name=[憲宗=ja:%%<憲宗_(唐)>];806-01-02"], # 丁卯 元和2年から観象暦を使用
|
757
|
-
["[長慶]1" , "@A" , "name=[穆宗=ja:%%<穆宗_(唐)>];821-01-{辛丑}"], # 辛丑 長慶2年から宣明暦を使用
|
757
|
+
["[長慶]1" , "@A" , "name=[穆宗=ja:%%<穆宗_(唐)>];821-01-{1辛丑}"], # 辛丑 長慶2年から宣明暦を使用
|
758
758
|
["[宝暦=ja:%%<宝暦_(唐)>]1" , "@A" , "name=[敬宗];825-01-07"], # 辛亥
|
759
759
|
["[大和=ja:%%<大和_(唐)>,alias:太和=ja:%%<大和_(唐)>]1" ,"@A","name=[文宗=ja:%%<文宗_(唐)>];827-02-13"], # 乙巳
|
760
760
|
["[開成=ja:%%<開成_(唐)>]1" , "" , " 836-01-01"], # 辛丑
|
@@ -94,7 +94,7 @@ module When
|
|
94
94
|
# @return [When::Coordinates::Residue] 六十干支
|
95
95
|
#
|
96
96
|
def year(date, options={})
|
97
|
-
When.
|
97
|
+
When.Resource('_co:Common::干支')[(date.most_significant_coordinate-4) % 60]
|
98
98
|
end
|
99
99
|
|
100
100
|
#
|
@@ -106,7 +106,7 @@ module When
|
|
106
106
|
# @return [When::Coordinates::Residue] 七曜
|
107
107
|
#
|
108
108
|
def week(date, options={})
|
109
|
-
When.
|
109
|
+
When.Resource('_co:Common::Week')[date.to_i % 7]
|
110
110
|
end
|
111
111
|
|
112
112
|
#
|
@@ -118,7 +118,7 @@ module When
|
|
118
118
|
# @return [When::Coordinates::Residue] 六十干支
|
119
119
|
#
|
120
120
|
def stembranch(date, options={})
|
121
|
-
When.
|
121
|
+
When.Resource('_co:Common::干支')[(date.to_i-11) % 60]
|
122
122
|
end
|
123
123
|
|
124
124
|
#
|
@@ -31,7 +31,7 @@ module When
|
|
31
31
|
['[大業暦=]597.01.01', '@CR', '597-01-01^ChineseTwin::大業暦', '619-01-01='],
|
32
32
|
['[戊寅元暦]619.01.01', '@CR', '619-01-01^ChineseTwin::戊寅元暦'],
|
33
33
|
['[平朔戊寅暦=]645.01.01','@CR','645-01-01^ChineseTwin::平朔戊寅暦'],
|
34
|
-
['[麟徳暦]
|
34
|
+
['[麟徳暦]666.01.01', '@CR', '666-01-01^ChineseTwin::麟徳暦'],
|
35
35
|
['[大衍暦]729.01.01', '@CR', '729-01-01^ChineseTwin::大衍暦'],
|
36
36
|
['[五紀暦]762.01.01', '@CR', '762-01-01^ChineseTwin::五紀暦'],
|
37
37
|
['[正元暦=]784.01.01', '@CR', '784-01-01^ChineseTwin::正元暦', '807-01-01'],
|
@@ -62,7 +62,7 @@ module When
|
|
62
62
|
['[開皇暦=]584.01.16', '@CR', '584-01-16^ChineseTwin::開皇暦(節月)', '596.12.22='],
|
63
63
|
['[大業暦=]596.12.22', '@CR', '596-12-22^ChineseTwin::大業暦(節月)'],
|
64
64
|
['[戊寅元暦]618.12.19', '@CR', '618-12-19^ChineseTwin::戊寅元暦(節月)'],
|
65
|
-
['[麟徳暦]
|
65
|
+
['[麟徳暦]666.01.09', '@CR', '666-01-09^ChineseTwin::麟徳暦(節月)'],
|
66
66
|
['[大衍暦]729.01.03', '@CR', '729-01-03^ChineseTwin::大衍暦(節月)'],
|
67
67
|
['[五紀暦]761.12.29', '@CR', '761-12-29^ChineseTwin::五紀暦(節月)'],
|
68
68
|
['[正元暦=]783.12.26', '@CR', '783-12-26^ChineseTwin::正元暦(節月)', '807-01-11'],
|
@@ -320,7 +320,7 @@ module When
|
|
320
320
|
# 'rissei' => 'B',
|
321
321
|
'method' => '#{Method:A}',
|
322
322
|
's' => [
|
323
|
-
# 消息總 盈朒積
|
323
|
+
# 消息總 盈朒積 初率b 別差c
|
324
324
|
[ 0.0, 0, +3.9546, -0.0372], # 冬至
|
325
325
|
[ -722.0, +54, +3.4091, -0.0372], # 小寒
|
326
326
|
[-1340.0, +100, +2.8636, -0.0372], # 大寒
|
@@ -398,7 +398,7 @@ module When
|
|
398
398
|
'anomalistic_month_length' => '6701279/243200', # 27.0 +(1685.0+79.0/80)/3040,
|
399
399
|
# 'rissei' => 'C',
|
400
400
|
's' => [
|
401
|
-
# 先後數 朓朒積
|
401
|
+
# 先後數 朓朒積 初率b 別差c
|
402
402
|
[ 0.0, 0, +13.4524, -0.1886], # 冬至
|
403
403
|
[-2353.0, +176, +10.5564, -0.1634], # 小寒
|
404
404
|
[-4198.0, +314, +8.0408, -0.1446], # 大寒
|
@@ -476,7 +476,7 @@ module When
|
|
476
476
|
'anomalistic_month_length' => '1366156/49580', # 27.0 + (743.0+5.0/37)/1340,
|
477
477
|
# 'rissei' => 'C',
|
478
478
|
's' => [
|
479
|
-
# 先後數 朓朒積
|
479
|
+
# 先後數 朓朒積 初率b 別差c
|
480
480
|
[ 0.0, 0, +5.9668, -0.0843], # 冬至
|
481
481
|
[-1037.0, +78, +4.6652, -0.0721], # 小寒
|
482
482
|
[-1850.0, +139, +3.5656, -0.0653], # 大寒
|
@@ -633,7 +633,7 @@ module When
|
|
633
633
|
'anomalistic_month_length' => '23145819/840000', # 27.0 + 4658.19 / 8400,
|
634
634
|
# 'rissei' => 'C',
|
635
635
|
's' => [
|
636
|
-
# 先後數 朓朒数
|
636
|
+
# 先後數 朓朒数 初率b 別差c
|
637
637
|
[ 0.0, 0, +33.4511, -0.3695], # 冬至
|
638
638
|
[ -6000.0, +449, +28.0389, -0.3606], # 小寒
|
639
639
|
[-11000.0, +823, +22.6998, -0.3519], # 大寒
|
@@ -78,7 +78,7 @@ module When
|
|
78
78
|
#
|
79
79
|
def _new_month_(m)
|
80
80
|
jdn = (@formula[-1].cn_to_time(m + @cycle_offset) + 0.5 +
|
81
|
-
@location.long / (
|
81
|
+
@location.long / (@location.degree * 360)).floor - 1
|
82
82
|
jdn += 1 while @formula[-1].moon_visibility(jdn) < 0
|
83
83
|
return jdn
|
84
84
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2011-
|
3
|
+
Copyright (C) 2011-2016 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
6
|
=end
|
@@ -109,7 +109,7 @@ module When
|
|
109
109
|
"[昭和の日, Shōwa Day ]",
|
110
110
|
"[憲法記念日, Constitution Memorial Day ]",
|
111
111
|
"[こどもの日, Children's Day (Japan) ]",
|
112
|
-
"[七夕節句=ja
|
112
|
+
"[七夕節句=ja:%%<七夕>, Qixi Festival ]",
|
113
113
|
"[お盆, Bon Festival ]",
|
114
114
|
"[海の日, Marine Day ]",
|
115
115
|
"[山の日, Mountain Day= ]",
|
@@ -127,12 +127,12 @@ module When
|
|
127
127
|
"[大饗第1日, Enthronement of the Japanese Emperor ]",
|
128
128
|
"[新嘗祭, Labor Thanksgiving Day ]",
|
129
129
|
"[勤労感謝の日, Labor Thanksgiving Day ]",
|
130
|
-
"[振替休日,
|
130
|
+
"[振替休日, Substitute holiday ]",
|
131
131
|
"[国民の休日, National Day Off= ]",
|
132
132
|
"[即位の礼, Enthronement of the Japanese Emperor ]",
|
133
133
|
"[即位の礼正殿の儀, Enthronement of the Japanese Emperor ]",
|
134
134
|
"[神武天皇祭, EmperorJimmu's Death anniversary= ]",
|
135
|
-
"[孝明天皇祭=ja:%%<先帝祭>, Emperor Kōmei's
|
135
|
+
"[孝明天皇祭=ja:%%<先帝祭>, Emperor Kōmei's Death anniversary= ]",
|
136
136
|
"[明治天皇祭=ja:%%<先帝祭>, Emperor Meiji's Death anniversary= ]",
|
137
137
|
"[大正天皇祭=ja:%%<先帝祭>, Emperor Taishō's Death anniversary= ]",
|
138
138
|
"[神武天皇即位日=ja:%%<紀元節>, National Foundation Day ]",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2014 Takashi SUGA
|
3
|
+
Copyright (C) 2014-2016 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
@@ -1178,7 +1178,7 @@ module When::CalendarNote::Japanese::Eclipse
|
|
1178
1178
|
|
1179
1179
|
# 日月食の概要を文字列化する
|
1180
1180
|
#
|
1181
|
-
# @param [Array<String, Numeric, Array>] 食の情報
|
1181
|
+
# @param [Array<String, Numeric, Array>] info 食の情報
|
1182
1182
|
#
|
1183
1183
|
# [ String - 食の種類 'T' 皆既食, 'A' 金環食, 'P' 部分食, 'B' 帯食]
|
1184
1184
|
# [ Numeric - 最大食分 ]
|
@@ -0,0 +1,93 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin
|
3
|
+
Copyright (C) 2015 Takashi SUGA
|
4
|
+
|
5
|
+
You may use and/or modify this file according to the license
|
6
|
+
described in the LICENSE.txt file included in this archive.
|
7
|
+
=end
|
8
|
+
|
9
|
+
module When::Coordinates
|
10
|
+
|
11
|
+
t1 = LocationTable[1]
|
12
|
+
t2 = LocationTable[2]
|
13
|
+
t3 = LocationTable[3]
|
14
|
+
t4 = LocationTable[4]
|
15
|
+
co = (0..2).to_a
|
16
|
+
|
17
|
+
# 位置参照情報ダウンロードサービス「全ての大字・町丁目レベル」( http://nlftp.mlit.go.jp/isj/ )を配置してください
|
18
|
+
geolocation_data = When::Parts::Resource.root_dir + '/data/geolocation/japanese/*.csv'
|
19
|
+
|
20
|
+
#
|
21
|
+
# はしご高など UTF-8 への変換に失敗するコードを含む地名は登録しない
|
22
|
+
#
|
23
|
+
# @private
|
24
|
+
def self.utf_gets(io)
|
25
|
+
error_occurred = false
|
26
|
+
line = nil
|
27
|
+
loop do
|
28
|
+
error = nil
|
29
|
+
begin
|
30
|
+
line = io.gets
|
31
|
+
rescue Encoding::UndefinedConversionError => error
|
32
|
+
error_occurred = true
|
33
|
+
end
|
34
|
+
unless error
|
35
|
+
return error_occurred ? utf_gets(io) : line
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
Dir.glob(geolocation_data).each do |path|
|
41
|
+
open(path,'r:SHIFT_JIS') do |io|
|
42
|
+
h = {}
|
43
|
+
lines = ''
|
44
|
+
while (line = utf_gets(io))
|
45
|
+
lines.concat(line)
|
46
|
+
end
|
47
|
+
CSV.parse(lines) do |r|
|
48
|
+
if h.empty?
|
49
|
+
h = Hash[*(0...r.size).to_a.map {|i| [r[i],i]}.flatten]
|
50
|
+
else
|
51
|
+
location = [r[h['経度']].to_f, r[h['緯度']].to_f, 0]
|
52
|
+
wide_name = r[h['都道府県名']]
|
53
|
+
middle_name = wide_name + r[h['市区町村名']]
|
54
|
+
fine_name = r[h['大字町丁目名']]
|
55
|
+
full_name = middle_name + fine_name
|
56
|
+
t1[full_name] = location
|
57
|
+
t2[middle_name][fine_name] = location
|
58
|
+
t3[wide_name][r[h['市区町村名']]][fine_name] = location
|
59
|
+
case r[h['市区町村名']]
|
60
|
+
when /\A((.+)市)(.+区)\z/
|
61
|
+
t1[$1 + $3 + fine_name] = location
|
62
|
+
t2[$1 + $3] [fine_name] = location
|
63
|
+
t3[$1] [$3] [fine_name] = location
|
64
|
+
t3[$2] [$3] [fine_name] = location
|
65
|
+
when /\A((.+)市)\z/
|
66
|
+
t4[$1] << middle_name
|
67
|
+
t4[$2] << middle_name
|
68
|
+
t4[$1 + fine_name] << full_name
|
69
|
+
when /\A.+郡(.+[町村])\z/
|
70
|
+
t4[wide_name + $1] << middle_name
|
71
|
+
t4[wide_name + $1 + fine_name] << full_name
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
t3.keys.each do |p|
|
79
|
+
t3[p].keys.each do |c|
|
80
|
+
locations = t3[p][c].values.transpose
|
81
|
+
t3[p][c][:SWB] = t2[p+c][:SWB] = co.map {|i| locations[i].min}
|
82
|
+
t3[p][c][:NET] = t2[p+c][:NET] = co.map {|i| locations[i].max}
|
83
|
+
end
|
84
|
+
swb = t3[p].keys.map {|c| t3[p][c][:SWB]}.transpose
|
85
|
+
net = t3[p].keys.map {|c| t3[p][c][:NET]}.transpose
|
86
|
+
t3[p][:SWB] = co.map {|i| swb[i].min}
|
87
|
+
t3[p][:NET] = co.map {|i| net[i].max}
|
88
|
+
end
|
89
|
+
|
90
|
+
t4.each_pair do |key, value|
|
91
|
+
value.uniq!
|
92
|
+
end
|
93
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2012-
|
3
|
+
Copyright (C) 2012-2016 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
6
|
=end
|
@@ -32,7 +32,19 @@ class When::CalendarNote
|
|
32
32
|
# 日本暦注の要素
|
33
33
|
#
|
34
34
|
# @private
|
35
|
-
class Note < When::
|
35
|
+
class Note < When::BasicTypes::Object
|
36
|
+
|
37
|
+
include When::CalendarNote::NoteElement
|
38
|
+
|
39
|
+
#
|
40
|
+
# _m17n_form のための要素生成
|
41
|
+
#
|
42
|
+
# @param [Hash] options 下記のとおり
|
43
|
+
# @option options [Symbol] :method :to_m17n なら label を返す、その他は When::Parts::Resource#to_h 参照
|
44
|
+
#
|
45
|
+
def _to_hash_value(options={})
|
46
|
+
options[:method] == :to_m17n ? label : super
|
47
|
+
end
|
36
48
|
end
|
37
49
|
|
38
50
|
#
|
@@ -76,7 +88,7 @@ class When::CalendarNote
|
|
76
88
|
[Note, 0x0003, "label:[天道=]", 'position:暦序', 'suffix:-'], # 14: 支
|
77
89
|
[Note, 0x0003, "label:[人道=]", 'position:暦序', 'suffix:-'], # 15: 支
|
78
90
|
[Note, 0x3FFC, "label:[歳次=]", 'position:暦序', 'suffix:-'], # 16: 支
|
79
|
-
[Note,
|
91
|
+
[Note, 0xFC00, "label:[金神]", 'position:仮名暦', 'suffix:在'], # 17: 干
|
80
92
|
[Note, 0xFFFF, "label:[大小]", 'position:暦序'] # 18: 朔閏表
|
81
93
|
],
|
82
94
|
|
@@ -136,10 +148,10 @@ class When::CalendarNote
|
|
136
148
|
[Note, 0x3FFC, "label:[六十卦=]", 'position:時候'], # 12: 太陽黄経
|
137
149
|
[Note, 0xF800, "label:[節分]", 'position:雑節'], # 13: 立春からの日数
|
138
150
|
[Note, 0xF800, "label:[初午]", 'position:雑節'], # 14: 支 節月 or 暦月
|
139
|
-
[Note,
|
151
|
+
[Note, 0xFC00, "label:[八十八夜]", 'position:雑節'], # 15: 立春からの日数
|
140
152
|
[Note, 0xF800, "label:[入梅]", 'position:雑節'], # 16: 干 太陽黄経
|
141
153
|
[Note, 0xF800, "label:[半夏生]", 'position:雑節'], # 17: 干 太陽黄経
|
142
|
-
[Note,
|
154
|
+
[Note, 0xFC00, "label:[二百十日]", 'position:雑節'], # 18: 立春からの日数
|
143
155
|
[Note, 0xF800, "label:[二百廿日=ja:%%<二百二十日>]", 'position:雑節'], # 19: 立春からの日数
|
144
156
|
|
145
157
|
[Note, 0x3FFC, "label:[大禍=ja:%%<暦注下段>#%.<大禍日>]",
|
@@ -256,7 +268,7 @@ class When::CalendarNote
|
|
256
268
|
[Note, 0xC000, "label:[己巳]", 'position:仮名暦'], # 90: 干支
|
257
269
|
[Note, 0xF800, "label:[庚申待]", 'position:仮名暦'], # 91: 干支
|
258
270
|
[Note, 0xF800, "label:[犯土]", 'position:仮名暦'], # 92: 干支
|
259
|
-
[Note,
|
271
|
+
[Note, 0xFC00, "label:[十方暮]", 'position:仮名暦'], # 93: 干支
|
260
272
|
[Note, 0xF800, "label:[一粒万倍=ja:%%<一粒万倍日>]",
|
261
273
|
'position:仮名暦', 'suffix:日'], # 94: 支 節月
|
262
274
|
[Note, 0x3800, "label:[天福=]", 'position:仮名暦'], # 95: 支 節月
|
@@ -265,7 +277,7 @@ class When::CalendarNote
|
|
265
277
|
[Note, 0xB800, "label:[三隣亡]", 'position:仮名暦'], # 98: 支 節月
|
266
278
|
[Note, 0xF800, "label:[不成就=ja:%%<不成就日>]",
|
267
279
|
'position:仮名暦', 'suffix:日'], # 99: 暦月 暦日/晦日
|
268
|
-
[Note,
|
280
|
+
[Note, 0x3C00, "label:[鬼宿]", 'position:仮名暦'], #100: 廿八宿
|
269
281
|
[Note, 0x3800, "label:[金性=]", 'position:仮名暦'], #101: 支 節月 支 節年
|
270
282
|
[Note, 0x3FFF, "label:[三寶吉=http://kotobank.jp/word/%%<三宝吉日>]",
|
271
283
|
'position:上段 上段 上段 上段'], #102: 干支 節月
|
@@ -526,8 +538,8 @@ class When::CalendarNote
|
|
526
538
|
patch = SolarTerms::Patch[result.to_i]
|
527
539
|
return result unless patch
|
528
540
|
num, den = parameter.kind_of?(String) ? parameter.split('/', 2) : parameter
|
529
|
-
num = (num || 0).to_f
|
530
|
-
den = (den || 360).to_f
|
541
|
+
num = (num || @num || 0).to_f
|
542
|
+
den = (den || @den || 360).to_f
|
531
543
|
diff = (num - patch[0] + 1) % den - 1
|
532
544
|
return result if diff == 0
|
533
545
|
patched = result + When::P1D * diff
|
@@ -536,6 +548,9 @@ class When::CalendarNote
|
|
536
548
|
result
|
537
549
|
end
|
538
550
|
|
551
|
+
# 二十四節気のための event_delta の別名
|
552
|
+
alias :term_delta :event_delta
|
553
|
+
|
539
554
|
# 月の位相 => 日時
|
540
555
|
#
|
541
556
|
# @param [When::TM::TemporalPosition] date 探す基準とする日時
|
@@ -576,6 +591,9 @@ class When::CalendarNote
|
|
576
591
|
result
|
577
592
|
end
|
578
593
|
|
594
|
+
# 月の位相のための event_delta の別名
|
595
|
+
alias :phase_delta :event_delta
|
596
|
+
|
579
597
|
private
|
580
598
|
|
581
599
|
# オブジェクトの正規化
|
@@ -722,7 +740,7 @@ class When::CalendarNote
|
|
722
740
|
#
|
723
741
|
# 任意の暦を日本年号付暦日に変換
|
724
742
|
#
|
725
|
-
# @param When::TM::CalDate] date 変換元日付
|
743
|
+
# @param [When::TM::CalDate] date 変換元日付
|
726
744
|
#
|
727
745
|
# @return [When::TM::CalDate] 変換結果
|
728
746
|
#
|
@@ -737,7 +755,7 @@ class When::CalendarNote
|
|
737
755
|
#
|
738
756
|
# 日本年号付暦日か?
|
739
757
|
#
|
740
|
-
# @param When::TM::CalDate] date 確認する日付
|
758
|
+
# @param [When::TM::CalDate] date 確認する日付
|
741
759
|
#
|
742
760
|
# @return [Boolean] true YES / false NO
|
743
761
|
#
|
@@ -341,7 +341,7 @@ module When::Coordinates
|
|
341
341
|
notes['天一'] ||= begin
|
342
342
|
note = Rules['天一'][@remainder]
|
343
343
|
dates.range >= 15 ? note.dup.sub!(/天上始/, '天上') :
|
344
|
-
dates.range >=
|
344
|
+
dates.range >= 10 ? note : note.dup.sub!(/始/, '')
|
345
345
|
end
|
346
346
|
notes['土公'] ||= Rules['土公'][@remainder]
|
347
347
|
notes['五墓'] ||= [4,22,28,31,37].include?(@remainder) ? '五墓' : nil
|
@@ -102,7 +102,9 @@ module When
|
|
102
102
|
'year_length' => 365.241696, # 暦元の冬至年 / 日
|
103
103
|
'anomalistic_year_shift' => 6.445, # 暦應(暦元での冬至から近日点通過までの日数)
|
104
104
|
'lunation_shift' => 2.779 - 0.015, # 閏應(暦元前経朔から暦元天正冬至までの日数)
|
105
|
-
'anomalistic_month_shift' => 22.72 - 0.015
|
105
|
+
'anomalistic_month_shift' => 22.72 - 0.015, # 転應(暦元前近/遠地点通過から暦元天正冬至までの日数)
|
106
|
+
'anomaly_method' => '#{Method:a}', # (経朔-定朔)の計算方法(a:差分, b:微分, c:幾何学的補正)
|
107
|
+
'solar_weight' => '#{Weight:1}', # (経朔-定朔)の計算で用いる実行差での太陽盈縮の重み(0:非考慮,1:考慮)
|
106
108
|
})]
|
107
109
|
}
|
108
110
|
}
|
@@ -118,7 +120,9 @@ module When
|
|
118
120
|
'year_length' => 365.241696, # 暦元の冬至年 / 日
|
119
121
|
'anomalistic_year_shift' => 6.445, # 暦應(暦元での冬至から近日点通過までの日数)
|
120
122
|
'lunation_shift' => 2.779, # 閏應(暦元前経朔から暦元天正冬至までの日数)
|
121
|
-
'anomalistic_month_shift' => 22.72
|
123
|
+
'anomalistic_month_shift' => 22.72, # 転應(暦元前近/遠地点通過から暦元天正冬至までの日数)
|
124
|
+
'anomaly_method' => '#{Method:a}', # (経朔-定朔)の計算方法(a:差分, b:微分, c:幾何学的補正)
|
125
|
+
'solar_weight' => '#{Weight:1}', # (経朔-定朔)の計算で用いる実行差での太陽盈縮の重み(0:非考慮,1:考慮)
|
122
126
|
})]
|
123
127
|
}
|
124
128
|
}
|
@@ -134,7 +138,9 @@ module When
|
|
134
138
|
'year_length' => 365.241696, # 暦元の冬至年 / 日
|
135
139
|
'anomalistic_year_shift' => 6.445, # 暦應(暦元での冬至から近日点通過までの日数)
|
136
140
|
'lunation_shift' => 2.779 + 0.2138, # 閏應(暦元前経朔から暦元天正冬至までの日数)
|
137
|
-
'anomalistic_month_shift' => 22.72 + 0.2138
|
141
|
+
'anomalistic_month_shift' => 22.72 + 0.2138, # 転應(暦元前近/遠地点通過から暦元天正冬至までの日数)
|
142
|
+
'anomaly_method' => '#{Method:a}', # (経朔-定朔)の計算方法(a:差分, b:微分, c:幾何学的補正)
|
143
|
+
'solar_weight' => '#{Weight:1}', # (経朔-定朔)の計算で用いる実行差での太陽盈縮の重み(0:非考慮,1:考慮)
|
138
144
|
})]
|
139
145
|
}
|
140
146
|
}
|
@@ -150,7 +156,9 @@ module When
|
|
150
156
|
'year_length' => 365.241696, # 暦元の冬至年 / 日
|
151
157
|
'anomalistic_year_shift' => 6.445, # 暦應(暦元での冬至から近日点通過までの日数)
|
152
158
|
'lunation_shift' => 2.779 - 0.0677, # 閏應(暦元前経朔から暦元天正冬至までの日数)
|
153
|
-
'anomalistic_month_shift' => 22.72 - 0.0677
|
159
|
+
'anomalistic_month_shift' => 22.72 - 0.0677, # 転應(暦元前近/遠地点通過から暦元天正冬至までの日数)
|
160
|
+
'anomaly_method' => '#{Method:a}', # (経朔-定朔)の計算方法(a:差分, b:微分, c:幾何学的補正)
|
161
|
+
'solar_weight' => '#{Weight:1}', # (経朔-定朔)の計算で用いる実行差での太陽盈縮の重み(0:非考慮,1:考慮)
|
154
162
|
})]
|
155
163
|
}
|
156
164
|
}
|
@@ -167,7 +175,9 @@ module When
|
|
167
175
|
'anomalistic_year_shift' => 6.455, # 暦應(暦元での冬至から近日点通過までの日数)
|
168
176
|
'lunation_shift' => 25.654, # 閏應(暦元前経朔から暦元天正冬至までの日数)
|
169
177
|
'anomalistic_month_shift' => 18.88, # 転應(暦元前近/遠地点通過から暦元天正冬至までの日数)
|
170
|
-
's' => ChineseSolar.change_unit(365.241556 / 365.241696, _japanese_common['s'])
|
178
|
+
's' => ChineseSolar.change_unit(365.241556 / 365.241696, _japanese_common['s']),
|
179
|
+
'anomaly_method' => '#{Method:a}', # (経朔-定朔)の計算方法(a:差分, b:微分, c:幾何学的補正)
|
180
|
+
'solar_weight' => '#{Weight:1}', # (経朔-定朔)の計算で用いる実行差での太陽盈縮の重み(0:非考慮,1:考慮)
|
171
181
|
})]
|
172
182
|
}
|
173
183
|
}
|
@@ -184,7 +194,9 @@ module When
|
|
184
194
|
'anomalistic_year_shift' => 7.42, # 暦應(暦元での冬至から近日点通過までの日数)
|
185
195
|
'lunation_shift' => 25.82, # 閏應(暦元前経朔から暦元天正冬至までの日数)
|
186
196
|
'anomalistic_month_shift' => 19.307, # 転應(暦元前近/遠地点通過から暦元天正冬至までの日数)
|
187
|
-
's' => ChineseSolar.change_unit(365.241626 / 365.241696, _japanese_common['s'])
|
197
|
+
's' => ChineseSolar.change_unit(365.241626 / 365.241696, _japanese_common['s']),
|
198
|
+
'anomaly_method' => '#{Method:a}', # (経朔-定朔)の計算方法(a:差分, b:微分, c:幾何学的補正)
|
199
|
+
'solar_weight' => '#{Weight:1}', # (経朔-定朔)の計算で用いる実行差での太陽盈縮の重み(0:非考慮,1:考慮)
|
188
200
|
})]
|
189
201
|
}
|
190
202
|
}
|