2016-10-04 26 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