R正成为处理和分析空间数据的强大工具。我在SO这样的问题中学到了一些有用的东西,并认为类似的东西可能有用,但更面向“空间”。 ?
#1 楼
这并不是什么小把戏,而是spplot()
的漂亮内置功能。 spplot()
在讨论属性数据分布和分类类型时,可以缩放图例色标(以匹配分类突破范围),是一种有用的教学工具。将累积分布图与地图结合起来有助于实现这一目标。 学生只需修改一些脚本参数即可探索分类类型和数据转换效果。这通常是他们在以ArcGIS为主的课程中首次涉足R。
这是一个代码段:卢比奥)
评论
很酷!看起来很有用。
– djq
11年11月29日在17:22
PolyGeo作为主持人很烂
–雷达下方
16年6月20日在12:25
#2 楼
编辑:请注意,由于对Google地图源的新要求,这不再适用于2018-10-24。我很高兴找到带有地理编码和Google地图下载的dismo软件包: ,在此安装dismo及其依赖项很简单,不确定在其他系统上。
评论
这看起来非常有用-但是,我遇到了行e <-scope(x [4:7] + c(-0.001,0.001,-0.001,0.001))的问题,并且收到一条错误消息Error:c (“ x”,“ y”)%in%names(x)并非全为TRUE。 x [4:7]看起来不错;对问题可能有什么想法?
– djq
2011-11-25 17:07
是的,您需要一个可重现的示例
–mdsumner
2011-11-25 19:39
我正在尝试重现此答案中的示例,但它不起作用。 x <-地理编码(例如'110 George Street,Bathurst,NSW,澳大利亚')返回ZERO_RESULTS,例如,当我使用返回lat / long的示例时,函数e <-scope(x [4:7] + c (-0.001,0.001,-0.001,0.001))也失败。
– djq
11-11-27在21:18
这样做可能会有更优雅的方法,但是范围需要一个数字向量。因此,这可以满足e <-range(c(x [,4],x [,5],x [,6],x [,7])+ c(-0.001,0.001,-0.001,0.001))。
– djq
11年11月27日在21:29
以下内容也适用:e <-范围(as.numeric(x [4:7])+ c(-0.001,0.001,-0.001,0.001))
–snth
2011年11月28日在8:50
#3 楼
这是我收集的一些内容。
cran.r空间,
gmane博客,
时间序列分析,
geodatacenter
#4 楼
也不是一个技巧,但是这里是我收集的一些资源/示例。使用格包在R中绘制小型Areal数据多图的示例。关于StackOverflow的一些问题,询问有关映射和R的问题,这里有一个很好的例子。我还将查看SO上的其他答案以及它们提供的资源(以及寻找更多示例)。 。它非常活跃,Roger Bivand几乎每天在小组中回答问题。两者都与编程和统计分析有关。
除了检查颅骨空间页面外,我还建议特别检查由Adrian Baddeley维护的Spatstat页面。大量示例,课程和即将出版的电子书。 (此刻我一直在学习spatstat课程,我认为这比Bivand的书介绍的要温和得多。)
不是免费的资源,但是对RI感兴趣的任何人都会建议查看Use R! Springer系列。有一本与R直接相关的《应用空间数据分析》(也是我建议学习的R书《 R入门指南》。)
一本免费电子书,《地统计映射实用指南》( Hengl 2009),其中有在R,GRASS和Google Earth(KML)中应用的地理统计仪的示例。 !)
评论
谢谢安迪。我喜欢格子的例子。完全同意Bivand等。书-很棒的资源。
– radek
2010年11月10日,11:35
#5 楼
对于栅格分析,栅格软件包非常强大。除了标准手册外,还有一些小插曲可以入门。评论
对于栅格程序包因为它可以与RAM一起使用而无法处理的所有事情,您可以考虑使用gdal_Utlis,它提供了使用gdal的包装器功能,允许您处理大文件。
– joaoal
19年8月1日在7:24
#6 楼
我不是PostGIS用户,但是在为最近的邻居问题建议Voronoi多边形后,我做了一些搜索。我发现使用R,您可以为PostGIS创建Voronoi多边形。我印象深刻。评论
我敢肯定,有比我建议的方法更简单的方法,但是您可以在spatstat包中创建Tesselation,然后使用Adrian Baddeley提供的此功能将tess对象转换为sp对象。如果需要,可以从sp对象将其导出到shapefile。
– Andy W
2011-11-30 14:42
#7 楼
我偶然发现了Spatial-Analyst.net。非常有用,全面和有用。更特定于此问题并与先前的一些答案内联,请参阅此页面。#8 楼
另请参见此处如何在GRASS中享受高质量的统计分析:http://grass.osgeo.org/wiki/R_statistics#9 楼
使用此功能,可以轻松进行空间连接,但前提是所有区域都被多边形填充。library(rgeos)
library(sp)
library(maptools)
library(rgdal)
library(sp)
xy.map <- readShapeSpatial("http://www.udec.cl/~jbustosm/points.shp")
manzana.map <- readShapeSpatial("http://www.udec.cl/~jbustosm/manzanas_from.shp" )
IntersectPtWithPoly <- function(x, y) {
# Extracts values from a SpatialPolygonDataFrame with SpatialPointsDataFrame, and appends table (similar to
# ArcGIS intersect)
# Args:
# x: SpatialPoints*Frame
# y: SpatialPolygonsDataFrame
# Returns:
# SpatialPointsDataFrame with appended table of polygon attributes
# Set up overlay with new column of join IDs in x
z <- overlay(y, x)
# Bind captured data to points dataframe
x2 <- cbind(x, z)
# Make it back into a SpatialPointsDataFrame
# Account for different coordinate variable names
if(("coords.x1" %in% colnames(x2)) & ("coords.x2" %in% colnames(x2))) {
coordinates(x2) <- ~coords.x1 + coords.x2
} else if(("x" %in% colnames(x2)) & ("x" %in% colnames(x2))) {
coordinates(x2) <- ~x + y
}
# Reassign its projection if it has one
if(is.na(CRSargs(x@proj4string)) == "FALSE") {
x2@proj4string <- x@proj4string
}
return(x2)
}
test<-IntersectPtWithPoly (xy.map,manzana.map)
#10 楼
点图案分析示例:#Load library
library(spatstat)
#create some coordinates
x=c(78,120,150,17,20,402)
#prepare the window range
y=c(70,103,100,205,200,301)
win=owin(range(x),range(y))
#create the point pattern
p <- ppp(x,y,window=win)
#Plot it
plot(p)
创建点图案并进行描述。 spatstat软件包具有许多用于分析地理数据的功能。以下是一些spatstat教程:
Spatstat:用于分析空间点图案的R包
spatstat简介
处理spatstat包中的shapefile
#11 楼
不知道这是否符合“技巧”,但我非常喜欢acs
软件包(用于选择美国人口普查数据)和leaflet
软件包(用于制作可以在线托管的交互式javascript映射)的组合。 br /> 本教程做得很好,说明了将这两个软件包一起使用的好处。
评论
社区Wiki?@relet:meta.gis.stackexchange.com/questions/191/…
ack。谢谢。我相信我看到了那个,但很容易忘记。
另外:rspatialtips.org.uk
我认为这也应该是社区Wiki,因为它已经成为各种各样的列表。