1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Pythonで世界地図-22(国の位置検索)

Last updated at Posted at 2018-07-29

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

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,※ 南オセチア共和国(南オセチア)
# !/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()

使い方

$ ./国の位置検索.py

最初に引数なしで起動しますと、国名一覧がでますので、国名をコピーします。(共和国等は省略しても表示されます。)
(カッコ内の名称でも表示される場合もあります。ただし「伊太利亜」はアメリカが表示されました。)

image.png

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

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

image.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?