使用R

时间:2018-04-20 15:51:39

标签: r list landsat

我有一个包含带有8个tif文件的LANDSAT图像的文件夹。

list.files("C:/Users/Documents/04.HUMEDALES/L5__002072-09MAY-2006",  pattern = glob2rx("*.TIF"),full.names = TRUE) 

如图所示:

[1] "C:/Users/Documents/L5__002072-09MAY-2006/LT05_L1TP_002072_20060509_20161121_01_T1_B1.TIF" 
[2] "C:/Users/Documents/L5__002072-09MAY-2006/LT05_L1TP_002072_20060509_20161121_01_T1_B2.TIF" 
[3] "C:/Users/Documents/L5__002072-09MAY-2006/LT05_L1TP_002072_20060509_20161121_01_T1_B3.TIF" 
[4] "C:/Users/Documents/L5__002072-09MAY-2006/LT05_L1TP_002072_20060509_20161121_01_T1_B4.TIF" 
[5] "C:/Users/Documents/L5__002072-09MAY-2006/LT05_L1TP_002072_20060509_20161121_01_T1_B5.TIF" 
[6] "C:/Users/Documents/L5__002072-09MAY-2006/LT05_L1TP_002072_20060509_20161121_01_T1_B6.TIF" 
[7] "C:/Users/Documents/L5__002072-09MAY-2006/LT05_L1TP_002072_20060509_20161121_01_T1_B7.TIF" 
[8] "C:/Users/Documents/L5__002072-09MAY-2006/LT05_L1TP_002072_20060509_20161121_01_T1_BQA.TIF"

如何仅列出1到5和7频段的tif文件? 我找不到合适的模式。这是我最接近的(只删除最后一个文件:BQA.tif)

list.files("C:/Users/Documents/04.HUMEDALES/L5__002072-09MAY-2006", pattern = glob2rx("*B?.TIF"), full.names = TRUE)

1 个答案:

答案 0 :(得分:3)

从这组文件:

> list.files(".")
 [1] "bar-foo_B1.tif"  "bar-foo_B2.tif"  "bar-foo_B3.tif"  "bar-foo_B4.tif" 
 [5] "bar-foo_B5.tif"  "bar-foo_B6.tif"  "bar-foo_B7.tif"  "bar-foo_BQA.tif"
 [9] "foo_B1.tif"      "foo_B2.tif"      "foo_B3.tif"      "foo_B4.tif"     
[13] "foo_B5.tif"      "foo_B6.tif"      "foo_B7.tif"      "foo_BQA.tif"    

我可以选择使用这个正则表达式匹配任何东西(。*),B,1到5和7,然后" .tif"然后是文件名的结尾:

> list.files(".",pattern=".*B[123457]\\.tif$", ignore.case=TRUE)
 [1] "bar-foo_B1.tif" "bar-foo_B2.tif" "bar-foo_B3.tif" "bar-foo_B4.tif"
 [5] "bar-foo_B5.tif" "bar-foo_B7.tif" "foo_B1.tif"     "foo_B2.tif"    
 [9] "foo_B3.tif"     "foo_B4.tif"     "foo_B5.tif"     "foo_B7.tif"