Questions tagged «r»

统计计算语言和软件环境。

3
在ArcGIS Desktop中使用R吗?
我已经使用了R与QGIS 的集成,并发现它是非常实用的工具。看过R工具箱的9 扩展和10的扩展后,它们似乎都只提供点聚类来演示概念验证。 R中可用的其他分析方法是否可以通过python脚本在ArcGIS Desktop中实现(例如,实现spatstat包的特定部分)?

3
将多个SpatialPolygonDataFrames合并到R中的1个SPDF中?
我在QGIS中创建了2个多边形。在R中使用它们,多边形将自动变为SpatialPolygonsDataFrame(SPDF)。我想将它们合并为单个SPDF(这在ArcGis中使用Tool Merge极为简单)。我确信应该有一种简单的方法来完成R中的操作,但是我找不到方法。该合并功能似乎只合并data.frames,聚合函数溶解多个多边形为一个SHP,gIntersect(由打字加入功能)返回逻辑值,而不是在所有的SPDF。 数据可在此处获取:http : //ulozto.cz/xpoo5jfL/ab-zip library(sp) library(raster) library(rgeos) library(spatstat) library(rgdal) library(maptools) setwd("C:/...") a<-readOGR(dsn=getwd(), layer="pol.a") b<- readOGR(dsn=getwd(), layer="pol.b") ab<-merge(a, b) # what tool if not "merge" to use??

3
将空间点数据连接到R中的多边形
此问题是从Stack Overflow 迁移而来的,因为可以在Geographic Information Systems Stack Exchange上回答。 迁移 4年前。 我正在尝试在点数据和面数据之间执行空间连接。 我的csv文件A中有指示事件空间坐标的数据,还有另一个文件shapefile B,该文件以多边形形式包含区域的边界。 head(A) month longitude latitude lsoa_code crime_type 1 2014-09 -1.550626 53.59740 E01007359 Anti-social behaviour 2 2014-09 -1.550626 53.59740 E01007359 Public order 3 2014-09 -1.865236 53.93678 E01010646 Anti-social behaviour head(B@data) code name altname 0 E05004934 Longfield, New Barn and Southfleet …

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 …

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

4
如何生成包含最少n个点的不规则网格?
给定大量(约100万个)不均匀分布点的样本-是否可以生成包含指定最小n点数量的不规则网格(大小,但形状是否可能不规则?)? 对于我来说,如果这样的网格的“细胞”精确地包含n个点或至少n个点,那么对我来说就不那么重要了。 我知道诸如ArcGIS中的genvecgrid或QGIS / mmgis中的Create Grid Layer之类的解决方案,但是它们都会创建常规网格,从而导致输出的单元格为空(较小的问题-我可以简单地丢弃它们)或具有点数的单元格小于n(更大的问题,因为我需要一种解决方案来聚合这些单元格,可能使用此处的一些工具?)。 我一直闲逛无济于事,并且对商业(ArcGIS和扩展)或免费(Python,PostGIS,R)解决方案都开放。
20 r  clustering  quadtree 

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
为什么Twitter上的地理位置“四舍五入”?
我正在绘制(lon, lat)使用7mi的Stream API收集的推文的一些地理位置。半径。下图显示了两个具有相同数据的地图,但每个观察结果使用不同的alpha /透明度。 查看左侧的地图,我注意到地理位置大多遵循带有特定节点的一种虚构“网格”。任何人都可以帮助我了解为什么会出现这种模式? 当然,我在坐标中确实有四舍五入,例如: "loc: 42.7388,13.1798" "loc: 42.6252,13.2948" "loc: 42.6008,13.293" "loc: 42.73,13.2028" "loc: 42.66918468,13.27893702" 但是我的问题是,既然我假设Twitter API将保证相同的精度,为什么会进行这些舍入?
19 r  geolocation  twitter 

4
如何将空间多边形转换为SpatialPolygonsDataFrame并在属性表中添加一列
coast<-readShapeSpatial("coastline.shp") landc<-readShapeSpatial("landcover.shp") ro<-readShapeSpatial("roads.shp") bc<-gBuffer(ro,width=100) landc$ratings=1 landc$ratings[landc$LANDUSE_ID==4]=0 上面,我选择任何具有4的类别,并在新列中将其设置为0。 在这一点上,我想命名列ratings以及为bc,它会采取0,如果它是缓冲区内,1,如果它在外面。问题是is bc是SpatialPolygons并且它不包含属性表。 显然要向SpatialPolygon对象添加列,您必须将其转换为SpatialPolygonsDataFrame,但我不知道如何。 我尝试了这个: buf_df<-as.data.frame(bc) s_po<-SpatialPolygonsDataFrame(bc,buf_df) s_po$ratings=0 但是会弹出此错误: row.names of data and Polygons IDs do not match
19 r  cartography 


