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】:定义 CRS 的 PROJ4 字符串,如果默认值 (NULL),则从 GDAL 数据集中读取该值。
参数【stringsAsFactors】:逻辑:字符向量是否应该转换为因子?默认 NA,它使用 R < 4.1.0 中已弃用的 default.stringsAsFactors()(请参阅 link[base]{data.frame})。在 R 4 之前,字符串默认转换为因子,作为参数值 TRUE。
参数【drop_unsupported_fields】:默认值为 FALSE,如果为 TRUE,则跳过 String、Integer 和 Real 以外的字段;Date、Time 和 DateTime 将转换为 String。
参数【pointDropZ】:默认值为 FALSE,如果为 TRUE,则丢弃点几何图形的第三个坐标;对于线和多边形几何图形,始终丢弃第三个坐标。
参数【dropNULLGeometries】:默认值为 TRUE,删除声明的 NULL 几何图形和没有坐标的空几何图形;如果为 FALSE,则返回具有 NULL 属性值和空几何值的数据框。从 1.3-6 开始,当根本没有几何图形时,设置 FALSE 也有效,返回包含所有 FID 的 data.frame。
参数【useC】:默认值为 TRUE,如果为 FALSE,则在循环中使用原始解释代码。
参数【disambiguateFIDs】:默认值为 FALSE,如果 TRUE 且 FID 值不唯一,则对于 N 个要素,它们将设置为唯一值 1:N;在 GML 文件中观察到的问题。
参数【addCommentsToPolygons】:默认值为 TRUE,对于旧行为,可以设置为 FALSE;用于指示哪些内环是孔,哪些外环符合 OGC SFS 规范。
参数【encoding】:默认值 NULL(如果设置为字符串),并且驱动程序为 “ESRI Shapefile”,参数【use_iconv】为 FALSE,则在读取 shapefile 的 DBF 之前立即将其传递给 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】:将 SRS 从 GDAL 内部转储到 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")