问题标签 [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.
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
.
matplotlib - 匹配cartopy中shapefile的投影
我正在尝试使用 matplotlib 和 cartopy 制作一个 Choropleth 地图,我显然需要先绘制一个 shapefile。但是,我没有设法这样做,即使已经在这里和这里提出了类似的问题。我怀疑投影或边界指定错误。
我的 shapefile 有投影
并且可以在我所说的地方下载vg250_2010-01-01.utm32w.shape.ebenen/vg250_ebenen-historisch/de1001/vg250_gem.shp
我的代码是
我使用 fiona 的相应方法获得了边界。Python 抛出一个错误
这对我来说没有意义。此外,使用 ccrs.UTM() 进行试验给了我一个显示白色区域的图。如果有人能告诉我如何解决这个问题,我将不胜感激。谢谢!
python-2.7 - 如何使用 pip 安装地图/绘图库 cartopy 和底图
我了解在安装 cartopy 和底图之前需要满足一些依赖项。pip
我使用(如numpy
等)整理了其中大部分。
我发现 Proj.4 存在一些cartopy问题,而 GEOS 存在一些底图问题。我认为 python 绑定到 Java 项目 Proj.4 就足够了,我对 C++ 库 GEOS 有点迷失(我认为 GDAL 对 GEOS 来说已经足够了,我已经通过这种方式将它链接到 python 世界:)pip install --global-option=build_ext --global-option="-I/usr/include/gdal" GDAL==`gdal-config --version
。
我宁愿避免所有这些东西,如 anaconda、canopy 等。如果可能的话,我只想pip
在 Ubuntu ( apt-get
,仅当pip
还不够时) 和 Mac OSX (自制软件,例如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.
:。我假设这个pip
python 绑定的安装就足够了,但它并没有解决问题:
我不明白为什么 python 绑定到 Proj.4 是不够的,即使这些绑定是使用pip
.
底图以不同的方式卡住:
- 以
pip2 install basemap
某种方式使用我得到Could not find a version that satisfies the requirement basemap (from versions: ) No matching distribution found for basemap
但是从底图文档中我发现由于
/li>pip
某种原因该库没有链接到存储库,需要从源代码安装。所以我跑了:pip2 install https://github.com/matplotlib/basemap/archive/v1.0.7rel.tar.gz
我相信GEOS
C++ 代码的编译被触发,过了一会儿它在底部停止:
我不确定我做错了什么:
- 如何为 cartopy 提供正确的 Proj.4 东西?实际上,我更愿意找到与现有 Proj.4 版本兼容的旧版本 cartopy(我假设它来自
pip install
绑定) - 如何从我设置的 GDAL 链接中获取底图查找 GEOS
pip
?如果这还不够,那我还应该做些什么呢?也许是一些apt-get
避免在底图安装中触发 GEOS 编译的 GEOS 包?
在 Java 二进制文件、C++ 二进制文件和与 python 包的绑定之间的这个无人地带,我有点困惑。
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
被放在那里。
python - 对象实例中看似不可变的字典
如果我运行以下cartopy
代码:
我得到:
暗示该proj4_params
属性是不可变的。
但这只是一个沼泽标准dict
:
其中,由于它是在 C 中实现的,因此不能被覆盖以具有这种行为(至少不安全)。
好的,但是这个类的代码很简单,所以我的理解有问题。有人可以向我解释为什么我会出现这种行为吗?
编辑:
以下:
结果是:
linux - 如何在 linux-32 上将 Cartopy 安装到 python-3.5
当我尝试通过 conda 安装它时
附加信息:
获取包元数据............解决包规范:.
PackageNotFoundError:找不到包:''当前 linux-32 频道中缺少包:-cartopy
找到接近的匹配项;你的意思是其中之一吗?
你可以在 anaconda.org 上搜索包
当我跑
出现新消息
包:名称 | 版本 | 包装类型 | 平台
...
找到 22 个包裹
当我尝试使用其中之一时 - 例如
我收到
获取包元数据............解决包规范:......
UnsatisfiableError:发现以下规范存在冲突: - cartopy - python 3.5* 使用“conda info”查看每个包的依赖关系。
如何将此软件包安装到我的系统中?
python - Cartopy 找不到 Proj.4
我已经通过 tar.gz 正确安装了 proj-4.9.1 和
./configure --prefix=/path/to/directory
然后是“制作”和“制作安装”。不过cartopy告诉我
必须安装 Proj4 4.9.0。
我通过运行安装脚本
那我还需要照顾别的吗?