Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用R从下载的gzip文件中提取KML文件?_R_Gunzip - Fatal编程技术网

如何使用R从下载的gzip文件中提取KML文件?

如何使用R从下载的gzip文件中提取KML文件?,r,gunzip,R,Gunzip,我正在尝试从web下载一个压缩文件,然后在其中提取单个kml文件。我尝试了几种不同的UTIL函数来解压和提取,但不确定如何获得可以开始使用的kml(在sf包中) zipFileName改编自 库(R.utils) gzFileURL这篇文章可能会有帮助:这里有答案 zipFileName <- "http://satepsanone.nesdis.noaa.gov/pub/volcano/FIRE/HMS_ARCHIVE/2010/KML/smoke20100101.kml.gz" s

我正在尝试从web下载一个压缩文件,然后在其中提取单个kml文件。我尝试了几种不同的UTIL函数来解压和提取,但不确定如何获得可以开始使用的kml(在sf包中)

zipFileName改编自

库(R.utils)
gzFileURL这篇文章可能会有帮助:这里有答案
zipFileName <- "http://satepsanone.nesdis.noaa.gov/pub/volcano/FIRE/HMS_ARCHIVE/2010/KML/smoke20100101.kml.gz"
  smokeFileName <- "smoke20100101.kml"

  temp <- tempfile()
  download.file(url = zipFileName, destfile = temp)



  untar(tarfile = temp, files = smokeFileName)
  # Error in getOctD(x, offset, len) : invalid octal digit


  untar(tarfile = zipFileName, files = smokeFileName)
  # Error in gzfile(path.expand(tarfile), "rb") : cannot open the connection
  # In addition: Warning message:
  #   In gzfile(path.expand(tarfile), "rb") :
  #   cannot open compressed file 'http://satepsanone.nesdis.noaa.gov/pub/volcano/FIRE/HMS_ARCHIVE/2010/KML/smoke20100101.kml.gz', probable reason 'Invalid argument'

  unz(temp, smokeFileName)
  # A connection with                                                                                                     
  # description "C:\\Users\\jvargo\\AppData\\Local\\Temp\\RtmpemFaXC\\file33f82dd83714:smoke20100101.kml"
  # class       "unz"                                                                                    
  # mode        "r"                                                                                      
  # text        "text"                                                                                   
  # opened      "closed"                                                                                 
  # can read    "yes"                                                                                    
  # can write   "yes"
library(R.utils)

 gzFileURL <- "http://satepsanone.nesdis.noaa.gov/pub/volcano/FIRE/HMS_ARCHIVE/2010/KML/smoke20100101.kml.gz") 

  smokeZipName <-"smoke20100101.kml.gz"
  smokeFileName <- "smoke20100101.kml"

  directory <- tempdir()

  setwd(directory)

  temp <- tempfile(pattern = "", fileext = ".kml.gz")

  download.file(url = gzFileURL, destfile = temp)

  gunzip(temp)

  kmlFile <- list.files(tempdir(), pattern = ".kml")

  layers <- st_layers(kmlFile)$name