2016-10-04 85 views
0

导入时,是否可以声明属性列的数据类型,例如,使用readOGR命令的ESRI Shapefile?定义readOGR期间的属性类

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

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

结果应该的东西是这样的:

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

我在寻找的东西类似colClassesread.csv()函数

回答

0

是的,你可以声明数据类型时导入通过指定th e encoding,ogrDriversuse_iconv选项readOGR

请参阅?readOGR

从已encoding选项的文档:

默认为NULL,如果设置为一个字符串,并且驾驶员“ESRI shape文件”,并use_iconv为假时,传递到CPL选件 “SHAPE_ENCODING”在读取shapefile的DBF之前。如果 use_iconv为TRUE,且编码不为NULL,则将用于 将输入字符串从给定值转换为系统/平台的本机编码 。

您可能还想研究ogrInfo

+0

我读过'?readOGR',但仍然无法弄清楚它是否正确。 [vignette](https://cran.r-project.org/web/packages/rgdal/vignettes/OGR_shape_encoding.pdf)也没有帮助。 你能举个例子吗? – Bushroot