問題タブ [cartopy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
708 参照

matplotlib - Matplotlib プロジェクション削除マージン

これは、上に作成された米国の郡の画像です。

画像

で見ることができる「ライブ」図ではplt.show()、図の周りに大きな灰色の領域があります。ここでは、白いパディングで見ることができます (見えません)。

だから私はもう少しズームインできると思った:

そして、これは起こりました:

トリミングされた画像

Figure の周囲にはまだ白いマージン/パディングがありますが、突然トリミングされます。「ライブ画像」も、投影の周りに配置されているように見える白い余白を示しています。

plt.tight_layout()実際に余白の多くを削除しましたが、一部を残しました (2 番目の写真は、レイアウトを引き締めた後に撮影されたものです) 。ax.set_extent()この目に見えないマージンにより、マップを拡張できる場所まで見ることができないため、特に困難になります。

プロジェクションの周りの隠れたパディング/マージンをすべて削除する方法はありますか?

0 投票する
1 に答える
537 参照

python - Python の地図上に Cassini-Soldner 投影で RGB 衛星画像をプロットする

私は MODIS 装置から geotiff 形式で地理参照された RGB 衛星画像を持っています。cartopy を使用してマップ上にプロットし、RGB カラーを保持する正しい方法は何ですか?

私が推測する主な障害は、Cassini-Soldner である画像の投影です。

この例https://ocefpaf.github.io/python4oceanographers/blog/2015/03/02/geotiff/に従い 、cartopy を使用して EPSG コードからの投影を定義しようとしました。そこで、Cassini-Soldner EPSG コード (9806) をググってみましたが、cartopyccrs.epsg()はそれを認識しません。

メソッドを使いたいのですが、軸を作成する際の射影キーワードとして何を使用し、 で引数plt.imshow()として何を渡すか、少し混乱しています。transform=imshow

0 投票する
1 に答える
1596 参照

python - cartopy: 大圏距離線の高解像度

2 点間の大円距離をプロットしようとしています。cartopy ドキュメント (introductory_examples/01.great_circle.html) で見つけました:

これにより、次の画像が作成されます。

大円の例

問題は、私自身の作品では、この 2 つの点が互いに非常に接近しており、投影が異なるということです (ここでは重要ではないと思いますが)。このコードを小さな領域の行に変更すると、次のようになります。

これにより、次の画像が作成されます

この場合の赤い大円の線は見栄えが悪く、解像度が低すぎることが原因のようです。大円線を構成する点の数を増やすにはどうすればよいですか?

0 投票する
1 に答える
4245 参照

python-2.7 - pip を使用してマップ/プロット ライブラリ cartopy および basemap をインストールする方法

cartopy とベースマップをインストールする前に、いくつかの依存関係を満たす必要があることを理解しています。pip(など)を使用してそれらのほとんどを整理しましたnumpy

Proj.4にはカートピーの問題があり、GEOS にはベースマップの問題があることがわかりました。Java プロジェクト Proj.4 への Python バインディングで十分だと思いましたが、C++ ライブラリ GEOS で少し迷っています (GEOS には GDAL で十分だと思います。この方法で Python の世界にリンクしました: pip install --global-option=build_ext --global-option="-I/usr/include/gdal" GDAL==`gdal-config --version)。

anaconda、canopy などのようなものはすべて避けたいと思います。可能であればpip、Ubuntu ( apt-getpip十分でない場合のみ) と Mac OSX (homebrew 、十分でbrew install <some_package>ない場合のみ) の両方でのみ使用したいと思いpipます。

cartopyは、古すぎる Proj.4 のバージョンでスタックします。pip出力は次のとおりですProj4 version 4.8.0 is installed, but cartopy requires at least version 4.9.0.。この Python バインディングのインストールで十分だと思っpipていましたが、問題は解決しません。

Proj.4 への python バインディングが十分ではない理由がわかりません。それらのバインディングが を使用して利用可能な最新バージョンであってもですpip

ベースマップはさまざまな方法で動かなくなります:

  • どういうpip2 install basemapわけか私が得るCould not find a version that satisfies the requirement basemap (from versions: ) No matching distribution found for basemap
  • しかし、ベースマップのドキュメントから、pip何らかの理由でライブラリがリポジトリにリンクされておらず、ソース コードからインストールする必要があることがわかりました。だから私は実行しました:pip2 install https://github.com/matplotlib/basemap/archive/v1.0.7rel.tar.gzそしてGEOS、C++ コードのコンパイルがトリガーされ、しばらくすると、下部で次のように停止すると思います:

    /li>

何が間違っているのかわかりません:

  • cartopy に正しい Proj.4 のものを提供する方法は? 実際には、既存のバージョンの Proj.4 で問題ない古いバージョンの cartopy を見つけることをお勧めします (これはpip installバインディングに由来すると想定しています) 。
  • セットアップした GDAL リンクから GEOS を見つけるベースマップを取得するpip方法 それで十分でない場合は、さらに何をすればよいですか?おそらくapt-get、ベースマップのインストール内で GEOS コンパイルをトリガーすることを回避する GEOS パッケージの一部でしょうか?

Java バイナリ、C++ バイナリ、および python パッケージへのバインディングの間の無人地帯で、私は少し混乱しています。

0 投票する
2 に答える
5964 参照

pip - proj_api.h を pip install cartopy で使用できるようにする

cartopy経由でインストールしようとしてpip install cartopyいます。インストールproj.4して、必要なファイルをここに配置しました

~/Downloads/proj-4.9.2 $ ls -l /usr/local/include/proj_api.h -rw-r--r--@ 1 dom admin 5911 Nov 21 11:06 /usr/local/include/proj_api.h

しかし、pip installそれを見つけていません:

gcc -fno-strict-aliasing -I/Applications/SageMath/local/var/tmp/sage/build/python2-2.7.10.p2/include -DNDEBUG -g -fwrapv -O3 -Wall -Wno-unused -I/Applications/SageMath/local/include -I./lib/cartopy -I/usr/local/Cellar/geos/3.5.0/include -I/Applications/SageMath/local/include/python2.7 -c lib/cartopy/trace.cpp -o build/temp.macosx-10.9-x86_64-2.7/lib/cartopy/trace.o lib/cartopy/trace.cpp:282:22: fatal error: proj_api.h: No such file or directory #include "proj_api.h" ^ compilation terminated. error: command 'gcc' failed with exit status 1

-I/usr/local/include上記のgccコマンドに表示されるようなものを取得するにはどうすればよいですか? どういうわけかそこ-I/usr/local/Cellar/geos/3.5.0/includeに置かれます。

0 投票する
2 に答える
176 参照

python - オブジェクト インスタンス内の一見不変の dict

次のcartopyコードを実行すると:

私は得る:

proj4_paramsプロパティが不変であることを意味します。

しかし、それはただの標準dictです:

これは C で実装されているため、上書きしてこの種の動作を行うことはできません (少なくとも安全ではありません)。

わかりましたが、このクラスのコードは非常に単純なので、私の理解には何か問題があります。誰かが私にこの振る舞いをしている理由を説明できますか?

編集

以下:

結果:

0 投票する
1 に答える
235 参照

python - Cartopy での正射投影に関するシェープファイルのプロットの問題

この質問に関連して、カートピーを使用して特定の国で色を付けようとしています。リンクされた質問の例をコピーするとうまくいきますが、正投影を使用すると失敗します。MWEと画像が含まれており、ご覧のとおり、ドイツは色付けされていません.

(シェープファイルデータはこちらから入手できます。)

ここに画像の説明を入力

0 投票する
1 に答える
923 参照

linux - Cartopy を linux-32 の python-3.5 にインストールする方法

condaを介してインストールしようとすると

追加メッセージ:

パッケージのメタデータを取得しています .......... パッケージの仕様を解決しています: .

PackageNotFoundError: パッケージが見つかりません: '' 現在の linux-32 チャンネルにパッケージがありません: - cartopy

近い一致が見つかりました。これらのいずれかを意味しましたか?

anaconda.org でパッケージを検索するには、

私が走るとき

新しいメッセージが表示されます

パッケージ: 名前 | バージョン | パッケージの種類 | プラットフォーム

...

22 個のパッケージが見つかりました

そして、それらの1つを使用しようとすると-たとえば

私は受け取ります

パッケージのメタデータを取得しています .... パッケージの仕様を解決しています: ....

UnsatisfiableError: 次の仕様が競合していることが判明しました: - cartopy - python 3.5* 「conda info」を使用して、各パッケージの依存関係を確認してください。

このパッケージをシステムにインストールするにはどうすればよいですか?

0 投票する
1 に答える
3100 参照

python - Cartopy が Proj.4 を見つけられない

tar.gz から proj-4.9.1 を正しくインストールしました。

./configure --prefix=/path/to/directory

次に「make」と「make install」。それにもかかわらず、cartopyは私に言います

Proj4 4.9.0 がインストールされている必要があります。

セットアップスクリプトを実行します

それで、私は他に何か世話をする必要がありますか?