1
莫兰I的强大替代品
Moran的I(一种衡量空间自相关的指标)并不是一个特别可靠的统计数据(它可能对空间数据属性的偏斜分布敏感)。 有哪些更健壮的技术来测量空间自相关?我对像R这样的脚本语言中易于使用/可实现的解决方案特别感兴趣。如果解决方案适用于独特的情况/数据分布,请在答案中指定。 编辑:我正在用一些示例扩展问题(以回应对原始问题的评论/答案) 有人建议,置换技术(使用蒙特卡洛程序生成Moran's I采样分布)提供了一种可靠的解决方案。我的理解是,这种测试消除了对Moran's I分布进行任何假设的需要(假设测试统计量可以受数据集的空间结构影响),但是,我看不到置换技术如何正常地校正分布式属性数据。我提供两个示例:一个示例说明了偏斜数据对局部Moran I的统计影响,另一个示例对整体Moran I的影响-即使在置换测试下也是如此。 我将使用Zhang 等。的(2008)分析为第一个例子。在他们的论文中,他们使用置换测试(9999个模拟)显示了属性数据分布对局部Moran I的影响。我已经使用原始数据(左图)和对相同数据的对数转换(右图)在GeoDa中重现了作者针对铅(Pb)浓度(在5%置信水平)的热点结果。还显示了原始Pb和对数转换后的Pb浓度的箱线图。在这里,转换数据时,重要热点的数量几乎翻了一番。此示例表明,即使使用蒙特卡洛技术,本地统计信息对属性数据的分布也很敏感! 第二个示例(模拟数据)演示了偏斜数据可能会对全局Moran I产生的影响,即使使用置换测试也是如此。R中的示例如下: library(spdep) library(maptools) NC <- readShapePoly(system.file("etc/shapes/sids.shp", package="spdep")[1],ID="FIPSNO", proj4string=CRS("+proj=longlat +ellps=clrk66")) rn <- sapply(slot(NC, "polygons"), function(x) slot(x, "ID")) NB <- read.gal(system.file("etc/weights/ncCR85.gal", package="spdep")[1], region.id=rn) n <- length(NB) set.seed(4956) x.norm <- rnorm(n) rho <- 0.3 # autoregressive parameter W <- nb2listw(NB) # …

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 并告诉我哪个字段包含哪种土壤类型,并取得了良好的效果。但是,如何获得该区域呢?

2
固定R中的孤立孔
在合并两个相邻的shapefile之后,我试图在一个公共字段上执行并集。shapefile最终在它们之间至少留有一小段空间。尝试并集时,出现以下孤立孔错误: createPolygonsComment(p)中的错误:rgeos_PolyCreateComment:孤立的孔,在索引17处找不到包含孔的多边形 我在此链接上将可复制的示例上传到Dropbox 。 这是重新创建问题的代码: #loading required packages require(sp) require(rgdal) require(maptools) require(rgeos) #load example data, set "dsn=" to your working directory or specify the path example <- readOGR(dsn=".",layer="ReproducibleExample") #Attempting a UnionSpatialPolygons based on the COUNTY field example.df <- as(example, "data.frame") countycol <- example.df$COUNTY example.diss <- unionSpatialPolygons(example, countycol) 返回值: createPolygonsComment(p)中的错误:rgeos_PolyCreateComment:孤立的孔,在索引17处找不到包含孔的多边形 尝试在此处和此处提出的修复程序: …
18 polygon  r  merge 

2
使用R将空间多边形对象转换为数据框
我的目标是通过合并某些多边形来修改现有的shapefile。 导入shapefile并使用UnionSpatialPolygons命令后,得到所需的多边形轮廓。 但是,现在这是一个SpatialPolygons对象,而不是SpatialPolygonsDataFrame,因此无法使用writeOGR将其导出到shapefile。 我该如何解决这个问题?
18 shapefile  cartography  r  ogr 

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.