Questions tagged «rgdal»

地理空间数据抽象库的R绑定


5
使用R从ESRI文件地理数据库(.gdb)读取表
我试图将一个表直接从ESRI文件地理数据库读取到R中。可以在此处下载示例数据文件。该数据库包含一个点要素类(Zone9_2014_01_Broadcast)和两个链接表(Zone9_2014_01_Vessel和Zone9_2014_01_Voyage)。你可以阅读使用R中的shape文件readOGR从rgeos包: library(rgeos) library(downloader) download("https://coast.noaa.gov/htdata/CMSP/AISDataHandler/2014/01/Zone9_2014_01.zip", dest="Zone9_2014_01.zip", mode="wb") unzip("Zone9_2014_01.zip", exdir = ".") # Not Run (loads large point file) # broadcast <- readOGR(dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_Broadcast") 当使用ogrListLayers或时,两个链接的表也会显示ogrInfo。但是,ogrInfo给出警告: 警告消息:在ogrInfo(“ Zone9_2014_01.gdb”,layer =“ Zone9_2014_01_Vessel”)中:ogrInfo:所有功能均为NULL 而且,如果您尝试readOGR在表格上使用,则会出现错误: vessel <- readOGR(dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel") readOGR(dsn =“ Zone9_2014_01.gdb”,layer =“ Zone9_2014_01_Vessel”)中的错误:未找到功能另外:警告消息:在ogrInfo(dsn = dsn,layer =图层,编码=编码,use_iconv = use_iconv …

3
检查点是否在多边形Shapefile中
Zillow 为美国主要城市的不同社区提供了一组shapefile。我想使用R检查某些社区中是否存在某些建筑物: library(rgeos) library(sp) library(rgdal) df <- data.frame(Latitude =c(47.591351, 47.62212,47.595152), Longitude = c(-122.332271,-122.353985,-122.331639), names = c("Safeco Field", "Key Arena", "Century Link")) coordinates(df) <- ~ Latitude + Longitude wa.map <- readOGR("ZillowNeighborhoods-WA.shp", layer="ZillowNeighborhoods-WA") sodo <- wa.map[wa.map$CITY == "Seattle" & wa.map$NAME == "Industrial District", ] 我可以毫无问题地绘图 plot(sodo) points(df$Latitude ~ df$Longitude, col = "red", …
19 r  rgdal  zillow 

2
在R中提取相交区域
我有两个多边形。一个包含字段(X,Y,Z),另一个包含土壤类型(A,B,C,D)。我想知道每个字段的哪个区域包含哪种类型的土壤。我尝试了以下方法: library(rgdal) library(rgeos) Field<-readOGR("./","Field") Soil<-readOGR("./","Soil") Results<-gIntersects(Soil,Field,byid=TRUE) rownames(Results)<-Field@data$FieldName colnames(Results)<-Soil@data$SoilType > Results A B C D Z TRUE FALSE FALSE FALSE Y FALSE TRUE TRUE FALSE X TRUE TRUE TRUE TRUE 并告诉我哪个字段包含哪种土壤类型,并取得了良好的效果。但是,如何获得该区域呢?

1
在R中创建给定栅格的范围和边界的多边形
我想创建两个多边形。 一是我的栅格的矩形范围。我知道我可以使用来获得栅格的范围 r <- raster("band5.tif") e <- extent(r) plot(e): 如何创建栅格边界的一个多边形,如下所示? 这是我的栅格的样子:
13 raster  r  rgdal 

2
使用gSimplify简化了带有空间多边形的writeOGR
我正在使用gSimplify(rgeos包)来简化shapefile的几何形状。该功能运行良好,但现在我无法在新的shapefile中写入输出。我尝试了一些方法: writeOGR(simplyshape, file, driver="ESRI Shapefile", layer='test') 我懂了 obj必须是SpatialPointsDataFrame,SpatialLinesDataFrame或SpatialPolygonsDataFrame 与: writePolyShape(simplyshape, file) 我得到: 错误:is(x,“ SpatialPolygonsDataFrame”)不是TRUE
12 shapefile  r  simplify  rgdal 

2
R-创建一个边界框,转换为Polygon类并绘制
我有 NE lat lng和SW lat lng。我的目标很简单,我使用的是RStudio,我想从上述两个纬度和经度创建一个边界框,然后生成多边形,并想向正方形多边形添加随机点。我在CSV文件中包含NELat / Lng和SW-Lat / Lng,可以将其导入到data.frame中。 我只需要一点指导就可以开始使用,对于R语言来说我是非常陌生的人,它与我以前所使用的完全不同。 到目前为止,我有这个: coords = cbind(78.46801, 19.53407) coordsmax = cbind(78.83157, 19.74557 ) sp = SpatialPoints(coordsmax) sp2 = SpatialPoints(coords) r1 = rbind(coords, coordsmax[1, ]) # join P1 = Polygon(r1) Ps1 = Polygons(list(P1), ID = "a") plot(Ps1) 我只是在其他地方看到了一些示例,但无法绘制4个角的多边形。
11 r  rgdal 

1
在R中使用writeOGR()将多层写入GeoPackage?
我试图在R中的同一GeoPackage中写入多个图层,但出现错误Creation of output file failed。我试图搜索使用RGDAL读写.gpkg文件的文档,例如,弄清楚是否writeOGR()实际上支持多层,但收效甚微。如果可能的话,这怎么可能呢?最小的工作示例: library(sp) library(maptools) library(rgdal) data(wrld_simpl) norway <- wrld_simpl[wrld_simpl$NAME == "Norway", ] sweden <- wrld_simpl[wrld_simpl$NAME == "Sweden", ] file <- tempfile("scandinavia", fileext = c(".gpkg")) writeOGR(norway, dsn = file, layer = "norway", driver = "GPKG") writeOGR(sweden, dsn = file, layer = "sweden", driver = "GPKG") ogrListLayers(file) 显然,有一个可以完成技巧的ogr2ogr shell命令(hat …
11 gdal  r  rgdal  geopackage  sf 

3
仅将ESRI shapefile的一部分读取到R中
我有一个很大的ESRI shapefile(> 8000个多边形,.shp文件> 32MB),我想在Windows 7上读入R。 我熟悉rgdal和readOGR()。但是,对于这种大小的shapefile,将整个shapefile读取到内存中的过程非常缓慢。此外,我只对shapefile中包含的8,000个聚集的多边形(<100个)感兴趣。我需要执行的过程是高度重复的,即shapefile需要加载多次,因此目前非常缓慢。 因此,我想知道是否有可能仅读取shapefile的一部分以加速该过程。加载如此大量的数据然后丢弃其中的大部分似乎不切实际。
10 shapefile  r  rgdal 

1
使用R处理向量以更快地栅格化
我正在将向量转换为R中的栅格。但是,过程太长了。是否可以将脚本放入多线程或GPU处理中以使其更快地执行? 我的脚本栅格化矢量。 r.raster = raster() extent(r.raster) = extent(setor) #definindo o extent do raster res(r.raster) = 10 #definindo o tamanho do pixel setor.r = rasterize(setor, r.raster, 'dens_imov') 光栅 类:RasterLayer尺寸:9636、11476、110582736(nrow,ncol,ncell)分辨率:10、10(x,y)范围:505755、620515、8555542、8651792(xmin,xmax,ymin,ymax)坐标。参考 :+ proj = longlat + datum = WGS84 + ellps = WGS84 + towgs84 = 0,0,0 设定者 类:SpatialPolygonsDataFrame功能:5419范围:505755,620515.4,8555429,8651792(xmin,xmax,ymin,ymax)坐标。参考 :+ proj = utm …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.