问题标签 [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.
r - 为什么在使用带有 mode = 'draw' 的 mapedit::selectFeatures 时会出现错误?
我正在使用名为 mapedit 的 R 包中的 selectFeatures 函数。我希望能够选择使用 mapedit 查看器中的工具绘制的(全部或部分)区域内的所有多边形。
使用(mapedit doc)中的以下代码,单击模式有效。但是,当我将模式更改为绘图然后使用任何工具完成绘图时,它会产生以下错误,并且地图会从查看器中删除,并且对象中没有存储任何内容(在本例中为 selected2)。
警告:st_read.default 中的错误:json 类的对象没有可用的 st_read 方法
有没有我错过的步骤?
另外,比我有更高权限的人会创建一个 r-mapedit 标签吗?
r - 在R中将XY转换为纬度
我正在尝试在落入某个区域的传单地图上绘制端口的位置。这 30 个奇怪的区域是使用mapedit
包作为sf
POLYGON 创建的。一个这样的地区WestCoastIndiax
(印度西海岸)的代码如下:
该区域在 中正确绘制leaflet
。
st_within()
然后我试图通过使用包中的函数来查看特定位置是否属于这些区域sf
。确实属于该地区的孟买市的一个例子是:
返回:
当我尝试绘制孟买的多边形和坐标时,这就是我得到的:
我看了看这个并收集到我需要正确crs
然后将其再次转换为 4326。但是,我不知道这 30 个奇怪几何图形的坐标参考系应该是什么。我试过这个:
虽然现在bbox
单位发生了变化,但它们不正确:
请在这里提供一些帮助。
r - R中的交互式Chloropeth选举学院地图
我希望复制其中一张地图,您可以在其中猜测下一次总统选举的州级结果,并通过更改颜色背景向您显示您的场景结果。我的意思的一个例子可以在这里找到。
第一步是提供默认设置作为用户输入的起点。实现这一目标的一种方法是:
result
下一步 - 也是最关键的 - 步骤是通过单击按钮让列更改来使此地图具有交互性。例如,单击加利福尼亚会将填充颜色切换为蓝色,并将result
编码切换为Dem
.
对我来说,明显的候选者是plotly
andleaflet
包,但它们似乎都没有提供我在这种情况下所需的功能。我使用 中的selectFeatures
函数得到了最接近的结果mapedit
,但这只能让我选择区域,而不是更改它们的关联编码。
对于后续计算,重要的是记录用户所做的更改以供进一步使用。最终目标是拥有类似于上面提供的链接的闪亮应用程序,用户的输入会改变双方确保的选举团投票总数。
有没有人对可能的解决方案有意见?
(为了记录,我的实际目标与选举无关,但我认为这是表达我的问题的最容易理解的方式)
r - 将数据框转换为空间对象
我正在尝试在 Shiny 上发布地图,但一直遇到这个问题。
让我们调用 data.frame region
。以下是列:
但是当我运行mapview(region)@map
它时会产生以下错误:
错误:哎呀!缺少参数 xcol 和/或 ycol!您可能期望 turf_clean 是一个空间对象。但是它属于 data.frame 类。要么将 turf_clean 转换为空间对象,要么提供 xcol 和 ycol。
我提供了 x 和 y 列,但它仍然没有产生我需要的东西。
spatial - R:使用 viewRGB() 和 editMap() 时出错
下面是我正在使用的代码:
我收到以下错误消息:
任何帮助深表感谢!
-周
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 源代码要复杂得多,所以我发现它超出了我的能力来适应这个解决方案。
非常感谢,我断断续续地努力解决这个问题几个星期,我很想解决这个问题并关闭这个项目。
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。
在这方面我有四个问题:
- 我怎样才能让 R 识别它正在尝试读取和绑定的列表项导致停止进程的错误?
- 如何强制 R 忽略不兼容问题并将变量类强制转换为字符,以便我可以处理 R 中的变量不一致(如果是这样的话)?
- 如何从导致错误的读取 sf 对象中完全删除变量(即忽略进程中
District_I
的所有read_sf
调用)? - 更一般地说,发生了什么,我该如何解决第二个错误?
一如既往地感谢大家的帮助。
PS:我知道这篇文章不能以期望的方式“重现”,但除了复制我所有 shapefile 的内容之外,我不确定如何做到这一点。如果我在这一点上弄错了,我很乐意接受这方面的任何智慧。
更新:我跑了
成功地处理了三个 shapefile 的子集。因此,我已经确认District_I
在一个文件中的列之间存在一些类冲突,导致在整个批次上运行代码时出现阻塞。但同样,我需要错误来识别导致问题的文件名,以便我可以在文件中修复它,或者需要代码强制District_I
所有文件中的字符(这是我希望该变量存在的类)。
一个注释,特别是关于 Pablo 的建议:
导致错误
Error in (function (x, id = NULL) : unused argument
后跟一长串数字和坐标。所以,
mapedit:::combine_list_of_sf(shapefile_list)
绝对是从列表中读取并合并文件的机制,但我仍然需要一种方法来诊断跨 shapefile 的列不兼容错误的来源。
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