问题标签 [r-mapedit]

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.

0 投票
1 回答
71 浏览

r - 为什么在使用带有 mode = 'draw' 的 mapedit::selectFeatures 时会出现错误?

我正在使用名为 mapedit 的 R 包中的 selectFeatures 函数。我希望能够选择使用 mapedit 查看器中的工具绘制的(全部或部分)区域内的所有多边形。

使用(mapedit doc)中的以下代码,单击模式有效。但是,当我将模式更改为绘图然后使用任何工具完成绘图时,它会产生以下错误,并且地图会从查看器中删除,并且对象中没有存储任何内容(在本例中为 selected2)。

警告:st_read.default 中的错误:json 类的对象没有可用的 st_read 方法

有没有我错过的步骤?

另外,比我有更高权限的人会创建一个 r-mapedit 标签吗?

0 投票
1 回答
2080 浏览

r - 在R中将XY转换为纬度

我正在尝试在落入某个区域的传单地图上绘制端口的位置。这 30 个奇怪的区域是使用mapedit包作为sfPOLYGON 创建的。一个这样的地区WestCoastIndiax(印度西海岸)的代码如下:

该区域在 中正确绘制leaflet

st_within()然后我试图通过使用包中的函数来查看特定位置是否属于这些区域sf。确实属于该地区的孟买市的一个例子是:

返回:

当我尝试绘制孟买的多边形和坐标时,这就是我得到的:

在此处输入图像描述

我看了看这个并收集到我需要正确crs然后将其再次转换为 4326。但是,我不知道这 30 个奇怪几何图形的坐标参考系应该是什么。我试过这个:

虽然现在bbox单位发生了变化,但它们不正确:

请在这里提供一些帮助。

0 投票
1 回答
2129 浏览

r - 如何在 Shiny 应用程序的 selectModUI 中更新传单地图?

我想selectModUImapedit使用. 下面是一个工作示例。leafletShiny

这个想法是创建一个地图,用户可以选择或取消选择地图上的多边形。根据用户的选择,数据表输出将动态显示选择了哪些县并呈现数据,如屏幕截图所示。

在此处输入图像描述

现在我想添加一个选择输入,以便用户可以决定他们想要使用应用程序可视化的参数。我觉得我可以创建某种反应性或反应性值来存储地图,然后更新以下是我创建的示例。请注意,与示例 1 相比,我sid79_map在示例 2 中创建了一个新的传单地图,并添加了一个选择输入,以便人们可以选择。但是,这种策略行不通。如果有人能指出前进的方向,那就太好了。

0 投票
1 回答
525 浏览

r - R中的交互式Chloropeth选举学院地图

我希望复制其中一张地图,您可以在其中猜测下一次总统选举的州级结果,并通过更改颜色背景向您显示您的场景结果。我的意思的一个例子可以在这里找到。

第一步是提供默认设置作为用户输入的起点。实现这一目标的一种方法是:

在此处输入图像描述

result下一步 - 也是最关键的 - 步骤是通过单击按钮让列更改来使此地图具有交互性。例如,单击加利福尼亚会将填充颜色切换为蓝色,并将result编码切换为Dem.

对我来说,明显的候选者是plotlyandleaflet包,但它们似乎都没有提供我在这种情况下所需的功能。我使用 中的selectFeatures函数得到了最接近的结果mapedit,但这只能让我选择区域,而不是更改它们的关联编码。

对于后续计算,重要的是记录用户所做的更改以供进一步使用。最终目标是拥有类似于上面提供的链接的闪亮应用程序,用户的输入会改变双方确保的选举团投票总数。

有没有人对可能的解决方案有意见?

(为了记录,我的实际目标与选举无关,但我认为这是表达我的问题的最容易理解的方式)

0 投票
1 回答
623 浏览

r - 将数据框转换为空间对象

我正在尝试在 Shiny 上发布地图,但一直遇到这个问题。

让我们调用 data.frame region。以下是列:

但是当我运行mapview(region)@map它时会产生以下错误:

错误:哎呀!缺少参数 xcol 和/或 ycol!您可能期望 turf_clean 是一个空间对象。但是它属于 data.frame 类。要么将 turf_clean 转换为空间对象,要么提供 xcol 和 ycol。

我提供了 x 和 y 列,但它仍然没有产生我需要的东西。

0 投票
0 回答
149 浏览

spatial - R:使用 viewRGB() 和 editMap() 时出错

下面是我正在使用的代码:

我收到以下错误消息:

任何帮助深表感谢!

-周

0 投票
2 回答
160 浏览

r - 在 mapEdit 包中使用 EditMod 时从 $finished 刷新数据的闪亮解决方法

