绘制nc、shp陆地区域
NC文件
NC 文件(NetCDF 文件)是一种用于存储和分发科学数据的文件格式,尤其在气候科学、气象学、海洋学和地理空间数据等领域中被广泛使用。NetCDF(Network Common Data Form)是专门为高效存储多维科学数据而设计的,如温度、湿度、风速、降水量、地形高度等。它的主要特点包括:
-
自描述性:每个文件都包含元数据,说明存储的数据的变量、单位、维度和其他相关信息,这使得数据可以独立于文件外部的任何描述文件而被理解。
-
多维数组:NetCDF 文件可以存储多维的数据,如三维或四维的时空数据。例如,气候模型输出的数据通常有时间、空间(经度、纬度)以及变量(如温度、湿度等)维度。
-
跨平台兼容:NetCDF 文件格式独立于计算机平台,意味着它们可以在不同的操作系统(如 Windows、Linux 和 macOS)之间自由转换,而无需担心兼容性问题。
-
扩展性:可以轻松地在文件中添加新的变量或维度,而不会破坏现有的数据结构。
这种文件格式非常适合处理大规模的科学数据集,尤其是在气候建模和大气数据分析中常见。例如,CMIP5 和 CMIP6 的气候数据就是以 NetCDF 格式存储的。
SHP文件
Shapefile 通常由以下三个主要文件组成(且需要它们同时存在):
.shp
文件:几何数据.shx
文件:几何索引.dbf
文件:属性数据
在使用SHP文件时,请确认这三个文件都存在于同一目录下。如果 .shx
文件缺失,可以尝试通过 GIS 工具(如 QGIS、ArcGIS)重新生成它。
NC文件与SHP文件对比解释
假如上面对于两种数据格式的解释不够清楚,这里对于上述两种文件类型进行如下的解释说明。
geopandas下载需要使用的Python版本有要求,我在安装geopandas时,发现始终pip装不上,考虑是Python版本问题(当时虚拟环境使用的是3.8版本的Python),于是询问了同学得知,始终pip安装不了的原因在于版本低,重新创建虚拟环境把Python版本提升为3.10就可以正确安装了。
绘图时出现上面的报错,提示没有FigureCanvas,并让你尝试替换为其他形式的绘图包,这里往往就是因为没有启动非交互式的后端,在代码开头加上下面的抬头,就可以把报错去掉并且正常运行了。
Tip:对于大文件图像绘制时间,代码运行时间是真的长哇。
import matplotlib
matplotlib.use('Agg') # 使用非交互式的Agg后端
添加上面的使用非交互式后端,就可以去除前面的报错。
运行处的代码却出现了色块与地图轮廓不一致的情况,主要原因可能是没有加上合理的限制,所以这里又在源代码中添加了一块多边形内部的有效数据类型,具体解释如下,这样就可以避免色块超出轮廓。
添加了对颜色条的限制: 在 ax.pcolormesh()
之后添加了 ,
sc.set_clim(np.nanmin(o3_mean_masked[mask]), np.nanmax(o3_mean_masked[mask]))
这样颜色条只显示多边形内部的有效数据范围,避免绘制包含轮廓外无效数据的色条。
原文地址:https://blog.csdn.net/weixin_60535956/article/details/142967294
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!