1
2

More than 1 year has passed since last update.

cartopyでurllib.error.URLErrorが出た時の対処

Last updated at Posted at 2021-09-16

追記2021/11/09
どうやら海岸線データの置いてあるサーバ(https://naciscdn.org/naturalearth/ )がたまたまダウンしていただけで,一時的な問題だった可能性がある,と後に友人から教えてもらいました.ありがとう..



私,初心者です.内容にはご注意.また,異なる理由で同じエラーの出る場合もあるかもしれないので,ひとつのケースとして参考までに.

バージョン

確認できたものだけ(真面目に全バージョン検証したわけでない)
cartopy 0.19.0.post1

状況

cartopy.fearure.BORDERSax.add_featureで実行.エラーを辿ってゆくと最終的にはpython3.9のurllibでのエラーと出るが,それ自体はcartopyが呼んでいる.

解決

... /miniconda3/lib/python3.9/site-packages/cartopy/io/shapereader.py
ないの300行くらいのところにある_NE_URL_TEMPLATEのアドレスを書き換える

修正前

     _NE_URL_TEMPLATE = ('https://naciscdn.org/naturalearth/{resolution}'
                        '/{category}/ne_{resolution}_{name}.zip')

修正後

     _NE_URL_TEMPLATE = ('https://naturalearth.s3.amazonaws.com/'
                         '{resolution}_{category}/ne_{resolution}_{name}.zip')

cartopy.fearure.BORDERSを初めて描画するタイミングでデータのダウンロードが発生し,上記のURLが参照されているよう.故にそのタイミングが肝と思われ,少し前(2021年の2月とか)はnaciscdn.orgにアクセスできたが最近(2021年9月)はアクセスできなくなっている.
amazonのサーバーを指定すると大丈夫のよう.最新版のcartopyでcaciscdnを指定しているものもあったので,そもそもcondaのバージョンも関係している可能性あるが,検証はしていません.

参考

1
2
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
2