问题标签 [spatial-data-frame]
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 - 将属性表重新附加到空间多边形以制作空间多边形数据框
我已经使用 Shiny 和 Leaflet 构建了一个 Web 应用程序,但它的渲染速度非常慢,因为添加到地图中的空间多边形数据框 (merge.proj) 是 20,000 个多边形。我可能会尝试允许用户一次只查看某些社区作为修复,但首先我想我会简化多边形以查看加速过程的速度。
我的理解是,简化多边形会减少顶点数等,并为您提供一个空间多边形,它会丢失属性表。我希望然后重新附加属性表并重新创建一个希望减小大小的空间多边形数据框。
但是,代码出错了,我可以在网上找到的所有帮助都显示了在从头开始制作空间多边形和数据框时如何执行此操作,并且我无法将他们所做的事情应用于我的数据(请参阅此处)。该错误表明我的多边形 ID 和 row.names 不匹配,但它们最初都来自同一个空间多边形数据框,所以我很困惑。而且我不确定如何手动操作以使它们匹配。
我粘贴在错误和我目前拥有的代码下方。任何建议将不胜感激!
错误:SpatialPolygonsDataFrame 中的错误(merge.simplify,merge.df):数据的 row.names 和多边形 ID 不匹配
r - 无法在 R 中绘制具有相同 CRS 的两个空间对象
我有两个空间对象,一个是空间多边形对象,另一个是我变成空间点对象的 .csv 文件。第一个是智利政府为其一个公社提供的官方形状文件,另一个是使用 HERE API 地理编码创建的同一公社的街道地址。
首先,我从以下位置加载空间多边形对象readOGR
:
coordinates()
然后我将 .csv 文件加载到 R 中,并使用包中的函数将其转换为空间点对象sp
。
然后我检查了每个物体的投影。
"+proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0"
和NA
分别。
唯一有效的投影pointsCoords
是CRS("+init=epsg:3857")
. 因此,我将该投影分配给quilpue
extent()
尽管如此,当我使用from package检查两个对象的扩展时raster()
,它们不会重叠。
因此,当我尝试将它们绘制在一起时,它们不会重叠。我只得到我选择绘制的第一个对象的情节。
为了检查 shapefile 或 .csv 文件是否存在问题,我在Maptitude
另一个 GIS 软件上打开了它们,它设法自动覆盖它们。我希望能够在 R 中做同样的事情。
r - 如何沿道路定义 +- 1 处的区域?
考虑由以下空间线数据框定义的地理线
我想构建一个在这条线上完全达到 1 的空间多边形,就像一个“影响区域”。我的第一个猜测是使用 maptools 包中的 elide() 并将行移动 +-1,但我需要照顾好每个角落。第二个猜测是沿线构建阵列一的圆盘并将它们合并,但这听起来太“气工厂”而不是好。
使用来自 rgeos 的 gBuffer(感谢 Henrik),它可以工作
r - 合并数据后,ggplot2 geom_polygon 的映射变得疯狂
我正在尝试制作一个包含美国巨型区域地图的网格。我从一个形状文件创建一个 SpatialPolygonDataframe。然后将其转换为 data.frame 以使用 ggplot2。一旦我将数据添加到框架中,多边形就会绘制出来。包含 SpatialPolygon 和数据框的文件在这里: https ://drive.google.com/open?id=1kGPZ3CENJbHva0s558vWU24-erbqWUGo 代码如下:
绘制第一个(mega.prop)工作正常:
但在添加分析数据后绘制:
在新情节中:
- 多边形的填充搞砸了。(是关于分数的顺序吗?如何?)
- 完全错过了两个多边形。
问题是什么?非常感谢您的帮助。
r - 有没有办法在 R 中编写一个像这个脚本一样编写数据帧的函数?
我在 R 中编写了一个脚本,它将一个 csv 文件读取到一个数据框,然后操作该数据框以创建一个新的。当前脚本如下:
我必须为多达 100 个节点执行此操作,因此我尝试编写一个带有参数“节点”的函数来执行此操作。在本例中,我将输入 getNodeData(00D)。但是,当我这样做时,实际上创建数据框会出现问题。该函数运行但不创建任何新对象。有没有办法把这个脚本变成一个函数,以便我可以更轻松地执行 100 次?
r - 从大空间像素数据帧计算面积
我有一个名为 cr1 的对象,它是一个湖的大型 SpatialPixelsDataFrame。这是该文件的链接: https ://www.dropbox.com/s/uuvlmxmri144hp2/macrosmall.rdata?dl=0
我认为每个像素都有一个 1m x 1m 的单元格大小,但是我认为这个属性没有指定。“宏”是湖中沉水植物的测量高度。结构看起来像这样。
我想计算某些大型植物高度间隔所覆盖的面积(即“宏观”间隔所覆盖的面积)。
如何指定每个单元格的分辨率或大小(=1m x 1m)?哪个包和函数处理 SpatialPixelsDataFrame 的面积估计?
到目前为止,我实际上只加载了地图
并尝试了几件事:
这将是我想要什么以及我想如何计算它的一个例子,但是数据框的规范不允许它
但我基本上总是以同样的警告信息告终
警告消息:在 .local(x, ...) 中:此函数仅对具有经度/纬度坐标的 Raster* 对象有用
请注意,该区域非常小(25 公顷)。
谁能把我推向正确的方向?
r - 将正式类栅格图层转换为空间网格数据框
希望有人可以帮助我。
我有一些正式类形式的坡度数据,RasterLayer
通过使用命令as(slope, 'spatialGridDataFrame')
,我设法将其转换为大的spatialgriddataframe
. 但是,当我查看数据框时,我的变量(斜角)充满了NA
值。虽然我不明白,当我绘制网格时,它会显示倾斜角度,请参见图像。 如何使我的空间网格数据框架中的变量表示坡度?
这是正式的光栅信息
此图像是 spatialGridDataFrame 信息
任何建议,将不胜感激。
r - 将栅格转换为数据框并在 R 中提取所需的值
我想使用 ggplot2 制作水深图。我将栅格文件转换为数据框,裁剪并将其转换为数据框:
然后,我检查了数据框中的值(即深度,以 m 为单位):
深度 (m) 值应该是负数,不应该这么大。然后,我检查了在 R 中导入的测深文件。
有两个属性:ID 和 COUNT。我想 ID 是深度(m)并且不知道 COUNT 是什么。奇怪的是 COUNT 的范围从 1 到 676804,但 summary() 显示的值从 9945 到 1205362。
所以我的问题是如何将栅格文件转换为包含我想要的值的数据框?
使用“COUNT”值,我能够生成测深图,但图例中的值不正确..
提前致谢。
r - 从多边形列表创建空间多边形数据框
我目前正在尝试从多边形列表(生物多样性研究的研究领域)创建一个多边形 shapefile。
目前,这些多边形以这种格式存储在列表中:
我尝试使用 writeOGR 将它们简单地写为 shpfile,但出现以下错误:
我阅读了 Barry Rowlingson 的本教程来创建空间多边形,并认为我应该首先创建一个数据框并这样做:
但这并没有像您想象的那样返回任何有用的信息,而且它丢失了地块的名称。
因为我还是 RI 的新手,所以我也尝试了许多不同的方法,我无法完全判断这些方法的意义,但没有一个能返回我所希望的,所以我用这些随机的方法来饶恕你.....
我期待着你的提议。
非常感谢
PS我还按照spatialpolygons{sp}包中的描述尝试了以下内容:
dplyr - 加入 lapply 添加到空间点数据框列表
我想在空间点数据框列表和数据框列表之间进行连接。我可以使用 lapply 进行连接,但我不知道如何将其添加到列表中每个空间点数据框的 @data 信息中。我怎么做?