在readOGR期间定义属性类

时间:2016-10-04 19:01:25

标签: r rgdal

导入时是否有可能声明属性列的数据类型,例如,带有readOGR命令的ESRI Shapefile?

例如,我想在我的关键列(id_code)中保留前导零:

example<- readOGR(example.shp", example")
str(example@data) 
#'data.frame': 7149 obs. of  22 variables:
# $ id_code: num  101 102 103 104 105 106 107 108 109 110 ...

结果应该是这样的:

str(example@data) 
#'data.frame': 7149 obs. of  22 variables:
# $ id_code: char  "0101" "0102" "0103" "0104" "0105" "0106"...

我在colClasses函数

中寻找与read.csv()类似的内容

1 个答案:

答案 0 :(得分:0)

是的,您可以在导入时通过指定encoding中的ogrDriversuse_iconvreadOGR选项来声明数据类型。

请参阅?readOGR

来自encoding选项的文档:

  

默认为NULL,如果设置为字符串,则驱动程序为“ESRI   Shapefile“,而use_iconv为FALSE,它被传递给CPL选项   在读取shapefile的DBF之前立即“SHAPE_ENCODING”。如果   use_iconv为TRUE,编码不为NULL,它将用于   将输入字符串从给定值转换为本机编码   系统/平台。

您可能还想查看ogrInfo