Packagergdalversion 1.6-7


Parameters

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()(请参阅 link[base]{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()函数的基本语法:

readOGR(dsn, layer, verbose = TRUE, stringsAsFactors = default.stringsAsFactors())

参数说明:

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

使用示例:

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

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")