使用 R 列出 LANDSAT 文件的一些波段
List some bands of a LANDSAT file using R
我有一个包含 LANDSAT 图像和 8 个 tif 文件的文件夹。
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)
来自这组文件:
> 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"
我可以 select 使用此正则表达式匹配任何内容 (.*)、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"
我有一个包含 LANDSAT 图像和 8 个 tif 文件的文件夹。
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)
来自这组文件:
> 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"
我可以 select 使用此正则表达式匹配任何内容 (.*)、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"