问题标签 [sp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 在 spplot 的最底层绘制 jpg 文件
我正在创建房子的平面图,这是我现在拥有的:
- 一个 jpg 文件,它是平面图纸质副本的扫描版本
- 显示房子、房间和床的 3 个 shp 文件
我想出了如何使用 3 个 shp 文件创建一个 spplot sp.layout
,现在我还需要在 spplot 的背面绘制 jpg。我该怎么做?谢谢。
r - rbind 错误:“名称与以前的名称不匹配”
作为一个更大问题的一部分(为多边形 ID 相同的情况添加一个,makeUniqueIDs
参数rbind.SpatialPolygonsDataFrame
),我遇到了来自 rbind 的这条奇怪消息:
我能找到的唯一其他信息是这个问题,这让我相信这rbind
也是问题的根源。
当然,我可以编写自己的类似 rbind 的函数,但大概这种match.names
检查是有原因的,我很好奇它是什么。
r - 从我自己的包中使用 sp(空间包)会导致错误:找不到函数
我正在开发我的第一个包——嗯,实际上我正在打包一些现有的代码——在 RStudio 中。我已经用 roxygen2 标记了所有评论,这已经生成了一个正确的 NAMESPACE 文件,其中包括:
我正在使用distm()
geosphere 包中的函数来计算距离矩阵,但它失败了:
.pointsToMatrix(x) 中的错误:在 peta.R#79 处找不到函数“is.projected”4 .pointsToMatrix(x) 3 distm(OCC, SPAD, fun = distMeeus)
现在is.projected()
在我已经导入的 sp 包中,所以它应该在我的搜索路径中。不应该吗?
作为一个实验,我library(geosphere)
在调用我的包代码之前调用了(它也加载了 sp),我的函数已经过了那个点。Soooo,我还需要library()
为每个包裹打电话吗???这似乎有点多余,在这一点上,我想我会停下来看看是否有人可以在我进一步打破任何东西之前让我直截了当......
r - 将“地图”对象转换为“SpatialPolygon”对象
我猜有一个简单的解决方案可以解决我一直遇到的问题,但是我遇到了一些麻烦。
我正在尝试转换以下map
对象:
使用函数进入SpatialPolygon
对象:map2SpatialPolygons
我不断收到以下错误:
经过一番研究,在应用该函数后,ID 的长度似乎为 63,而map
对象的长度为 169 .NAmat2xyList(cbind(map$x, map$y))
(我无法找到其来源)。
有人有想法么?这是usa
地图对象的结构:
r - 使用 lattice 为带有 alpha 的 spplot 覆盖多边形创建二元颜色渐变图例
我通过使用 spplot 覆盖多边形并将填充的 alpha 值设置为 10/255 创建了一个地图,这样多边形重叠的区域具有更饱和的颜色。基于属性表中的二进制变量,多边形被设置为两种不同的颜色(蓝色和红色)。因此,虽然颜色饱和度取决于重叠的多边形数量,但颜色取决于多边形的蓝色和红色类别的比率。
当然,没有简单的内置图例,所以我需要从头开始创建一个。在此处找到的基本图形中有一个很好的解决方案。根据 kohske 的这篇文章,我还想出了一个不太好的方法来在 ggplot 中执行此操作。此处发布了一个类似的问题,我尽力提供了一些解决方案,但无法真正提出可靠的答案。现在我需要为自己做同样的事情,但我特别想使用 R 并使用grid
图形。
这是我想出的 ggplot hack
这给出了这个:
这对我的目的不起作用,原因有两个。1) 由于 alpha 值不同,绘制的第二种颜色(在本例中为蓝色)会随着 alpha 值的升高而压倒第一种颜色。正确的图例应沿 1:1 对角线均匀混合蓝色和红色。此外,颜色并不能真正正确地对应于地图颜色。2) 我不知道如何在使用创建的地图ggplot
上覆盖对象。我尝试使用 创建一个 grob ,但仍然无法弄清楚如何将 grob 添加到地图中。lattice
spplot
ggplotGrob(p)
spplot
理想的解决方案是使用图形创建类似的lattice
图形。我认为使用瓷砖可能是正确的解决方案,但最好是让 alpha 值保持不变,并改变从左到右(红色)和从下到上(蓝色)绘制的瓷砖数量。因此,颜色和饱和度应该与地图正确匹配(我认为......)。
任何帮助深表感谢!
r - 结合空间数据
我正在尝试合并此处找到的两个数据集:
一张是取自一张世界地图,map_data('world')
另一张是 1960 年黑碳排放的纬度/经度。我想将两者合并,以便我可以根据国家/地区总结排放量。到目前为止,我一直没有成功。
我的印象是sp
包在这里是正确的工具。具体来说,over()
世界地图为 aSpatialPolygonsDataFrame
且排放数据为 a的函数,SpatialPointsDataFrame
但我似乎无法让事情正常工作。
任何帮助深表感谢。我也很高兴听到有关 GIS 和 R 的可靠参考的任何建议。
编辑:我最终使用data(countriesCoarse)
from the rworldmap
package 而不是map_data('world')
. 这具有已经成为SpatialPolygonsDataFrame
. over()
现在似乎按预期工作。我删除了数据的断开链接。
r - R - 高于刻度的值
我正在绘制一个地区的降雨图。我的问题是,当温度高于既定刻度时,会绘制一些白点。
功能:
spplot 函数中是否存在某种动态范围?
地图:
r - 从顶点坐标和偏移多面体创建多面体
我的目标是从 x、y 和 z 坐标的数据框创建一个 3 维多面体。我想要类似于SpatialPolygons
对象的值,但欢迎提出其他建议。然后我想将该gBuffer
功能扩展到 3D 多面体。gBuffer
坚持从原始几何体到新几何体的距离,是我最终目标的理想特征。
下面的代码说明了 2D 中的情况:
我的第一次尝试是使用xy2SP
3 个坐标而不是 2 个坐标的函数,但很快就被挫败了。在任何情况下,都有一个表示 3D 多面体顶点的数据框示例。
r - 根据 shapefile 列表创建空间多边形列表
我有一个list_shp_Tanzania
包含 61 个 shapefile 的 Shapefile 列表,每个 shapefile 包含几个多边形。我想从这个 shapefile 列表中创建一个空间多边形列表。这是 shapefile 中多边形的结构。
有人可以帮我解决吗?
r - SpatialPolygons - 在 R 中从坐标创建一组多边形
我正在尝试从顶点位置创建一组多边形,以 X,Y 格式保存。
这是我的数据示例 - 每行代表一个多边形的顶点。多边形是正方形
我正在使用SpatialPolygons
,因此我的数据需要在列表中。所以我创建了一个循环来尝试将我的数据从矩阵中转换为列表格式。
我在此站点上的其他一些问题中找到的代码之后创建了一个循环。我打破了每一步,试图理解为什么我只有一个多边形作为输出,即使我有 2 组点。
你能帮我理解我如何调整代码来写出两个多边形而不是一个多边形吗?而且,我如何将 ID 分配给每个多边形,因为我使用矩阵(正方形)作为我的起始数据集,如果我分配一个字符 ID,它会将我的所有数据转换为一个字符。
我的最终目标是SpatialPolygons
对象中有两个多边形,第一个带有 ID SJER1
,第二个带有SJER2
存储在SpatialPolygons
对象中的 ID。
然后我会把它写到一个 shapefile 中。