R语言【rgdal】——在 2023 年软件包停用/存档之前,rgdal 中累计弃用的函数和方法:readOGR()

Package rgdal version 1.6-7


Parameters

R 复制代码
readOGR(dsn, layer, verbose = TRUE, p4s=NULL, 
 stringsAsFactors=as.logical(NA), 
 drop_unsupported_fields=FALSE,
 pointDropZ=FALSE, dropNULLGeometries=TRUE,
 useC=TRUE, disambiguateFIDs=FALSE, addCommentsToPolygons=TRUE,
 encoding=NULL, use_iconv=FALSE, swapAxisOrder=FALSE, require_geomType = NULL,
 integer64="no.loss", GDAL1_integer64_policy=FALSE, morphFromESRI = NULL,
 dumpSRS = FALSE, enforce_xy = NULL, D3_if_2D3D_points=FALSE, missing_3D=0)

参数【dsn】:数据源名称(解释因驱动程序而异 --- 对于某些驱动程序,DSN 是文件名,但也可能是文件夹)。

参数【layer】:图层名称(因驱动程序而异,可能是不带扩展名的文件名)。从 rgdal 1.2.* 开始,图层可能丢失,在这种情况下,ogrListLayers 会检查参数【dsn】,如果没有图层,则失败,如果只找到一层,则静默读取唯一的图层,如果存在多个图层,则读取第一层,发出应显式给出图层的警告。

参数【verbose】:默认值为 TRUE,对于 PROJ >=6,用于显示使用的坐标运算。

参数【p4s】:定义 CRSPROJ4 字符串,如果默认值 (NULL),则从 GDAL 数据集中读取该值。

参数【stringsAsFactors】:逻辑:字符向量是否应该转换为因子?默认 NA,它使用 R < 4.1.0 中已弃用的 default.stringsAsFactors()(请参阅 linkbase{data.frame})。在 R 4 之前,字符串默认转换为因子,作为参数值 TRUE

参数【drop_unsupported_fields】:默认值为 FALSE,如果为 TRUE,则跳过 StringIntegerReal 以外的字段;DateTimeDateTime 将转换为 String。

参数【pointDropZ】:默认值为 FALSE,如果为 TRUE,则丢弃点几何图形的第三个坐标;对于线和多边形几何图形,始终丢弃第三个坐标。

参数【dropNULLGeometries】:默认值为 TRUE,删除声明的 NULL 几何图形和没有坐标的空几何图形;如果为 FALSE,则返回具有 NULL 属性值和空几何值的数据框。从 1.3-6 开始,当根本没有几何图形时,设置 FALSE 也有效,返回包含所有 FIDdata.frame

参数【useC】:默认值为 TRUE,如果为 FALSE,则在循环中使用原始解释代码。

参数【disambiguateFIDs】:默认值为 FALSE,如果 TRUEFID 值不唯一,则对于 N 个要素,它们将设置为唯一值 1:N ;在 GML文件中观察到的问题。

参数【addCommentsToPolygons】:默认值为 TRUE,对于旧行为,可以设置为 FALSE;用于指示哪些内环是孔,哪些外环符合 OGC SFS 规范。

参数【encoding】:默认值 NULL(如果设置为字符串),并且驱动程序为 "ESRI Shapefile",参数【use_iconv】为 FALSE,则在读取 shapefileDBF 之前立即将其传递给 CPL 选项**"SHAPE_ENCODING"**。如果参数【use_iconv】为 TRUE,并且编码不是 NULL,则它将用于将输入字符串从给定值转换为系统/平台的本机编码。

参数【use_iconv】:默认值为 FALSE;如果 TRUE且编码不为 NULL,则它将用于将输入字符串从给定值转换为系统/平台的本机编码。

参数【swapAxisOrder】:默认为 FALSE,如果为 TRUE,则将 y 坐标视为东向,将 x 视为北向,这与假设的顺序相反;如果某些 OGR 读取驱动程序未按预期运行,则可能需要这样做。

参数【require_geomType】:默认值为 NULL,如果为:c("wkbPoint", "wkbLineString", "wkbPolygon") 之一,则在具有多种几何类型的输入中,将读取所选类型。

