chinese_cities 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in china_places.gemspec
4
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 zhouguangming
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,103 @@
1
+ # Chinese Cities
2
+
3
+ Chinese provinces and cities collection
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'chinese_cities'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install chinese_cities
18
+
19
+ ## Usage
20
+
21
+ ```ruby
22
+ province = ChineseCities::Province.find '北京市'
23
+ => <#ChineseCities::Province:0xa612128 @name="北京市">
24
+
25
+ province.name
26
+ => '北京市'
27
+
28
+ province.cities
29
+ => [#<ChineseCities::City:0xa6b94b4 @name="东城区">,
30
+ #<ChineseCities::City:0xa6b943c @name="西城区">,
31
+ #<ChineseCities::City:0xa6b939c @name="崇文区">,
32
+ #<ChineseCities::City:0xa6b934c @name="宣武区">,
33
+ #<ChineseCities::City:0xa6b92e8 @name="朝阳区">,
34
+ #<ChineseCities::City:0xa6b920c @name="海淀区">,
35
+ #<ChineseCities::City:0xa6b9158 @name="丰台区">,
36
+ #<ChineseCities::City:0xa6b907c @name="房山区">,
37
+ #<ChineseCities::City:0xa6b9018 @name="通州区">,
38
+ #<ChineseCities::City:0xa6b8f64 @name="顺义区">,
39
+ #<ChineseCities::City:0xa6b8ed8 @name="昌平区">,
40
+ #<ChineseCities::City:0xa6b8de8 @name="大兴区">,
41
+ #<ChineseCities::City:0xa6b8d98 @name="怀柔区">,
42
+ #<ChineseCities::City:0xa6b8cbc @name="平谷区">,
43
+ #<ChineseCities::City:0xa6b8c44 @name="密云县">,
44
+ #<ChineseCities::City:0xa6b8be0 @name="延庆县">,
45
+ #<ChineseCities::City:0xa6b8b68 @name="门头沟区">,
46
+ #<ChineseCities::City:0xa6b8aa0 @name="石景山区">]
47
+
48
+ province.city_names
49
+ => ["东城区",
50
+ "西城区",
51
+ "崇文区",
52
+ "宣武区",
53
+ "朝阳区",
54
+ "海淀区",
55
+ "丰台区",
56
+ "房山区",
57
+ "通州区",
58
+ "顺义区",
59
+ "昌平区",
60
+ "大兴区",
61
+ "怀柔区",
62
+ "平谷区",
63
+ "密云县",
64
+ "延庆县",
65
+ "门头沟区",
66
+ "石景山区"]
67
+
68
+ ChineseCities::Province.all
69
+ => [ An array of all province objects ]
70
+
71
+ ChineseCities::Province.all_names
72
+ => [ An array of all province names ]
73
+
74
+ city = ChineseCities::Cities.find '西城区'
75
+ => #<ChineseCities::City:0xac40464 @name="西城区">
76
+
77
+ city.province
78
+ => #<ChineseCities::Province:0xaf27808 @name="北京市"
79
+
80
+ city.province_name
81
+ => '北京市'
82
+
83
+ ChineseCities::City.all
84
+ => [ An array of all cities objects ]
85
+
86
+ ChineseCities::City.all_names
87
+ => [ An array of all cities names ]
88
+
89
+ # Search provinces and cities which name like your parameter
90
+ ChineseCities.search '京'
91
+ => {:provinces=>["北京市"], :cities=>["南京市", "京山县"]}
92
+
93
+
94
+
95
+ ```
96
+
97
+ ## Contributing
98
+
99
+ 1. Fork it
100
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
101
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
102
+ 4. Push to the branch (`git push origin my-new-feature`)
103
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
@@ -0,0 +1,19 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/chinese_cities/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["zhouguangming"]
6
+ gem.email = ["zhouguangming1989@gmail.com"]
7
+ gem.description = %q{Chinese provinces and cities collection}
8
+ gem.summary = %q{Chinese provinces and cities collection}
9
+ gem.homepage = "https://github.com/zhouguangming/chinese_cities"
10
+
11
+ gem.files = `git ls-files`.split($\)
12
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
+ gem.name = "chinese_cities"
15
+ gem.require_paths = ["lib"]
16
+ gem.version = ChineseCities::VERSION
17
+
18
+ gem.add_development_dependency "rspec", "~> 2.11"
19
+ end
@@ -0,0 +1,42 @@
1
+ module ChineseCities
2
+ class City
3
+ attr_accessor :name
4
+
5
+ def initialize name
6
+ @name = name
7
+ end
8
+
9
+ def province
10
+ Province.find province_name
11
+ end
12
+
13
+ def province_name
14
+ DATABASE.find do |province|
15
+ province.last.include? self.name
16
+ end.first
17
+ end
18
+
19
+ class << self
20
+
21
+ private :new
22
+
23
+ def find name
24
+ return nil unless all_names.include? name
25
+ new name
26
+ end
27
+
28
+ def all_names
29
+ DATABASE.map do |province|
30
+ province.last
31
+ end.flatten
32
+ end
33
+
34
+ def all
35
+ all_names.map do |city|
36
+ new city
37
+ end
38
+ end
39
+ end
40
+
41
+ end
42
+ end
@@ -0,0 +1,648 @@
1
+ # encoding: utf-8
2
+
3
+ module ChineseCities
4
+ DATABASE = [
5
+ ["北京市", ["东城区", "西城区", "崇文区", "宣武区",
6
+ "朝阳区", "海淀区", "丰台区", "房山区",
7
+ "通州区", "顺义区", "昌平区", "大兴区",
8
+ "怀柔区", "平谷区", "密云县", "延庆县",
9
+ "门头沟区", "石景山区"] ],
10
+
11
+ ["天津市", ["和平区", "河东区", "河西区", "南开区",
12
+ "河北区", "红桥区", "塘沽区", "汉沽区",
13
+ "大港区", "东丽区", "西青区", "北辰区",
14
+ "津南区", "武清区", "宝坻区", "静海县",
15
+ "宁河县", "蓟县"] ],
16
+
17
+ ["河北省", ["辛集市", "藁城市", "晋州市", "新乐市",
18
+ "鹿泉市", "平山县", "井陉县", "栾城县",
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
+ "南皮县", "吴桥县", "廊坊市", "霸州市",
47
+ "三河市", "固安县", "永清县", "香河县",
48
+ "大城县", "文安县", "衡水市", "冀州市",
49
+ "深州市", "饶阳县", "枣强县", "故城县",
50
+ "阜城县", "安平县", "武邑县", "景县",
51
+ "武强县", "石家庄市", "张家口市", "高碑店市",
52
+ "秦皇岛市", "大厂回族自治县", "青龙满族自治县",
53
+ "丰宁满族自治县", "宽城满族自治县", "孟村回族自治县",
54
+ "围场满族蒙古族自治县"] ],
55
+
56
+ ["山西省", ["太原市", "古交市", "阳曲县", "清徐县",
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
+ "开鲁县" , "通辽市", "库伦旗", "奈曼旗", "乌审旗",
87
+ "杭锦旗", "根河市", "阿荣旗", "五原县",
88
+ "磴口县", "丰镇市", "兴和县", "卓资县",
89
+ "商都县", "凉城县", "化德县", "多伦县",
90
+ "正蓝旗", "镶黄旗", "兴安盟", "突泉县",
91
+ "托克托县", "清水河县", "喀喇沁旗", "巴林左旗",
92
+ "翁牛特旗", "巴林右旗", "扎鲁特旗", "准格尔旗",
93
+ "鄂托克旗", "达拉特旗", "满洲里市", "牙克石市",
94
+ "扎兰屯市", "杭锦后旗", "四子王旗", "阿巴嘎旗",
95
+ "太仆寺旗", "正镶白旗", "阿尔山市", "扎赉特旗",
96
+ "阿拉善盟", "额济纳旗", "呼和浩特市", "和林格尔县",
97
+ "土默特左旗", "土默特右旗", "克什克腾旗", "霍林郭勒市",
98
+ "鄂尔多斯市", "伊金霍洛旗", "鄂托克前旗", "呼伦贝尔市",
99
+ "额尔古纳市", "陈巴尔虎旗", "巴彦淖尔市", "乌拉特中旗",
100
+ "乌拉特前旗", "乌拉特后旗", "乌兰察布市", "锡林浩特市",
101
+ "二连浩特市", "苏尼特左旗", "苏尼特右旗", "锡林郭勒盟",
102
+ "乌兰浩特市", "阿拉善左旗", "阿拉善右旗", ",阿鲁科尔沁旗",
103
+ "新巴尔虎左旗", "新巴尔虎右旗", "鄂伦春自治旗", "西乌珠穆沁旗",
104
+ "东乌珠穆沁旗", "科尔沁左翼中旗", "科尔沁左翼后旗", "鄂温克族自治旗",
105
+ "察哈尔右翼前旗", "察哈尔右翼中旗", "察哈尔右翼后旗", "科尔沁右翼前旗",
106
+ "科尔沁右翼中旗", "达尔罕茂明安联合旗", "莫力达瓦达斡尔族自治旗" ] ],
107
+
108
+ ["辽宁省", ["沈阳市", "新民市", "法库县", "辽中县",
109
+ "康平县", "大连市", "庄河市", "长海县",
110
+ "鞍山市", "海城市", "台安县", "抚顺市",
111
+ "抚顺县", "本溪市", "丹东市", "东港市",
112
+ "凤城市", "锦州市", "凌海市", "北宁市",
113
+ "黑山县", "义县", "营口市", "盖州市",
114
+ "阜新市", "彰武县", "辽阳市", "灯塔市",
115
+ "辽阳县", "盘锦市", "盘山县", "大洼县",
116
+ "铁岭市", "开原市", "铁岭县", "昌图县",
117
+ "西丰县", "朝阳市", "凌源市", "北票市",
118
+ "朝阳县", "建平县", "兴城市", "绥中县",
119
+ "建昌县", "大石桥市", "瓦房店市", "普兰店市",
120
+ "调兵山市", "葫芦岛市", "岫岩满族自治县", "清原满族自治县",
121
+ "新宾满族自治县", "阜新蒙古族自治县", "宽甸满族自治县", "桓仁满族自治县",
122
+ "本溪满族自治县", "喀喇沁左翼蒙古族自治县"] ],
123
+
124
+ ["吉林省", ["长春市", "九台市", "榆树市", "德惠市",
125
+ "农安县", "吉林市", "舒兰市", "桦甸市",
126
+ "蛟河市", "磐石市", "永吉县", "四平市", "双辽市",
127
+ "梨树县", "辽源市", "东辽县", "东丰县",
128
+ "通化市", "集安市", "通化县", "辉南县", "柳河县",
129
+ "白山市", "临江市", "靖宇县", "抚松县",
130
+ "江源县", "松原市", "乾安县", "长岭县", "扶余县",
131
+ "白城市", "大安市", "洮南市", "镇赉县",
132
+ "通榆县", "延吉市", "图们市", "敦化市", "龙井市",
133
+ "珲春市", "和龙市", "安图县", "汪清县", "公主岭市",
134
+ "梅河口市", "伊通满族自治县", "长白朝鲜族自治县", "延边朝鲜族自治州",
135
+ "前郭尔罗斯蒙古族自治县"] ],
136
+
137
+ ["黑龙江省", ["阿城市", "尚志市", "双城市", "五常市",
138
+ "方正县", "宾县", "依兰县", "巴彦县",
139
+ "通河县", "木兰县", "延寿县", "讷河市",
140
+ "富裕县", "拜泉县", "甘南县", "依安县",
141
+ "克山县", "泰来县", "克东县", "龙江县",
142
+ "鹤岗市", "萝北县", "绥滨县", "集贤县",
143
+ "宝清县", "友谊县", "饶河县", "鸡西市",
144
+ "密山市", "虎林市", "鸡东县", "大庆市",
145
+ "林甸县", "肇州县", "肇源县", "漠河县",
146
+ "伊春市", "铁力市", "嘉荫县", "宁安市",
147
+ "海林市", "穆棱市", "林口县", "东宁县",
148
+ "同江市", "富锦市", "桦川县", "抚远县",
149
+ "桦南县", "汤原县", "勃利县", "黑河市",
150
+ "北安市", "逊克县", "嫩江县", "孙吴县",
151
+ "绥化市", "安达市", "肇东市", "海伦市",
152
+ "绥棱县", "兰西县", "明水县", "青冈县",
153
+ "庆安县", "望奎县", "呼玛县", "塔河县",
154
+ "七台河市", "双鸭山市", "牡丹江市", "佳木斯市",
155
+ "绥芬河市", "哈尔滨市", "齐齐哈尔市", "五大连池市",
156
+ "杜尔伯特蒙古族自治县"] ],
157
+
158
+ ["上海市", ["黄浦区", "卢湾区", "徐汇区", "长宁区",
159
+ "静安区", "普陀区", "闸北区", "虹口区",
160
+ "杨浦区", "宝山区", "闵行区", "嘉定区", "松江区",
161
+ "金山区", "青浦区", "南汇区", "奉贤区",
162
+ "崇明县浦东新区"] ],
163
+
164
+ ["江苏省", ["南京市", "溧水县", "高淳县", "无锡市",
165
+ "江阴市", "宜兴市", "徐州市", "邳州市",
166
+ "新沂市", "铜山县", "睢宁县", "沛县",
167
+ "丰县", "常州市", "金坛市", "溧阳市",
168
+ "苏州市", "常熟市", "太仓市", "昆山市",
169
+ "吴江市", "南通市", "如皋市", "通州市",
170
+ "海门市", "启东市", "海安县", "如东县",
171
+ "东海县", "灌云县", "赣榆县", "灌南县",
172
+ "淮安市", "涟水县", "洪泽县", "金湖县",
173
+ "盱眙县", "盐城市", "东台市", "大丰市",
174
+ "建湖县", "响水县", "阜宁县", "射阳县",
175
+ "滨海县", "扬州市", "高邮市", "江都市",
176
+ "仪征市", "宝应县", "镇江市", "丹阳市",
177
+ "扬中市", "句容市", "泰州市", "泰兴市",
178
+ "姜堰市", "靖江市", "兴化市", "宿迁市",
179
+ "沭阳县", "泗阳县", "泗洪县", "连云港市",
180
+ "张家港市"] ],
181
+
182
+ ["浙江省", ["杭州市", "建德市", "富阳市", "临安市",
183
+ "桐庐县", "淳安县", "宁波市", "余姚市",
184
+ "慈溪市", "奉化市", "宁海县", "象山县",
185
+ "温州市", "瑞安市", "乐清市", "永嘉县",
186
+ "洞头县", "平阳县", "苍南县", "文成县",
187
+ "泰顺县", "嘉兴市", "海宁市", "平湖市",
188
+ "桐乡市", "嘉善县", "海盐县", "湖州市",
189
+ "长兴县", "德清县", "安吉县", "绍兴市",
190
+ "诸暨市", "上虞市", "嵊州市", "绍兴县",
191
+ "新昌县", "金华市", "兰溪市", "义乌市",
192
+ "东阳市", "永康市", "武义县", "浦江县",
193
+ "磐安县", "衢州市", "江山市", "龙游县",
194
+ "常山县", "开化县", "舟山市", "岱山县",
195
+ "嵊泗县", "台州市", "临海市", "玉环县",
196
+ "天台县", "仙居县", "三门县", "丽水市",
197
+ "龙泉市", "缙云县", "青田县", "云和县",
198
+ "遂昌县", "松阳县", "庆元县", "景宁畲族自治县"] ],
199
+
200
+ ["安徽省", ["合肥市", "长丰县", "肥东县", "肥西县",
201
+ "芜湖市", "芜湖县", "南陵县", "繁昌县",
202
+ "蚌埠市", "怀远县", "固镇县", "五河县",
203
+ "淮南市", "凤台县", "当涂县", "淮北市",
204
+ "濉溪县", "铜陵市", "安庆市", "桐城市",
205
+ "宿松县", "枞阳县", "太湖县", "怀宁县",
206
+ "岳西县", "望江县", "潜山县", "黄山市",
207
+ "休宁县", "歙县", "祁门县", "黟县",
208
+ "滁州市", "天长市", "明光市", "全椒县",
209
+ "来安县", "定远县", "凤阳县", "阜阳市",
210
+ "界首市", "临泉县", "颍上县", "阜南县",
211
+ "太和县", "宿州市", "萧县", "泗县",
212
+ "砀山县", "灵璧县", "巢湖市", "含山县",
213
+ "无为县", "庐江县", "和县", "六安市",
214
+ "寿县", "霍山县", "霍邱县", "舒城县",
215
+ "金寨县", "亳州市", "利辛县", "涡阳县",
216
+ "蒙城县", "池州市", "东至县", "石台县",
217
+ "青阳县", "宣城市", "宁国市", "广德县",
218
+ "郎溪县", "泾县", "旌德县", "绩溪县",
219
+ "马鞍山市"] ],
220
+
221
+ ["福建省", ["福州市", "福清市", "长乐市", "闽侯县",
222
+ "闽清县", "永泰县", "连江县", "罗源县",
223
+ "平潭县", "厦门市", "莆田市", "仙游县",
224
+ "三明市", "永安市", "明溪县", "将乐县",
225
+ "大田县", "宁化县", "建宁县", "沙县",
226
+ "尤溪县", "清流县", "泰宁县", "泉州市",
227
+ "石狮市", "晋江市", "南安市", "惠安县",
228
+ "永春县", "安溪县", "德化县", "金门县",
229
+ "漳州市", "龙海市", "平和县", "南靖县",
230
+ "诏安县", "漳浦县", "华安县", "东山县",
231
+ "长泰县", "云霄县", "南平市", "建瓯市",
232
+ "邵武市", "建阳市", "松溪县", "光泽县",
233
+ "顺昌县", "浦城县", "政和县", "龙岩市",
234
+ "漳平市", "长汀县", "武平县", "上杭县"] ],
235
+
236
+ ["江西省", ["南昌市", "新建县", "南昌县", "进贤县",
237
+ "安义县", "乐平市", "浮梁县", "萍乡市",
238
+ "莲花县", "上栗县", "芦溪县", "九江市",
239
+ "瑞昌市", "九江县", "星子县", "武宁县",
240
+ "彭泽县", "永修县", "修水县", "湖口县",
241
+ "德安县", "都昌县", "新余市", "分宜县",
242
+ "鹰潭市", "贵溪市", "余江县", "赣州市",
243
+ "瑞金市", "南康市", "石城县", "安远县",
244
+ "赣县", "宁都县", "寻乌县", "兴国县",
245
+ "定南县", "上犹县", "于都县", "龙南县",
246
+ "崇义县", "信丰县", "全南县", "大余县",
247
+ "会昌县", "吉安市", "吉安县", "永丰县",
248
+ "永新县", "新干县", "泰和县", "峡江县",
249
+ "遂川县", "安福县", "吉水县", "万安县",
250
+ "宜春市", "丰城市", "樟树市", "高安市",
251
+ "铜鼓县", "靖安县", "宜丰县", "奉新县",
252
+ "万载县", "上高县", "抚州市", "南丰县",
253
+ "乐安县", "金溪县", "南城县", "东乡县",
254
+ "资溪县", "宜黄县", "广昌县", "黎川县",
255
+ "崇仁县", "上饶市", "德兴市", "上饶县",
256
+ "广丰县", "鄱阳县", "婺源县", "铅山县",
257
+ "余干县", "横峰县", "弋阳县", "玉山县",
258
+ "万年县", "井冈山市", "景德镇市"] ],
259
+
260
+ ["山东省", ["济南市", "章丘市", "平阴县", "济阳县",
261
+ "商河县", "青岛市", "胶南市", "胶州市",
262
+ "平度市", "莱西市", "即墨市", "淄博市",
263
+ "桓台县", "高青县", "沂源县", "枣庄市",
264
+ "滕州市", "垦利县", "广饶县", "利津县",
265
+ "烟台市", "龙口市", "莱阳市", "莱州市",
266
+ "招远市", "蓬莱市", "栖霞市", "海阳市",
267
+ "长岛县", "潍坊市", "青州市", "诸城市",
268
+ "寿光市", "安丘市", "高密市", "昌邑市",
269
+ "昌乐县", "临朐县", "济宁市", "曲阜市",
270
+ "兖州市", "邹城市", "鱼台县", "金乡县",
271
+ "嘉祥县", "微山县", "汶上县", "泗水县",
272
+ "梁山县", "泰安市", "新泰市", "肥城市",
273
+ "宁阳县", "东平县", "威海市", "乳山市",
274
+ "文登市", "荣成市", "日照市", "五莲县",
275
+ "莒县", "莱芜市", "临沂市", "沂南县",
276
+ "郯城县", "沂水县", "苍山县", "费县",
277
+ "平邑县", "莒南县", "蒙阴县", "临沭县",
278
+ "德州市", "乐陵市", "禹城市", "陵县",
279
+ "宁津县", "齐河县", "武城县", "庆云县",
280
+ "平原县", "夏津县", "临邑县", "聊城市",
281
+ "临清市", "高唐县", "阳谷县", "茌平县",
282
+ "莘县", "东阿县", "冠县", "滨州市",
283
+ "邹平县", "沾化县", "惠民县", "博兴县",
284
+ "阳信县", "无棣县", "菏泽市", "鄄城县",
285
+ "单县", "郓城县", "曹县", "定陶县",
286
+ "巨野县", "东明县", "成武县"] ],
287
+
288
+ ["河南省", ["郑州市", "巩义市", "新郑市", "新密市",
289
+ "登封市", "荥阳市", "中牟县", "开封市",
290
+ "开封县", "尉氏县", "兰考县", "杞县",
291
+ "通许县", "洛阳市", "偃师市", "孟津县",
292
+ "汝阳县", "伊川县", "洛宁县", "嵩县",
293
+ "宜阳县", "新安县", "栾川县", "汝州市",
294
+ "舞钢市", "宝丰县", "叶县", "郏县",
295
+ "鲁山县", "安阳市", "林州市", "安阳县",
296
+ "滑县", "内黄县", "汤阴县", "鹤壁市",
297
+ "浚县", "淇县", "新乡市", "卫辉市",
298
+ "辉县市", "新乡县", "获嘉县", "原阳县",
299
+ "长垣县", "封丘县", "延津县", "焦作市",
300
+ "沁阳市", "孟州市", "修武县", "温县",
301
+ "武陟县", "博爱县", "濮阳市", "濮阳县",
302
+ "南乐县", "台前县", "清丰县", "范县",
303
+ "许昌市", "禹州市", "长葛市", "许昌县",
304
+ "鄢陵县", "襄城县", "漯河市", "临颍县",
305
+ "舞阳县", "义马市", "灵宝市", "渑池县",
306
+ "卢氏县", "陕县", "南阳市", "邓州市",
307
+ "桐柏县", "方城县", "淅川县", "镇平县",
308
+ "唐河县", "南召县", "内乡县", "新野县",
309
+ "社旗县", "西峡县", "商丘市", "永城市",
310
+ "宁陵县", "虞城县", "民权县", "夏邑县",
311
+ "柘城县", "睢县", "信阳市", "潢川县",
312
+ "淮滨县", "息县", "新县", "商城县",
313
+ "固始县", "罗山县", "光山县", "周口市",
314
+ "项城市", "商水县", "淮阳县", "太康县",
315
+ "鹿邑县", "西华县", "扶沟县", "沈丘县",
316
+ "郸城县", "确山县", "新蔡县", "上蔡县",
317
+ "西平县", "泌阳县", "平舆县", "汝南县",
318
+ "遂平县", "正阳县", "济源市", "三门峡市",
319
+ "平顶山市", "驻马店市"] ],
320
+
321
+ ["湖北省", ["武汉市", "黄石市", "大冶市", "阳新县",
322
+ "十堰市", "郧县", "竹山县", "房县",
323
+ "郧西县", "竹溪县", "荆州市", "洪湖市",
324
+ "石首市", "松滋市", "监利县", "公安县",
325
+ "江陵县", "宜昌市", "宜都市", "当阳市",
326
+ "枝江市", "秭归县", "远安县", "兴山县",
327
+ "襄樊市", "枣阳市", "宜城市", "南漳县",
328
+ "谷城县", "保康县", "鄂州市", "荆门市",
329
+ "钟祥市", "京山县", "沙洋县", "孝感市",
330
+ "应城市", "安陆市", "汉川市", "云梦县",
331
+ "大悟县", "孝昌县", "黄冈市", "麻城市",
332
+ "武穴市", "红安县", "罗田县", "浠水县",
333
+ "蕲春县", "黄梅县", "英山县", "团风县",
334
+ "咸宁市", "赤壁市", "嘉鱼县", "通山县",
335
+ "崇阳县", "通城县", "随州市", "广水市",
336
+ "仙桃市", "天门市", "潜江市", "恩施市",
337
+ "利川市", "建始县", "来凤县", "巴东县",
338
+ "鹤峰县", "宣恩县", "咸丰县", "丹江口市",
339
+ "老河口市", "神农架林区", "五峰土家族自治县", "长阳土家族自治县"] ],
340
+
341
+ ["湖南省", ["长沙市", "浏阳市", "长沙县", "望城县",
342
+ "宁乡县", "株洲市", "醴陵市", "株洲县",
343
+ "炎陵县", "茶陵县", "攸县", "湘潭市",
344
+ "湘乡市", "韶山市", "湘潭县", "衡阳市",
345
+ "耒阳市", "常宁市", "衡阳县", "衡东县",
346
+ "衡山县", "衡南县", "祁东县", "邵阳市",
347
+ "武冈市", "邵东县", "洞口县", "新邵县",
348
+ "绥宁县", "新宁县", "邵阳县", "隆回县",
349
+ "城步苗族自治县", "岳阳市", "临湘市", "汨罗市",
350
+ "岳阳县", "湘阴县", "平江县", "华容县",
351
+ "常德市", "津市市", "澧县", "临澧县",
352
+ "桃源县", "汉寿县", "安乡县", "石门县",
353
+ "慈利县", "桑植县", "益阳市", "沅江市",
354
+ "桃江县", "南县", "安化县", "郴州市",
355
+ "资兴市", "宜章县", "汝城县", "安仁县",
356
+ "嘉禾县", "临武县", "桂东县", "永兴县",
357
+ "桂阳县", "永州市", "祁阳县", "蓝山县",
358
+ "宁远县", "新田县", "东安县", "江永县",
359
+ "道县", "双牌县", "怀化市", "洪江市",
360
+ "会同县", "沅陵县", "辰溪县", "溆浦县",
361
+ "中方县", "娄底市", "涟源市", "新化县",
362
+ "双峰县", "吉首市", "古丈县", "龙山县",
363
+ "永顺县", "凤凰县", "泸溪县", "保靖县",
364
+ "花垣县", "冷水江市", "张家界市", "江华瑶族自治县",
365
+ "芷江侗族自治县", "新晃侗族自治县", "通道侗族自治县", "靖州苗族侗族自治县",
366
+ "麻阳苗族自治县", "湘西土家族苗族自治州"] ],
367
+
368
+ ["广东省", ["广州市", "从化市", "增城市", "深圳市",
369
+ "珠海市", "汕头市", "南澳县", "韶关市",
370
+ "乐昌市", "南雄市", "仁化县", "始兴县",
371
+ "翁源县", "新丰县", "佛山市", "江门市",
372
+ "台山市", "开平市", "鹤山市", "恩平市",
373
+ "湛江市", "廉江市", "雷州市", "吴川市",
374
+ "遂溪县", "徐闻县", "茂名市", "高州市",
375
+ "化州市", "信宜市", "电白县", "肇庆市",
376
+ "高要市", "四会市", "广宁县", "德庆县",
377
+ "封开县", "怀集县", "惠州市", "惠东县",
378
+ "博罗县", "龙门县", "梅州市", "兴宁市",
379
+ "梅县", "蕉岭县", "大埔县", "丰顺县",
380
+ "五华县", "平远县", "汕尾市", "陆丰市",
381
+ "海丰县", "陆河县", "河源市", "和平县",
382
+ "龙川县", "紫金县", "连平县", "东源县",
383
+ "阳江市", "阳春市", "阳西县", "阳东县",
384
+ "清远市", "英德市", "连州市", "佛冈县",
385
+ "阳山县", "清新县", "东莞市", "中山市",
386
+ "潮州市", "潮安县", "饶平县", "揭阳市",
387
+ "普宁市", "揭东县", "揭西县", "惠来县",
388
+ "云浮市", "罗定市", "云安县", "新兴县",
389
+ "郁南县", "乳源瑶族自治县", "连山壮族瑶族自治县", "连南瑶族自治县"] ],
390
+
391
+ ["广西壮族自治区", ["南宁市", "武鸣县", "隆安县", "马山县",
392
+ "上林县", "宾阳县", "横县", "柳州市",
393
+ "柳江县", "桂林市", "阳朔县", "临桂县",
394
+ "灵川县", "全州县", "平乐县", "兴安县",
395
+ "灌阳县", "荔浦县", "资源县", "永福县",
396
+ "梧州市", "岑溪市", "苍梧县", "藤县",
397
+ "蒙山县", "北海市", "合浦县", "东兴市",
398
+ "上思县", "钦州市", "灵山县", "浦北县",
399
+ "贵港市", "桂平市", "平南县", "玉林市",
400
+ "北流市", "容县", "陆川县", "博白县",
401
+ "兴业县", "百色市", "凌云县", "平果县",
402
+ "西林县", "乐业县", "德保县", "田林县",
403
+ "田阳县", "靖西县", "田东县", "那坡县",
404
+ "贺州市", "钟山县", "昭平县", "河池市",
405
+ "宜州市", "天峨县", "凤山县", "南丹县",
406
+ "东兰县", "来宾市", "合山市", "象州县",
407
+ "武宣县", "忻城县", "崇左市", "凭祥市",
408
+ "宁明县", "扶绥县", "龙州县", "大新县",
409
+ "天等县", "防城港市", "三江侗族自治县", "大化瑶族自治县",
410
+ "巴马瑶族自治县", "龙胜各族自治县", "金秀瑶族自治县", "融水苗族自治县",
411
+ "隆林各族自治县", "恭城瑶族自治县", "都安瑶族自治县", "富川瑶族自治县",
412
+ "环江毛南族自治县", "罗城仫佬族自治县"] ],
413
+
414
+ ["海南省", ["海口市", "琼海市", "儋州市", "文昌市",
415
+ "万宁市", "东方市", "澄迈县", "定安县",
416
+ "屯昌县", "临高县", "三亚市", "五指山市",
417
+ "白沙黎族自治县", "昌江黎族自治县", "乐东黎族自治县", "陵水黎族自治县",
418
+ "保亭黎族苗族自治县", "琼中黎族苗族自治县"] ],
419
+
420
+ ["重庆市", ["渝中区", "江北区", "南岸区", "北碚区",
421
+ "万盛区", "双桥区", "渝北区", "巴南区",
422
+ "万州区", "涪陵区", "黔江区", "长寿区",
423
+ "九龙坡区", "大渡口区", "沙坪坝区", ",永川市",
424
+ "合川市", "江津市", "南川市", "綦江县",
425
+ "潼南县", "荣昌县", "璧山县", "大足县",
426
+ "铜梁县", "梁平县", "城口县", "垫江县",
427
+ "武隆县", "丰都县", "奉节县", "开县",
428
+ "云阳县", "忠县", "巫溪县", "巫山县",
429
+ "石柱土家族自治县", "秀山土家族苗族自治县", "酉阳土家族苗族自治县", "彭水苗族土家族自治县"] ],
430
+
431
+ ["四川省", ["成都市", "彭州市", "邛崃市", "崇州市",
432
+ "金堂县", "郫县", "新津县", "双流县",
433
+ "蒲江县", "大邑县", "自贡市", "荣县",
434
+ "富顺县", "米易县", "盐边县", "泸州市",
435
+ "泸县", "合江县", "叙永县", "古蔺县",
436
+ "德阳市", "广汉市", "什邡市", "绵竹市",
437
+ "罗江县", "中江县", "绵阳市", "江油市",
438
+ "盐亭县", "三台县", "平武县", "安县",
439
+ "梓潼县", "广元市", "青川县", "旺苍县",
440
+ "剑阁县", "苍溪县", "遂宁市", "射洪县",
441
+ "蓬溪县", "大英县", "内江市", "资中县",
442
+ "隆昌县", "威远县", "乐山市", "夹江县",
443
+ "井研县", "犍为县", "沐川县", "南充市",
444
+ "阆中市", "营山县", "蓬安县", "仪陇县",
445
+ "南部县", "西充县", "眉山市", "仁寿县",
446
+ "彭山县", "洪雅县", "丹棱县", "青神县",
447
+ "宜宾市", "宜宾县", "兴文县", "南溪县",
448
+ "珙县", "长宁县", "高县", "江安县",
449
+ "筠连县", "屏山县", "广安市", "华蓥市",
450
+ "岳池县", "邻水县", "武胜县", "达州市",
451
+ "万源市", "达县", "渠县", "宣汉县",
452
+ "开江县", "大竹县", "雅安市", "芦山县",
453
+ "石棉县", "名山县", "天全县", "荥经县",
454
+ "宝兴县", "汉源县", "巴中市", "南江县",
455
+ "平昌县", "通江县", "资阳市", "简阳市",
456
+ "安岳县", "乐至县", "红原县", "汶川县",
457
+ "阿坝县", "理县", "小金县", "黑水县",
458
+ "金川县", "松潘县", "壤塘县", "茂县",
459
+ "康定县", "丹巴县", "炉霍县", "九龙县",
460
+ "甘孜县", "雅江县", "新龙县", "道孚县",
461
+ "白玉县", "理塘县", "德格县", "乡城县",
462
+ "石渠县", "稻城县", "色达县", "巴塘县",
463
+ "泸定县", "得荣县", "西昌市", "美姑县",
464
+ "昭觉县", "金阳县", "甘洛县", "布拖县",
465
+ "雷波县", "普格县", "宁南县", "喜德县",
466
+ "会东县", "越西县", "会理县", "盐源县",
467
+ "德昌县", "冕宁县", ",马尔康县", "九寨沟县",
468
+ "峨眉山市", "都江堰市", "攀枝花市", "若尔盖县",
469
+ ",北川羌族自治县", "木里藏族自治县", "马边彝族自治县", "峨边彝族自治县",
470
+ "甘孜藏族自治州", "凉山彝族自治州", "阿坝藏族羌族自治州"] ],
471
+
472
+ ["贵州省", ["贵阳市", "清镇市", "开阳县", "修文县",
473
+ "息烽县", "水城县", "盘县", "遵义市",
474
+ "赤水市", "仁怀市", "遵义县", "绥阳县",
475
+ "桐梓县", "习水县", "凤冈县", "正安县",
476
+ "余庆县", "湄潭县", "安顺市", "普定县",
477
+ "德江县", "江口县", "思南县", "石阡县",
478
+ "毕节市", "黔西县", "大方县", "织金县",
479
+ "金沙县", "赫章县", "纳雍县", "兴义市",
480
+ "望谟县", "兴仁县", "普安县", "册亨县",
481
+ "晴隆县", "贞丰县", "安龙县", "凯里市",
482
+ "施秉县", "从江县", "锦屏县", "镇远县",
483
+ "麻江县", "台江县", "天柱县", "黄平县",
484
+ "榕江县", "剑河县", "三穗县", "雷山县",
485
+ "黎平县", "岑巩县", "丹寨县", "都匀市",
486
+ "福泉市", "贵定县", "惠水县", "罗甸县",
487
+ "瓮安县", "荔波县", "龙里县", "平塘县",
488
+ "长顺县", "独山县", "六盘水市", "六枝特区",
489
+ "万山特区", "三都水族自治县", "松桃苗族自治县", "玉屏侗族自治县",
490
+ "沿河土家族自治县", "道真仡佬族苗族自治县", "务川仡佬族苗族自治县平坝县", "镇宁布依族苗族自治县",
491
+ "紫云苗族布依族自治县", "关岭布依族苗族自治县铜仁市", "印江土家族苗族自治县", "黔东南苗族侗族自治州",
492
+ "黔西南布依族苗族自治州", "威宁彝族回族苗族自治县", "黔南布依族苗族自治州"] ],
493
+
494
+ ["云南省", ["贵阳市", "清镇市", "开阳县", "修文县",
495
+ "息烽县", "水城县", "盘县", "遵义市",
496
+ "赤水市", "仁怀市", "遵义县", "绥阳县",
497
+ "桐梓县", "习水县", "凤冈县", "正安县",
498
+ "余庆县", "湄潭县", "安顺市", "普定县",
499
+ "德江县", "江口县", "思南县", "石阡县",
500
+ "毕节市", "黔西县", "大方县", "织金县",
501
+ "金沙县", "赫章县", "纳雍县", "兴义市",
502
+ "望谟县", "兴仁县", "普安县", "册亨县",
503
+ "晴隆县", "贞丰县", "安龙县", "凯里市",
504
+ "施秉县", "从江县", "锦屏县", "镇远县",
505
+ "麻江县", "台江县", "天柱县", "黄平县",
506
+ "榕江县", "剑河县", "三穗县", "雷山县",
507
+ "黎平县", "岑巩县", "丹寨县", "都匀市",
508
+ "福泉市", "贵定县", "惠水县", "罗甸县",
509
+ "瓮安县", "荔波县", "龙里县", "平塘县",
510
+ "长顺县", "独山县", "六盘水市", "六枝特区",
511
+ "万山特区", "三都水族自治县", "松桃苗族自治县", "玉屏侗族自治县",
512
+ "沿河土家族自治县", "道真仡佬族苗族自治县", "务川仡佬族苗族自治县平坝县", "镇宁布依族苗族自治县",
513
+ "紫云苗族布依族自治县", "关岭布依族苗族自治县铜仁市", "印江土家族苗族自治县", "黔东南苗族侗族自治州",
514
+ "黔西南布依族苗族自治州", "威宁彝族回族苗族自治县", "黔南布依族苗族自治州"] ],
515
+
516
+ ["西藏自治区", ["贵阳市", "清镇市", "开阳县", "修文县",
517
+ "息烽县", "水城县", "盘县", "遵义市",
518
+ "赤水市", "仁怀市", "遵义县", "绥阳县",
519
+ "桐梓县", "习水县", "凤冈县", "正安县",
520
+ "余庆县", "湄潭县", "安顺市", "普定县",
521
+ "德江县", "江口县", "思南县", "石阡县",
522
+ "毕节市", "黔西县", "大方县", "织金县",
523
+ "金沙县", "赫章县", "纳雍县", "兴义市",
524
+ "望谟县", "兴仁县", "普安县", "册亨县",
525
+ "晴隆县", "贞丰县", "安龙县", "凯里市",
526
+ "施秉县", "从江县", "锦屏县", "镇远县",
527
+ "麻江县", "台江县", "天柱县", "黄平县",
528
+ "榕江县", "剑河县", "三穗县", "雷山县",
529
+ "黎平县", "岑巩县", "丹寨县", "都匀市",
530
+ "福泉市", "贵定县", "惠水县", "罗甸县",
531
+ "瓮安县", "荔波县", "龙里县", "平塘县",
532
+ "长顺县", "独山县", "六盘水市", "六枝特区",
533
+ "万山特区", "三都水族自治县", "松桃苗族自治县", "玉屏侗族自治县",
534
+ "沿河土家族自治县", "道真仡佬族苗族自治县", "务川仡佬族苗族自治县平坝县", "镇宁布依族苗族自治县",
535
+ "紫云苗族布依族自治县", "关岭布依族苗族自治县铜仁市", "印江土家族苗族自治县", "黔东南苗族侗族自治州",
536
+ "黔西南布依族苗族自治州", "威宁彝族回族苗族自治县", "黔南布依族苗族自治州"] ],
537
+
538
+ ["陕西省", ["西安市", "高陵县", "蓝田县", "户县",
539
+ "周至县", "铜川市", "宜君县", "宝鸡市",
540
+ "岐山县", "凤翔县", "陇县", "太白县",
541
+ "麟游县", "扶风县", "千阳县", "眉县",
542
+ "凤县", "咸阳市", "礼泉县", "泾阳县",
543
+ "永寿县", "三原县", "彬县", "旬邑县",
544
+ "长武县", "乾县", "武功县", "淳化县",
545
+ "渭南市", "韩城市", "华阴市", "蒲城县",
546
+ "潼关县", "白水县", "澄城县", "华县",
547
+ "合阳县", "富平县", "大荔县", "延安市",
548
+ "安塞县", "洛川县", "子长县", "黄陵县",
549
+ "延川县", "富县", "延长县", "甘泉县",
550
+ "宜川县", "志丹县", "黄龙县", "吴旗县",
551
+ "汉中市", "留坝县", "镇巴县", "城固县",
552
+ "南郑县", "洋县", "宁强县", "佛坪县",
553
+ "勉县", "西乡县", "略阳县", "榆林市",
554
+ "清涧县", "绥德县", "神木县", "佳县",
555
+ "府谷县", "子洲县", "靖边县", "横山县",
556
+ "米脂县", "吴堡县", "定边县", "安康市",
557
+ "紫阳县", "岚皋县", "旬阳县", "镇坪县",
558
+ "平利县", "石泉县", "宁陕县", "白河县",
559
+ "汉阴县", "商洛市", "镇安县", "山阳县",
560
+ "洛南县", "商南县", "丹凤县", "柞水县"] ],
561
+
562
+ ["甘肃省", ["西安市", "高陵县", "蓝田县", "户县",
563
+ "周至县", "铜川市", "宜君县", "宝鸡市",
564
+ "岐山县", "凤翔县", "陇县", "太白县",
565
+ "麟游县", "扶风县", "千阳县", "眉县",
566
+ "凤县", "咸阳市", "礼泉县", "泾阳县",
567
+ "永寿县", "三原县", "彬县", "旬邑县",
568
+ "长武县", "乾县", "武功县", "淳化县",
569
+ "渭南市", "韩城市", "华阴市", "蒲城县",
570
+ "潼关县", "白水县", "澄城县", "华县",
571
+ "合阳县", "富平县", "大荔县", "延安市",
572
+ "安塞县", "洛川县", "子长县", "黄陵县",
573
+ "延川县", "富县", "延长县", "甘泉县",
574
+ "宜川县", "志丹县", "黄龙县", "吴旗县",
575
+ "汉中市", "留坝县", "镇巴县", "城固县",
576
+ "南郑县", "洋县", "宁强县", "佛坪县",
577
+ "勉县", "西乡县", "略阳县", "榆林市",
578
+ "清涧县", "绥德县", "神木县", "佳县",
579
+ "府谷县", "子洲县", "靖边县", "横山县",
580
+ "米脂县", "吴堡县", "定边县", "安康市",
581
+ "紫阳县", "岚皋县", "旬阳县", "镇坪县",
582
+ "平利县", "石泉县", "宁陕县", "白河县",
583
+ "汉阴县", "商洛市", "镇安县", "山阳县",
584
+ "洛南县", "商南县", "丹凤县", "柞水县"] ],
585
+
586
+ ["青海省", ["西宁市", "湟源县", "湟中县", "平安县",
587
+ "乐都县", "海晏县", "祁连县", "刚察县",
588
+ "同仁县", "泽库县", "尖扎县", "共和县",
589
+ "同德县", "贵德县", "兴海县", "贵南县",
590
+ "玛沁县", "班玛县", "甘德县", "达日县",
591
+ "久治县", "玛多县", "玉树县", "杂多县",
592
+ "称多县", "治多县", "囊谦县", "乌兰县",
593
+ "天峻县", "都兰县", "曲麻莱县", "德令哈市",
594
+ "格尔木市", "门源回族自治县", "大通回族土族自治县", "河南蒙古族自治县",
595
+ "化隆回族自治县", ",互助土族自治县", "民和回族土族自治县", "循化撒拉族自治县"] ],
596
+
597
+ ["宁夏回族自治区", ["银川市", "灵武市", "永宁县", "贺兰县",
598
+ "平罗县", "吴忠市", "同心县", "盐池县",
599
+ "固原市", "西吉县", "隆德县", "泾源县",
600
+ "彭阳县", "中卫市", "中宁县", "海原县",
601
+ "石嘴山市", "青铜峡市"] ],
602
+
603
+ ["新疆维吾尔自治区", ["鄯善县", "哈密市", "伊吾县", "和田市",
604
+ "和田县", "洛浦县", "民丰县", "皮山县",
605
+ "策勒县", "于田县", "墨玉县", "温宿县",
606
+ "沙雅县", "拜城县", "库车县", "柯坪县",
607
+ "新和县", "乌什县", "喀什市", "巴楚县",
608
+ "泽普县", "伽师县", "叶城县", "疏勒县",
609
+ "莎车县", "疏附县", "乌恰县", "和静县",
610
+ "尉犁县", "和硕县", "且末县", "博湖县",
611
+ "轮台县", "若羌县", "昌吉市", "阜康市",
612
+ "米泉市", "奇台县", "博乐市", "精河县",
613
+ "温泉县", "伊宁市", "奎屯市", "伊宁县",
614
+ "昭苏县", "新源县", "霍城县", "巩留县",
615
+ "塔城市", "乌苏市", "额敏县", "裕民县",
616
+ "沙湾县", "托里县", "青河县", "富蕴县",
617
+ "福海县", ",石河子市", "阿拉尔市", "五家渠市",
618
+ "吐鲁番市", "托克逊县", "阿克苏市", "阿瓦提县",
619
+ "岳普湖县", "麦盖提县", "英吉沙县", "阿图什市",
620
+ "阿合奇县", "阿克陶县", "库尔勒市", "玛纳斯县",
621
+ "呼图壁县", "特克斯县", "尼勒克县", "吉木乃县",
622
+ "布尔津县", "哈巴河县", ",阿勒泰市", "乌鲁木齐市",
623
+ "乌鲁木齐县", "克拉玛依市", "图木舒克市", "吉木萨尔县",
624
+ "巴里坤哈萨克自治县", "塔什库尔干塔吉克自治县", "焉耆回族自治县", "察布查尔锡伯自治县",
625
+ "木垒哈萨克自治县", "和布克赛尔蒙古自治县"] ],
626
+
627
+ ["香港特别行政区", ["中西区", "东区", "观塘区", "南区",
628
+ "湾仔区", "离岛区", "葵青区", "北区",
629
+ "西贡区", "沙田区", "屯门区", "大埔区",
630
+ "荃湾区", "元朗区", "九龙城区", "油尖旺区",
631
+ "深水埗区", "黄大仙区"] ],
632
+
633
+ ["澳门特别行政区", ["花地玛堂区", "圣安多尼堂区(花王堂区)", "望德堂区", "大堂区",
634
+ "风顺堂区(圣老楞佐堂区)", "离岛", "氹仔", "路环"] ],
635
+
636
+ ["台湾省", ["台北市", "高雄市", "基隆市", "台中市",
637
+ "台南市", "新竹市", "嘉义市", "台北县",
638
+ "板桥市", "宜兰县", "宜兰市", "新竹县",
639
+ "竹北市", "桃园县", "桃园市", "苗栗县",
640
+ "苗栗市", "台中县", "丰原市", "彰化县",
641
+ "彰化市", "南投县", "南投市", "嘉义县",
642
+ "太保市", "云林县", "斗六市", "台南县",
643
+ "新营市", "高雄县", "凤山市", "屏东县",
644
+ "屏东市", "台东县", "台东市", "花莲县",
645
+ "花莲市", "澎湖县", "马公市"] ]
646
+ ]
647
+
648
+ end
@@ -0,0 +1,44 @@
1
+ module ChineseCities
2
+ class Province
3
+ attr_accessor :name
4
+
5
+ def initialize name
6
+ @name = name
7
+ end
8
+
9
+ def cities
10
+ city_names.map do |city|
11
+ City.find city
12
+ end
13
+ end
14
+
15
+ def city_names
16
+ DATABASE.find do |province|
17
+ province.first == name
18
+ end.last
19
+ end
20
+
21
+ class << self
22
+
23
+ private :new
24
+
25
+ def find name
26
+ return nil unless all_names.include? name
27
+ new name
28
+ end
29
+
30
+ def all_names
31
+ DATABASE.map do |province|
32
+ province.first
33
+ end
34
+ end
35
+
36
+ def all
37
+ all_names.map do |province|
38
+ new province
39
+ end
40
+ end
41
+ end
42
+
43
+ end
44
+ end
@@ -0,0 +1,3 @@
1
+ module ChineseCities
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,24 @@
1
+ # encoding: utf-8
2
+
3
+ require "chinese_cities/version"
4
+
5
+ module ChineseCities
6
+ autoload :DATABASE, 'chinese_cities/database'
7
+ autoload :Province, 'chinese_cities/province'
8
+ autoload :City, 'chinese_cities/city'
9
+
10
+ def self.search name
11
+ hash = Hash.new
12
+
13
+ hash[:provinces] = Province.all_names.find_all do |province|
14
+ province.include? name
15
+ end
16
+
17
+ hash[:cities] = City.all_names.find_all do |city|
18
+ city.include? name
19
+ end
20
+
21
+ hash
22
+ end
23
+
24
+ end
@@ -0,0 +1,60 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rspec'
4
+ require 'chinese_cities/city'
5
+
6
+ module ChineseCities
7
+
8
+ describe City do
9
+ before :all do
10
+ @city = City.find '西城区'
11
+ end
12
+
13
+ context '#province' do
14
+ it 'should have province' do
15
+ result = @city.province
16
+ result.should_not be_nil
17
+ end
18
+ end
19
+
20
+ context '#province_name' do
21
+ it 'should have province_name' do
22
+ result = @city.province_name
23
+ result.should_not be_nil
24
+ end
25
+ end
26
+
27
+ context '.new' do
28
+ it 'should be a private method' do
29
+ lambda { City.new '西城区' }.should raise_error
30
+ end
31
+ end
32
+
33
+ context '.find' do
34
+ it 'should find a city' do
35
+ result = City.find '西城区'
36
+ result.should_not be_nil
37
+ end
38
+
39
+ it 'should not find a city' do
40
+ result = City.find '啊啊啊'
41
+ result.should be_nil
42
+ end
43
+ end
44
+
45
+ context '.all' do
46
+ it 'should get all cities' do
47
+ result = City.all
48
+ result.should_not be_empty
49
+ end
50
+ end
51
+
52
+ context '.all_names' do
53
+ it 'should get all city names' do
54
+ result = City.all_names
55
+ result.should_not be_empty
56
+ end
57
+ end
58
+
59
+ end
60
+ end
@@ -0,0 +1,60 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rspec'
4
+ require 'chinese_cities/province'
5
+
6
+ module ChineseCities
7
+
8
+ describe Province do
9
+ before :all do
10
+ @province = Province.find '北京市'
11
+ end
12
+
13
+ context '#cities' do
14
+ it 'should have cities' do
15
+ result = @province.cities
16
+ result.should_not be_empty
17
+ end
18
+ end
19
+
20
+ context '#city_names' do
21
+ it 'should have city_names' do
22
+ result = @province.city_names
23
+ result.should_not be_empty
24
+ end
25
+ end
26
+
27
+ context '.new' do
28
+ it 'should be a private method' do
29
+ lambda { Province.new '北京市' }.should raise_error
30
+ end
31
+ end
32
+
33
+ context '.find' do
34
+ it 'should find a province' do
35
+ result = Province.find '天津市'
36
+ result.should_not be_nil
37
+ end
38
+
39
+ it 'should not find a province' do
40
+ result = Province.find '啊啊啊'
41
+ result.should be_nil
42
+ end
43
+ end
44
+
45
+ context '.all' do
46
+ it 'should get all provinces' do
47
+ result = Province.all
48
+ result.should_not be_empty
49
+ end
50
+ end
51
+
52
+ context '.all_names' do
53
+ it 'should get all province names' do
54
+ result = Province.all_names
55
+ result.should_not be_empty
56
+ end
57
+ end
58
+
59
+ end
60
+ end
@@ -0,0 +1,20 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rspec'
4
+ require 'chinese_cities'
5
+
6
+ describe ChineseCities do
7
+ context '.search' do
8
+ it 'should have result' do
9
+ result = ChineseCities.search '京'
10
+ result[:provinces].should_not be_empty
11
+ result[:cities].should_not be_empty
12
+ end
13
+
14
+ it 'should have no result' do
15
+ result = ChineseCities.search '啊'
16
+ result[:provinces].should be_empty
17
+ result[:cities].should be_empty
18
+ end
19
+ end
20
+ end
metadata ADDED
@@ -0,0 +1,78 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: chinese_cities
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - zhouguangming
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-12-10 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '2.11'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '2.11'
30
+ description: Chinese provinces and cities collection
31
+ email:
32
+ - zhouguangming1989@gmail.com
33
+ executables: []
34
+ extensions: []
35
+ extra_rdoc_files: []
36
+ files:
37
+ - .gitignore
38
+ - Gemfile
39
+ - LICENSE
40
+ - README.md
41
+ - Rakefile
42
+ - chinese_cities.gemspec
43
+ - lib/chinese_cities.rb
44
+ - lib/chinese_cities/city.rb
45
+ - lib/chinese_cities/database.rb
46
+ - lib/chinese_cities/province.rb
47
+ - lib/chinese_cities/version.rb
48
+ - spec/chinese_cities/city_spec.rb
49
+ - spec/chinese_cities/province_spec.rb
50
+ - spec/chinese_cities_spec.rb
51
+ homepage: https://github.com/zhouguangming/chinese_cities
52
+ licenses: []
53
+ post_install_message:
54
+ rdoc_options: []
55
+ require_paths:
56
+ - lib
57
+ required_ruby_version: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ required_rubygems_version: !ruby/object:Gem::Requirement
64
+ none: false
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ requirements: []
70
+ rubyforge_project:
71
+ rubygems_version: 1.8.24
72
+ signing_key:
73
+ specification_version: 3
74
+ summary: Chinese provinces and cities collection
75
+ test_files:
76
+ - spec/chinese_cities/city_spec.rb
77
+ - spec/chinese_cities/province_spec.rb
78
+ - spec/chinese_cities_spec.rb