Pythonで世界地図-22（国の位置検索）

###2018.8.9は使用出来ませんでしたが、2018.8.10は使用出来ました。
2018.07.29迄は、pygeocoder　が使用できていましたが現在はエラーになり使用出来ません。

Yahoo!ジオコーダAPIというのがあったので、
Pythonで世界地図-4
https://qiita.com/ty21ky/items/19eaaac270c04597821d
にサンプルプログラムを書いています。

###2018.08.09現在、GoogleのAPIが変更になったみたいで、使用することが出来ません。

聞いたことのない国名の場所を探すのに作ってみました。
（国名がわかっている場合は、Google Mapの方が早い？）

Pythonで世界地図-4
https://qiita.com/ty21ky/items/19eaaac270c04597821d
と
Pythonで世界地図
https://qiita.com/ty21ky/items/c7a93b83cbbfa8a82a17
のcsvファイルを読み込むコードを足しただけです。

国名一覧は、
世界の国のリスト 
https://www.downloadexcelfiles.com/ja/wo_ja/%E4%B8%96%E7%95%8C%E3%81%AE%E5%9B%BD%E3%81%AE%E3%83%AA%E3%82%B9%E3%83%88#.W10B1xhUtpg
から、ダウンロードさせていただきました。
ありがとうございます。

Country_name_list.csv

```shell-session
NO,日本語名称
1,アイスランド共和国（アイスランド/氷洲）
2,アイルランド（愛/愛蘭）
3,アゼルバイジャン共和国（アゼルバイジャン）
4,アフガニスタン・イスラム共和国（アフガニスタン）
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,※ 南オセチア共和国（南オセチア）
```

```python:
#!/usr/bin/python3
# coding: UTF-8

import numpy as np
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
from pygeocoder import Geocoder
import sys
import csv

args = sys.argv
argc = len(args) # 引数の個数

if (argc != 2):   # 引数がない場合
    print ('起動方法\n$ ./map1.py 国名')
    print('\n国名リスト\n')
    filename = './Country_name_list.csv'
    with open(filename) as f:
        reader = csv.reader(f)
        next(reader)

        for row in reader:
            print(row[1])

    quit()

area_name = args[1]

font = {'family':'IPAGothic'}

try:
    result = Geocoder.geocode(area_name)
    lon1 = float(result.longitude)
    lat1 = float(result.latitude)
except:
    quit()

map = Basemap(lon_0 = lon1,resolution='i',projection='cyl')

map.drawcoastlines()
map.drawcountries()
map.drawmeridians(np.arange(0, 360, 10),labels=[True,False,False,True])
map.drawparallels(np.arange(-80, 90, 10),labels=[False,True,True,False])

map.drawmapboundary(fill_color='aqua')
map.fillcontinents(color='gray')

plt.text(lon1,lat1," " + area_name,fontsize=12,color='r', **font)
x,y = map(lon1, lat1)
map.plot(x, y, 'ro', markersize=3)

plt.show()
```
使い方

```shell-session
$ ./国の位置検索.py
```
最初に引数なしで起動しますと、国名一覧がでますので、国名をコピーします。（共和国等は省略しても表示されます。）
（カッコ内の名称でも表示される場合もあります。ただし「伊太利亜」はアメリカが表示されました。）

![image.png](https://qiita-image-store.s3.amazonaws.com/0/238800/50c3dd70-b598-663a-4dfd-f81edfac8986.png)

次に、引数に国名を指定して起動します。
何もしないですぐに終了する場合は、何度も実行すれば表示されます。

```shell-session
$ ./国の位置検索.py 沿ドニエストル共和国
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/238800/cbaf518b-3a7c-dd7f-23e0-61894a3709f3.png)