参数【integer64】:默认为 "No.loss"(来自 RGDAL 1.2.* )。从 GDAL 2 开始,要读取的字段也可以采用 Integer64 值。由于 R 没有这样的存储模式,因此提供了三个选项,类似于用于数字转换的 type.convert"allow.loss",它钳制为 32 位有符号整数(默认**< rgdal 1.2** ),"warn.loss" - 作为 "allow.loss",但在钳制发生时发出警告,以及 "no.loss",它使用 GDAL 默认应用的格式读取为字符串(默认值 >= rgdal 1.2 )。使用 64 位整数通常是一种误解,因为此类数据几乎总是一个长密钥 ID

参数【GDAL1_integer64_policy】:默认值为 FALSE,如果为 TRUE,则 Integer64字段读取为双精度。

参数【morphFromESRI】:默认 NULL,从 ESRI WKT1 方言变形。

参数【dumpSRS】:将 SRSGDAL 内部转储到stdout进行调试转换 - 仅供开发人员使用。

参数【enforce_xy】:(PROJ6+/GDAL3+) 使用全局设置(默认 NULL)或覆盖策略对坐标排序 东向/x 为第一轴,北向/y 为第二轴。

参数【D3_if_2D3D_points】:混合 2D/3D 跟踪点的情况 - 将 TRUE 设置为 3D 以通过。

参数【missing_3D】:默认值为 0,可能是有限实数。


Conclusion

readOGR()是R语言中rgdal包中的一个函数,用于读取地理空间数据。它可以读取各种格式的矢量数据,如Shapefile、GeoJSON等,并将其转换为Spatial对象。

下面是readOGR()函数的基本语法:

R 复制代码
readOGR(dsn, layer, verbose = TRUE, stringsAsFactors = default.stringsAsFactors())

参数说明:

  • dsn: 数据源的路径,可以是文件夹路径或单个文件路径。
  • layer: 要读取的图层名称,对于Shapefile来说,通常是文件名(不包括后缀);对于其他格式的文件,可以是图层名称或索引。
  • verbose: 是否显示详细信息,默认为TRUE。
  • stringsAsFactors: 是否将字符串转换为因子,默认采用全局设置。

使用示例:

R 复制代码
library(rgdal)

# 读取Shapefile文件
shapefile <- readOGR("path/to/shapefile", layer = "layer_name")

# 读取GeoJSON文件
geojson <- readOGR("path/to/geojson_file.geojson")

readOGR()函数返回一个Spatial对象,可以通过该对象访问和操作地理空间数据。例如,可以使用plot()函数绘制地图,使用summary()函数查看数据的摘要统计信息,以及执行其他地理空间分析操作。

需要注意的是,在使用readOGR()函数之前,需要确保已正确安装和加载了rgdal包以及其依赖项,例如GDAL库。


Examples

R 复制代码
cities <- readOGR(dsn=dsn, layer="cities")

cities <- readOGR(dsn=dsn, layer="cities", GDAL1_integer64_policy=TRUE)

kiritimati_primary_roads <- readOGR(dsn=dsn, layer="kiritimati_primary_roads")

scot_BNG <- readOGR(dsn=dsn, layer="scot_BNG")

ps_cant_31 <- readOGR(dsn=dsn, layer="ps_cant_31")

ps_cant_31 <- readOGR(dsn=dsn, layer="ps_cant_31", stringsAsFactors=FALSE)

Up <- readOGR(dsn=dsn, layer="Up")

test_trk2 <- try(readOGR(dsn=dsn, layer="tracks"))

plot(readOGR(dsn, "PacoursIKA2", require_geomType="wkbLineString"), col="red")

str(readOGR("test64.vrt", "test64", verbose=FALSE, integer64="allow.loss")$val)

cities <- readOGR(system.file("vectors", package = "rgdal")[1], "cities")
相关推荐
科技道人15 小时前
记录 默认置灰/禁用 app ‘Search Engine Selector‘ 的disable按钮
开发语言·前端·javascript
逝水无殇17 小时前
C# 异常处理详解
开发语言·后端·c#
玖玥拾19 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
铅笔侠_小龙虾19 小时前
Rust 学习目录
开发语言·学习·rust
云泽80820 小时前
从零吃透 C++ 异常:抛出捕获、栈展开、异常重抛与编码规范详解
开发语言·c++·代码规范
灯澜忆梦20 小时前
GO---可见性规则
开发语言·golang
逝水无殇20 小时前
C# 文件的输入与输出详解
开发语言·数据库·后端·c#
这是个栗子21 小时前
前端开发中的常用工具函数(八)
开发语言·前端·javascript
凤凰院凶涛QAQ21 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
研☆香21 小时前
为什么变量声明在赋值前也能使用?—— 深入理解 JavaScript 变量提升与作用域
开发语言·前端·javascript