技巧 | 栅格的属性数据和经纬度是分开的两个文件,怎么将它们整合到同一个文件上...
这个问题来自一位读者的提问,小编的回答实际上也不太成熟,但作为一个技巧还是有必要记录一下的。
该读者的数据是两个相同精度的nc文件,其中一个文件包含的是属性数据,而它对应的经纬度信息是另一个文件的属性信息,要求是使用属性数据绘制专题地图时能够以经纬度作为坐标系。
在查了raster
工具包的帮助文档后,小编没有找到如何往栅格数据中添加属性信息,以及如何将经纬度从属性信息转化为几何信息的方法。最后的解决方法如下:
首先,读取数据。
raster
工具包的raster()
函数可以读取nc格式的栅格数据,但在R语言中,有专门的工具包ncdf4
可以用于读取nc数据。
导入nc数据的函数为nc_open()
:
nc_open(filename, write = FALSE,readunlim = TRUE, verbose = FALSE, auto_GMT = TRUE, suppress_dimvals = FALSE,return_on_error = FALSE )
从导入的nc数据中提取相应变量,使用的函数是ncvar_get()
:
ncvar_get(nc, varid = NA, start = NA,count = NA, verbose = FALSE,signedbyte = TRUE, collapse_degen = TRUE,raw_datavals = FALSE )
针对该读者提供的数据,代码如下:
library(ncdf4)
# 导入数据
nc <- nc_open("file_1.nc")
lonlat <- nc_open("file_2.nc")
# 提取属性
Var <- ncvar_get(nc, "Var")[,,1]
LAT <- ncvar_get(lonlat, "LAT")
LON <- ncvar_get(lonlat, "LON")
file_1.nc
和file_2.nc
分别代表两个文件;由于原始文件中有多个图层,
Var
变量是一个三维数组(前两维为空间,第三维为时间,一个时间点对应一个图层),这里使用[,,1]
仅保留第一个图层的数据。
第二,将属性数据和经纬度整合到一个数据框中。
上步中,提取的变量Var
、LAT
和Lon
都是和栅格单元等尺寸的数据框,使用c()
函数可以将数据框按列转为向量,再将每个向量作为新数据框的一列,这样每行就表示一个栅格单元的属性数据及其对应的经纬度了。
data <- data.frame(var = c(Var),lat = c(LAT),lon = c(LON))
第三,将新生成的数据框转为sf格式的矢量数据。
这一点在sf
工具包的系列推文中已有介绍。
data_sf <- st_as_sf(data, crs = 4326,coords = c(x = "lon", y = "lat"))
crs
参数需根据实际情况设定。
至此,就把原先分离的属性信息和经纬度信息整合到同一个文件中,并把经纬度作为几何信息了。
这里得到的矢量信息实际上是点对象,如果生成的是网格对象的话就可以直接绘图了。
绘图时,如果需要进行空间裁剪,sf
矢量数据使用的函数是st_filter()
,栅格数据使用的是mask()
和crop()
。具体可见以下相关推文:
sf | 空间矢量对象的属性连接方法
raster | R语言中的空间栅格对象及其基本处理方法(Ⅲ):切片/掩膜、图层叠加
技巧 | 栅格的属性数据和经纬度是分开的两个文件,怎么将它们整合到同一个文件上...相关推荐
- html文件怎么导出stl文件,各种3D建模软件导出STL文件的小技巧(一)
很多用户在提交3D模型文件的时候,常常有这样的困惑:什么是STL 格式文件,怎么获取STL 格式文件呢?STL 格式文件是在计算机图形应用系统中,用于表示三角形网格的一种文件格式.它也是3D打印机在执 ...
- html文件用wps打开,wps文件如何打开?直接打开wps文件的操作技巧
wps文件如何打开?wps office是金山开发的一款办公软件套装,它的文件格式和Microsoft office的格式是不一样的,如果你的电脑上没有安装wps办公软件,那么对于wps表格文件.et ...
- 计算机表格怎么同时选中分开的两项,excel怎么把三个单元格分成两个
1. excel表 三个表格合并后怎么拆分成两个 1.首先我们鼠标点击选中要拆分的大单元格 2.然后鼠标右击它,在在弹出的选项点击[设置单元格格式] 3.接着我们点击窗口上端的[对齐] 4.现在我们把 ...
- iPhone 实用技巧 之 快速使用iTools安装ipa软件。本节简单介绍如何使用iTools安装在iPhone上安装ipa软件
iPhone 实用技巧 之 快速使用iTools安装ipa软件.本节简单介绍如何使用iTools安装在iPhone上安装ipa软件,具体如下 目录 iPhone 实用技巧 之 快速使用iTools安装 ...
- 无法保存关闭文件 苹果电脑 显示正在保存_技巧精华第5期,带你了解DXF文件、Shift键、SHX形文件、工作空间...
CAD技巧精华❺|原创:就说我在开发区 CAD这种工具软件最大的特点就是入门容易提高难,在使用过程中伴随着各种问题的出现,往往有"横看成岭侧成峰,远近高低各不同"的困惑. 实际上, ...
- 电脑手机wifi互传文件_手机之间怎么互传文件?几则小技巧了解下
生活中或者工作中经常会涉及到传送文件,免不了需要通过手机来互传一些文件了,那么手机之间要怎么来实现互传文件呢?今天笔者就给大家分享四种实用却鲜为人知的文件互传小技巧,小本本记起来! 通过微信QQ互传 ...
- python文件操作实验总结,[干货分享]Python文件操作技巧总结
引言 小伙伴们,今天给大家讲解一下python程序下的文件操作完整技巧梳理,都是笔者总结的干货.通过本文阅读,不仅可以带来生产力提升,也可以开发小脚本为生活带来乐趣. 首先不知道大家对 ...
- python读取文件夹下所有文件的名字_一键汇总同一文件夹下所有表格,三种小技巧分享给你...
日常工作中我们经常会遇到多表合并的情况,手动粘贴复制过于麻烦,而且容易出错,今天分享三种汇总小技巧. 方法一 Windows批处理命令 如果需要汇总的表格是CSV格式(如下图所示,表格后缀为csv), ...
- python通过经纬度在地图标点_只要两步,用Python将地址标记在地图上!
本文就将讲解,给你一个地址,如何用Python进行可视化,只需要两步:将地址转成经纬度 根据经纬度在地图上标记点 一.将地址转成经纬度 首先我们需要将地理位置转成经纬度这种统一格式,方便代码去识别.完 ...
最新文章
- 如何查看已安装的CentOS版本信息
- 为什么要使用 Service Mesh?
- 服务器性能指标(二)——CPU利用率分析及问题排查
- gan怎么输入一维数据_时空序列预测模型GAN+LSTM
- Mybatis中tinyint(1)数据自动转化为boolean处理
- java logging 格式化_java.util.logging.Logger使用详解 (转)
- linux samba教程,Linux samba的配置和使用
- Linux 环境下 gzip 的加解密命令
- CCNA-3-Cisco静态路由
- spring新注解说明
- Matlab学习小结
- 如何开发网页3D游戏
- 多协议充电桩平台系统小程序方案
- 通知与服务——服务Service——服务的绑定与解绑延迟绑定服务与解绑服务
- 维嘉科技IPO被终止:年营收8亿 邱四军控制61%股权
- 【产品笔记】2.互联网产品修炼
- 万字长文细说 Code Review 的正确姿势
- Java并发编程面试题(2022最新版)
- 【渝粤题库】陕西师范大学165106 冲突与沟通管理作业 (高起专)
- 3GPP TS 23501-g51 中英文对照 | 4.4.6 5G LAN-type Services
热门文章
- Java基础学习总结(152)——JDK 1.7和 JDK 1.8中HashMap的实现有什么不同?
- 消息中间件学习总结(10)——Kafka、RabbitMQ、RocketMQ消息中间件的消息发送性能对比
- linux7 vi 末行 快捷键,vi 常用操作快捷键
- hystrix 页面_《SpringCloud微服务之Hystrix组件》
- lisp的vla函数画矩形_利用Lisp做Tin三角网建模(源代码)
- IOError: cannot open resource
- C语言的声明的优先级规则
- HDFS基本原理及数据存取实战
- 《微信公众平台入门到精通》,青龙老贼,详情版本
- VS2008的C++TR1库已经支持正则表达式