问题标签 [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 - 轻松分配和使用 Spatial*DataFrame 的数据值
是否可以以某种方式轻松处理Spatial*DataFrame
(* = 点、线、多边形、像素、网格...)中的数据?特别是我很难为它分配值并使用它们进行操作:
对于这两种情况,我都发现了非常丑陋的解决方法:
但这些只是初学者的尝试,太丑陋和复杂......在R中一定要容易得多!
r - 如何在 R 中创建空间范围的数据框
我有时空数据: 36 个测量站的每日测量 425 天。我想在 R 中对这些数据进行一些分析,所以我只是从数据中创建了一个数据框,如下所示:
对于 X10004、X10007、...的每个站,我都有纬度/经度值,但我不知道如何将这些信息正确添加到数据框中,以便使用 R 的可用分析工具。
怎么做?或者我应该使用 R 的其他数据结构可能性以及如何使用?
r - SpatialLinesDataFrame (R):如何在计算点和多边形之间的距离时限制多边形的数量
我正在计算点(大约 47K)和最近的 X 个国家(世界上所有国家)之间的距离。我已将点的纬度/经度导入为 SpatialPoints,并将世界地图加载为 SpatialPolygons。我想我可以借鉴这里给出的建议: SpatialLinesDataFrame:如何计算最小值。点和线之间的距离 看起来我必须计算所有国家和所有点之间的距离,然后提取最接近的X,这对于这么多点来说有点紧张。简而言之,有没有办法施加多边形限制?如果不是,你会建议什么——我唯一的想法是导入少量的点,然后循环遍历这段代码(我是一个新的 R 用户)。谢谢!
r - 为 R 中的克里金法等插值方法创建数据对象
我有不同位置(X1,X2,...)的温度数据的每日平均值,我想用它们插值地图。我通过从格式化的 excel 表中加载它们来创建一个长格式数据对象,例如:
X1,X2,...位置的纬度经度相同:
我将它们合并为长格式:
和
我可以使用 spplot 将它们绘制在正确的位置,包括国家边界:
我想在一天的观察中使用 IDW,但是我发现的包(例如 gstat)中的 idw 方法需要其他“网格化”数据对象。我如何创建这样的数据对象以便用这样的方法对它们进行插值?
r - 如何从多边形数据中提取栅格值然后加入空间数据框?
我想将多边形数据和栅格数据合并到一个数据框中,以便在 R 中使用 randomForests 包。
这涉及首先提取每个多边形的平均栅格值。
到目前为止,我有以下内容:
输出是一个矩阵,我可以将其写入数据帧。但它没有空间坐标或原始多边形 ID,所以我不知道如何将输出连接到同一个数据库中。我认为 sp=TRUE 参数会这样做,但它似乎不起作用。
请注意,出于 RandomForests 的目的,我实际上必须将多边形转换为点(使用质心方法?)所以我猜我真正想要的是加入平均栅格值加入点,而不是多边形。
任何建议将不胜感激。谢谢!!
r - 使用 SpatialPolygonDataFrame 裁剪 RasterLayer
我有一个栅格网格,我想根据包“maptools”的数据提供的世界地图的陆地边界进行裁剪。通过进行一些研究,我发现我必须使用该crop()
功能,然后使用该mask()
功能,但我收到一条错误消息。
这是我的代码:
r - 从数据框列表创建空间多边形数据框列表
我想从数据框列表中创建空间多边形数据框列表。空间多边形列表被调用list_sp_Tanzania
,数据框列表被调用list_df_Tanzania_Modis500
。每个列表包含 61 个对象,每个对象包含几个多边形。
不幸的是,我无法提供数据,dput
因为它们是s4 objects
而且我找不到类似的例子。希望有人能以某种方式帮助我。
python - Python Pandas:根据百分比将数据框中的总值传播回类别
我有以下数据框,我想根据 Percentage 列中的百分比将 val 列中的总值传播回 Cat 列。
我得到了总行,我还设法输入了每组的百分比并根据几列合并两个数据框很好,但现在我卡住了......
期望的输出:
或者我应该在合并时计算/传播值吗?我需要帮助...
编辑:我提供了输入数据。
r - 如何覆盖空间数据并返回 s4 类数据
我正在尝试从工作簿中运行此代码
“缪斯”是一个SpatialDataFrame
“meuse.grid”是一个SpatialGridDataFrame
该函数overlay
已弃用,因此我over
改用该函数,但是生成的“meuse.ov”文件不是 S4 类数据。我认为“meuse.ov”必须是 aSpatialDataFrame
才能继续执行第二行代码。任何人都可以提出一种方法我可以将“meuse.ov”转换为一个SpatialDataFrame
或建议一种替代方案来over
产生一个吗?
r - 循环以将新值分配给多个空间数据框
我在 Windows10 上运行 R (V3.2.2) 的 RStudio (V 0.99.467) 工作。我有一组来自 ArcGIS 的矢量地图,我使用 rgdal 循环读入 R 以创建类“SpatialPolygonsDataFrame”的对象。
我想在同一个循环中执行几个数据 QAQC 检查和修复。例如,我希望从数据框中的条目中删除空格。我可以在循环外轻松地做到这一点,但在循环内的引用和名称分配方面遇到了困难。在循环之外,此命令删除数据中的所有空格:
此函数也适用于循环,但我无法重新分配新的无空格数据来替换原始数据。这是一些示例代码,以显示我正在尝试做的事情以及我卡在哪里。
但是最后一行返回错误:“get(name)@data[] <- as.data.frame(apply(get(name)@data[], 2,: could not find function "get<-" . 我猜我不能把函数放在赋值的左边?因为如果我只输入“get(name)@data[]”,R就会返回正确的答案而不会出错。
我还尝试了各种方法来创建临时数据框,更改临时数据框,然后使用 assign 函数替换地图对象中的数据框。但同样,这适用于循环之外(assign(mymap@data[],d)),而不是循环内(assign(get(name)@data[],d))。
但是此方法返回错误:“assign(get(name)@data[], d) 中的错误:第一个参数无效”。大概是因为 assign 中的第一个参数应该是单个元素(变量名),而不是数据框?
我还创建了一个子循环来遍历变量名称,逐列进行更正 - 但是当我可以在主循环中使用一行执行所有更正时,这似乎非常低效 - 如果我可以让分配工作。我希望有人有使用我上面粘贴的两个示例中的任何一个的解决方案。
我不确定如何在 StackOverflow 中为 SpatialPolygonsDataFrame 类的对象附加示例原始数据。如果这里没有足够的信息来帮助我,我也许可以在 GitHub 上创建一个公共文件夹并提供一个链接?但我希望这是一个非常基本的分配问题,因为我对 R 和编程仍然很陌生。