这是来自mapedit问题 github 页面交叉帖子。我正在尝试构建一个闪亮的应用程序,允许用户在使用mapedit包选择多边形后绘制数据子集。虽然我能够使用 成功绘制数据,但在删除选定的 mapedit 多边形后mapedit,我无法刷新数据。$finished

这会产生两个我尚未确定解决方法的错误,1)如果情节崩溃,如错误下方的 gif 中所示the argument is of length zero,以及 2)如果情节没有崩溃,最后选择的$finished数据仍然无法清除来自情节的数据。

有什么办法可以解决这些问题吗?这主要发生在绘制两个以上的多边形然后删除时。虽然我认为会有一个被动的解决方法,但到目前为止我还没有成功。

下面是来自 r-spatial博客mapedit 的可重现示例 - 0.2.0 中的更新。在我闪亮的应用程序中,我使用 mapedit 包使用对象 ID 对不同的时间序列进行子集化,并在 plotly 中绘制时间序列。我相信可以使用下面的可重现示例来解决根本问题。

错误示例

虽然我已经在 mapedit github问题页面和 r-spatial 中发布了这个,但我认为是否有不需要包修复的解决方案是值得的。我在这里这里找到了 selectMod 的两种解决方法,但是 editMod 源代码要复杂得多,所以我发现它超出了我的能力来适应这个解决方案。

非常感谢,我断断续续地努力解决这个问题几个星期,我很想解决这个问题并关闭这个项目。

0 投票
1 回答
775 浏览

r - 读入 shapefile 列表并在 R 中对它们进行行绑定(最好使用整洁的语法和 sf)

我有一个包含 50 个城市的 shapefile 的目录(并且会积累更多)。它们分为三组:城市的政治边界(CityA_CD.shp、CityB_CD.shp 等)、社区(CityA_Neighborhoods.shp、CityB_Neighborhoods.shp 等)和人口普查街区(CityA_blocks.shp、CityB_blocks.shp、 ETC。)。它们使用通用的文件命名语法,具有相同的属性变量集,并且都在同一个 CRS 中。(我使用 QGIS 对它们进行了转换。)我需要编写每组文件(政治边界、社区、块)的列表以读取为 sf 对象,然后绑定行以为每个组创建一个大型 sf 对象. 但是,我在 R 中开发此工作流程时遇到了一致的问题。

第一个错误似乎表明我的一个 shapefile 的公共变量的变量类不正确,District_I但 R 没有提供任何信息来提示我是哪个文件导致了错误。

第二个错误似乎是在寻找 az 坐标,但只在几何属性中找到 x 和 y。

在这方面我有四个问题:

  1. 我怎样才能让 R 识别它正在尝试读取和绑定的列表项导致停止进程的错误?
  2. 如何强制 R 忽略不兼容问题并将变量类强制转换为字符,以便我可以处理 R 中的变量不一致(如果是这样的话)?
  3. 如何从导致错误的读取 sf 对象中完全删除变量(即忽略进程中District_I的所有read_sf调用)?
  4. 更一般地说,发生了什么,我该如何解决第二个错误?

一如既往地感谢大家的帮助。

PS:我知道这篇文章不能以期望的方式“重现”,但除了复制我所有 shapefile 的内容之外,我不确定如何做到这一点。如果我在这一点上弄错了,我很乐意接受这方面的任何智慧。

更新:我跑了

成功地处理了三个 shapefile 的子集。因此,我已经确认District_I在一个文件中的列之间存在一些类冲突,导致在整个批次上运行代码时出现阻塞。但同样,我需要错误来识别导致问题的文件名,以便我可以在文件中修复它,或者需要代码强制District_I所有文件中的字符(这是我希望该变量存在的类)。

一个注释,特别是关于 Pablo 的建议:

导致错误 Error in (function (x, id = NULL) : unused argument

后跟一长串数字和坐标。所以,

mapedit:::combine_list_of_sf(shapefile_list)

绝对是从列表中读取并合并文件的机制,但我仍然需要一种方法来诊断跨 shapefile 的列不兼容错误的来源。

0 投票
0 回答
38 浏览

r - 在 Shiny 应用程序中复制 mapedit::selectFeatures(..., mode = "click") 的行为

我正在尝试复制mapedit::selectFeatures(..., mode = "click")Shiny 应用程序中的行为。我有一个类似于此处提出的解决方案的工作示例: R/Shiny/Leaflet 中的多点选择 并在此处记录:https://r-spatial.org/r/2017/06/09/mapedit_0-2-0。 html#闪亮模块

callModule在工作示例中使用了该方法,但它复制了mapedit::selectFeatures(..., mode = "draw")行为。我不清楚如何传递mode = "click"callModule(editMod, "editor", mapview(mydata, mymap)@map). 下面和 github 上包含一个可重现的示例:https ://github.com/HoldenJe/ReactiveMapExample