gpt4 book ai didi

r - 列出可用的 WFS 图层并使用 rgdal 读入数据帧

转载 作者:行者123 更新时间:2023-12-04 17:26:34 24 4
gpt4 key购买 nike

根据不同的来源,我有以下问题,它应该能够使用 rgdal 读取 R 中的 WFS 层.

dsn<-"WFS:http://geomap.reteunitaria.piemonte.it/ws/gsareprot/rp-01/areeprotwfs/wfs_gsareprot_1?service=WFS&request=getCapabilities"

ogrListLayers(dsn)
readOGR(dsn,"SIC")

该代码的结果应该是 1) 列出可用的 WFS 层和 2) 将特定层 (SIC) 作为 Spatial(Points)DataFrame 读入 R。

我尝试了其他几个 WFS 服务器,但它不起作用。
我总是收到警告:
Cannot open data source

检查 WFS 驱动程序我得到以下结果:
> "WFS" %in% ogrDrivers()$name
[1] FALSE

好吧,看起来 WFS 驱动程序没有在 rgdal 中实现(还有吗?)
或者为什么有这么多“声称”相反的例子?

我也试过 gdalUtils打包并且运行良好,但它给出了 ogrinfo.exe 的整个控制台消息,而不仅仅是可用层。(我猜它“只是”调用了 ogrinfo.exe 并将结果发送回 R,就像使用 r shellsystem 命令)。

好吧,有谁知道我做错了什么,或者是否可以使用 rgdal 做类似的事情?或任何类似的包?

最佳答案

您可以组合这两个包来完成您的任务。

首先,使用 gdalUtils 将您需要的图层转换为本地 shapefile .然后,使用 rgdal像平常一样。注意:您会在 ogr2ogr 之后看到一条警告消息调用,但它对我进行了很好的转换。另外,ogr2ogr没有 overwrite 不会覆盖本地文件参数为 TRUE (还有其他可能有用的参数)。

library(gdalUtils)
library(rgdal)

dsn <- "WFS:http://geomap.reteunitaria.piemonte.it/ws/gsareprot/rp-01/areeprotwfs/wfs_gsareprot_1?service=WFS&request=getCapabilities"

ogrinfo(dsn, so=TRUE)
## [1] "Had to open data source read only."
## [2] "INFO: Open of `WFS:http://geomap.reteunitaria.piemonte.it/ws/gsareprot/rp-01/areeprotwfs/wfs_gsareprot_1?service=WFS&request=getCapabilities'"
## [3] " using driver `WFS' successful."
## [4] "1: AreeProtette"
## [5] "2: ZPS"
## [6] "3: SIC"

ogr2ogr(dsn, "sic.shp", "SIC")

sic <- readOGR("sic.shp", "sic", stringsAsFactors=FALSE)
## OGR data source with driver: ESRI Shapefile
## Source: "sic.shp", layer: "sic"
## with 128 features
## It has 23 fields

plot(sic)

enter image description here
str(sic@data)

## 'data.frame': 128 obs. of 23 variables:
## $ gml_id : chr "SIC.510" "SIC.472" "SIC.470" "SIC.508" ...
## $ objectid : chr "510" "472" "470" "508" ...
## $ inspire_id: chr NA NA NA NA ...
## $ codice : chr "IT1160026" "IT1160017" "IT1160018" "IT1160020" ...
## $ nome : chr "Faggete di Pamparato, Tana del Forno, Grotta delle Turbiglie e Grotte di Bossea" "Stazione di Linum narbonense" "Sorgenti del T.te Maira, Bosco di Saretto, Rocca Provenzale" "Bosco di Bagnasco" ...
## $ cod_tipo : chr "B" "B" "B" "B" ...
## $ tipo : chr "SIC" "SIC" "SIC" "SIC" ...
## $ cod_reg_bi: chr "1" "1" "1" "1" ...
## $ des_reg_bi: chr "Alpina" "Alpina" "Alpina" "Alpina" ...
## $ mese_istit: chr "11" "11" "11" "11" ...
## $ anno_istit: chr "1996" "1996" "1996" "1996" ...
## $ mese_ultmo: chr "2" NA NA NA ...
## $ anno_ultmo: chr "2002" NA NA NA ...
## $ sup_sito : chr "29396102.9972" "82819.1127" "7272687.002" "3797600.3563" ...
## $ perim_sito: chr "29261.8758" "1227.8846" "17650.289" "9081.4963" ...
## $ url1 : chr "http://gis.csi.it/parchi/schede/IT1160026.pdf" "http://gis.csi.it/parchi/schede/IT1160017.pdf" "http://gis.csi.it/parchi/schede/IT1160018.pdf" "http://gis.csi.it/parchi/schede/IT1160020.pdf" ...
## $ url2 : chr "http://gis.csi.it/parchi/carte/IT1160026.djvu" "http://gis.csi.it/parchi/carte/IT1160017.djvu" "http://gis.csi.it/parchi/carte/IT1160018.djvu" "http://gis.csi.it/parchi/carte/IT1160020.djvu" ...
## $ fk_ente : chr NA NA NA NA ...
## $ nome_ente : chr NA NA NA NA ...
## $ url3 : chr NA NA NA NA ...
## $ url4 : chr NA NA NA NA ...
## $ tipo_geome: chr "poligono" "poligono" "poligono" "poligono" ...
## $ schema : chr "Natura2000" "Natura2000" "Natura2000" "Natura2000" ...

关于r - 列出可用的 WFS 图层并使用 rgdal 读入数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32034495/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com