我们在哪里可以获得这样的景观GIS层

时间:2011-09-14 16:20:18

标签: r plot geospatial layer geo

在这里,我发现景观GIS层非常有吸引力,特别是对于呈现物种/样本分布。我想知道是否可以在R或任何其他资源中找到它?

本文(http://onlinelibrary.wiley.com/doi/10.1111/j.1469-8137.2010.03479.x/full)中使用了GIS图层(http://onlinelibrary.wiley.com/store/10.1111/j.1469-8137.2010.03479.x/asset/image_t/NPH_3479_f1_thumb.gif?v=1&t=gsk5sbhs&s=e5e2e4bbb194f799f7ab9bec85a416e295405784)。

这张图1的图片在这里:

{{3}} enter image description here

我曾尝试在R-sig-geo中提交此问题。但是,我失败了。我期待在这里得到一些帮助/指示。

非常感谢任何指示。

祝福,

3 个答案:

答案 0 :(得分:2)

可以下载此文件并使用R读取它,将其配置为具有正确的地理坐标,以便过度绘图很容易,并使用正确的颜色方案显示图像等等。但是,自动获取所需的所有数据并非易事。

您需要GIF文件中的颜色表,以便您可以为每个像素绘制正确的RGB值集(信息在文件中,但我不确定是否可以直接使用R,我会检查 - 当然可以使用GDAL,但是以自动方式提取这些值取决于可用的各种工具。

更新:事实证明,光栅包正确地获取了颜色信息并进行了绘制,见下文。

您还需要地理空间信息,即参考像素的坐标(例如,左上角的像素角)和比例(像素的地理宽度和高度),此信息不会存储在文件。此外,文件的坐标系不在文件中,很可能没有明确地提供图像数据。

如果颜色和坐标系统与文件一起存储,那么它将很容易,类似下面的内容就足够了。

(注意这对我有用,但后来我认为后续请求被服务器阻止,所以尽量只下载文件一次)。

u <- "http://onlinelibrary.wiley.com/store/10.1111/j.1469-8137.2010.03479.x/asset/image_n/NPH_3479_f1.gif?v=1&t=gskxvi17&s=0f13fa9dae78bd6837aeee594065c6ca112864d2"

imfile <- paste(tempfile(), ".gif", sep = "")

download.file(u, imfile, mode = "wb")

library(raster)  ## rgdal also required for this file format
library(rgdal)

im <- raster(imfile)

plot(im)

这看起来很好,但现在看到没有“真实世界”坐标系,这只是从像素1到X维度中的数字的轴(对于Y来说是相同的)。

 axis(1, pos = 2)

Correct colour plot, but no real coordinate system

所以,我们仍然需要手动工作来发现图像的适当参考坐标 - 这里的猜测可以正常工作,但它们只是猜测,你最终可能会因为看似简单的事情而产生很多痛苦。

如果交互式绘图点足够您,那么您可以将locatorpointslines以及text以及相关的绘图功能结合使用。

答案 1 :(得分:1)

如果您只想要此图片之类的数据,则可以使用sprgdal中的工具直接访问图像。此示例在gmap包中使用dismo即将结束。

library(dismo)

e <- extent(-7, 5, 38, 44)

gm <- gmap(e, type = "terrain")
plot(gm)

Very simple google maps plot

请注意,虽然我们在“longlat”中指定范围,但图像会在其原生(Google)墨卡托中返回。

print(gm)

有关转换您自己的数据以匹配图片投影的更多选项,请参阅?gmap,或rasterrgdalsp中用于其他选项的更广泛的功能集。还有其他图像提供程序可能更受欢迎,并且R套件中提供了相当多的选项。

答案 2 :(得分:1)

峰, 如果我正确阅读了Google文档,您可以使用额外的参数样式和元素修改标签和显示的功能。 我没有在RgoogleMaps包中包含这些参数的自定义参数,但是,您可以通过路径参数轻松传递任何附加参数! 如果您仔细阅读GetMap的帮助文件,您将注意以下示例:

请注意,由于路径字符串只是附加到URL,因此您可以“滥用”路径参数以将任何内容传递给查询,例如style参数:

#以下示例显示布鲁克林地图,其中当地道路已变为亮绿色,住宅区已更改为黑色:    ##未运行:GetMap(center ='Brooklyn',zoom = 12,maptype =“roadmap”,path =“&amp; style = feature:road.local | element:geometry | hue:0x00ff00 | saturation:100&amp; style = feature:landscape | element:geometry | lightness:-100“,sensor ='false',destfile =”MyTile4.png“,RETURNIMAGE = FALSE);

希望这有帮助,

Markus Loecher