河川を消す
    Top > Python > 描画 > 地図 (Basemap)
    Basemapに河川を消すスキームが調べても出てこない
    今はcarotpyの使用が推奨されているらしいが,未だ地図の描画にbasemapを使う人は多いと思う.河川や湖があると汚く見えるので消したいのだが,大河川がどうしても消えない(小さな湖や島はarea_threshという引数で消せる). 聞いた話では簡単に河川を消すスキームは無く,オブジェクトを指定して表示しないようにするなどするほかないらしい.具体的な方法は確認していないので不明.
    地形データ
    ここではNatural Earth提供の海岸線データを使う.下ページの'land'というのを落としてくる. + Natural Earth これを解凍して図化する.
    陸塗りつぶし、経度-180°~180°
    このデータは経度-180°から180°で描画することが前提となっているので,特に値をいじる必要はない. python – matplotlib/Basemapで川のない世界地図? - コードログより転載
    海岸線を描く、経度範囲は任意
    経度180°線を跨ぐような緯度経度範囲で描画しようとすると図のようになる. 経度180°の鉛直線と東端から西端に伸びる線を消す必要がある. 緯度経度の読み込み部分を以下のように修正する. ・経度180°(付近)の鉛直線を含む図形をその前後で分離する ・東端・西端の経度を跨ぐ図形を分離する 鉛直線は正確に経度180°のものと経度180°に極めて近いものとがあるので,180°の前後0.001°について処理するようにしている. このままだと入り組んだ部分の線がごちゃごちゃした感じになるので,適当に間隔を空けて描くと良い.
    References
    python – matplotlib/Basemapで川のない世界地図? - コードログ + https://codeday.me/jp/qa/20190210/228582.html