Questions tagged «sf»

3
从R中的简单要素对象提取data.frame
有没有一种简单的(即“正确”)方法从简单要素对象中提取除几何列以外的所有内容?这有效 df <- dplyr::select(as.data.frame(sf), -geometry) 但此select( , -geometry)步骤感觉不必要。同样,它不会删除几何属性。
43 r  sf 

2
R将SF对象转换回SpatialPolygonsDataFrame
如何将sf对象转换回SpatialPolygonsDataFrame? 我正在运行R 3.4.0和SF版本0.4.1。该SF文件中提到的as_Spatial功能,但这不是提供我的安装(出于某种原因)。
27 r  sf 

4
在R中裁剪简单要素对象
是否有用于裁剪sf映射对象的函数,类似于maptools::pruneMap(lines, xlim= c(4, 10), ylim= c(10, 15))用于SpatialPolygon或SpatialLine的函数? 我正在考虑,st_intersection()但是可以有适当的方法。
20 r  clip  sf 

1
R中的Lon-Lat到简单功能(sfg和sfc)
如何将lon-lat点转换为简单要素(sfg),然后将其放入简单要素集合(sfc)中? 这是一个不起作用的MWE,但它是我所获得的最接近的MWE。 library(data.table) library(sf) # The DT data.table is the data I have (but 10,000s of rows, each row is a point) DT <- data.table( place=c("Finland", "Canada", "Tanzania", "Bolivia", "France"), longitude=c(27.472918, -90.476303, 34.679950, -65.691146, 4.533465), latitude=c(63.293001, 54.239631, -2.855123, -13.795272, 48.603949), crs="+proj=longlat +datum=WGS84") DT[, rowid:=1:.N] # The following two rows do …
20 r  sf 

1
等价于sp包在多边形中的点/使用sf覆盖
我正在将代码从sp包迁移到较新的sf包。我之前的代码中有一个多边形SpatialDataFrame(censimentoMap)和一个SpatialPointDataFrame(indirizzi.sp),并使用下面的指令获取了放置在其中的每个点的多边形单元格ID(“ Cell110”): points.data <- over(indirizzi.sp, censimentoMap[,"Cell110"]) 实际上,我创建了两个SF对象: shape_sf <- st_read(dsn = shape_dsn) shape_sf <- st_transform(x=shape_sf, crs=crs_string) 和 indirizzi_sf = st_as_sf(df, coords = c("lng", "lat"), crs = crs_string) 而且我正在寻找上述说明的SF…可能是: ids<-sapply(st_intersects(x=indirizzi_sf,y=shshape_sfpeCrif), function(z) if (length(z)==0) NA_integer_ else z[1]) cell_ids <- shape_sf[ids,"Cell110"]
16 r  overlay  sp  sf 

1
简化SF对象的多边形
如何在sf不引入间隙和裂缝的情况下简化多边形? 以shapefile为例,我将使用rmapshaper::ms_simplify(): library("pryr") library("rgdal") library("rmapshaper") download.file("https://borders.ukdataservice.ac.uk/ukborders/easy_download/prebuilt/shape/England_gor_2011.zip", destfile = "regions.zip") unzip("regions.zip") regions <- readOGR(".", "england_gor_2011") object_size(regions) # ~13MB regions <- ms_simplify(regions) object_size(regions) # < 1MB 我尝试过sf::st_cast()手册页中指出的内容: 将几何体转换为另一种类型:简化或显式转换 和: 争论:性格 目标类型,如果缺少,则尝试简化;当x为sfg类型(即单个几何)时,则需要指定to。 当我to遗失时,它并没有按预期工作(我知道实在太好了!): library("sf") regions <- sf::read_sf("england_gor_2011.shp") object_size(regions) # ~13MB regions <- sf::st_cast(regions) object_size(regions) # Still 13MB 目前,我正在使用打开文件rgdal::readOGR(),进行简化,保存,然后使用重新加载sf。 有没有更好的办法? rgeos::gSimplify() rgeos::gSimplify()当使用以下参数指定时,@sk的建议可以进行拓扑感知的简化(即在不创建条的情况下进行简化): library("rgeos") regions_gSimplify …
14 r  simplify  sf 

2
如何从R包SF组合SFC对象
使用R包sf,如何组合sfc对象?例如,给定以下代码,将如何创建包含来自和的几何的单个sfc对象?(应为2。)sfc12sfc1sfc2length(sfc12) library(sf) pt1 = st_point(c(0,1)) pt2 = st_point(c(1,1)) sfc1 = st_sfc(pt1) # An sfc object sfc2 = st_sfc(pt2) # Another sfc object # sfc12 = ? 一些无效的方法: sf_sfc(sfc1, sfc2) # Error in vapply(lst, class, rep("", 3)) : values must be length 3, # but FUN(X[[1]]) result is length 2 sfc1 …
12 r  sf 

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 
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.