问题标签 [sf]

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 投票
0 回答
194 浏览

r - 如何在 eventReactive 表达式 Shiny/R 中传递用户输入

我在 dplyr::mutate 中使用用户通过 UI 中的 selectInput 输入的变量创建新变量时遇到问题。

有两个变异函数。如果像使用localR2. 但是,使用时会sf_gwr[,input$inVar]出现以下错误。

评估错误:没有适用于“st_geometry<-”的方法应用于“list”类的对象。

这与 mutate 函数中的子集有关吗?

0 投票
1 回答
56 浏览

r - 如何传递用户选择的列标题,以便可以在传单弹出窗口中显示这些变量

我希望用户能够选择他们在传单地图的弹出窗口中看到的变量。它在变量被硬编码时起作用。但是,传递列标题有问题。下面是一个可重现的示例,您会注意到,当您选择两个变量时,地图将出现,但弹出窗口中没有任何数据。

0 投票
1 回答
1607 浏览

r - 将 GeoJSON 转换为 R 中的简单特征

我想将 Socrata 存储库中的空间数据集读取到 R 中,然后将其转换为简单的特征对象

该数据集由以多边形表示 的资本改善项目组成:在此处输入图像描述

上述应用程序中使用的数据可通过 Socrata Open Data API (SODA) 访问:

空间数据似乎在the_geom.coordinates列中:

查看最后一列会发现每个多边形都存储为一个数组(或多面体的数组列表):

我无法使用sf包提供的工具将这些数组转换为多边形:

任何有关如何转换objsf对象的建议将不胜感激。

0 投票
2 回答
4595 浏览

r - 使用 geom_sf() 绘制一个 sf 对象,该对象具有除 lat-long 以外的任何投影

我正在尝试在除经纬度以外的任何投影中使用 geom_sf() 绘制多边形。

我正在使用geom_sf() 导入数据集的手册页中的示例:

从 latlong 转换为 epsg:3857

最后用 ggplot2 定义绘图的 crs 进行绘图:

我不断在 wgs84(即 epsg:4326)中获得一张带有经纬度轴的地图。我想要以米为单位的轴,所以我需要ggplot绘制投影多边形。我究竟做错了什么?

0 投票
0 回答
272 浏览

r - R传单加载数据缩放范围

我有一个闪亮的应用程序,线条很大

我只想在缩放 15 时查看它并仅加载可见部分

我想知道在可见地图范围内提取线条的最佳方法?

0 投票
1 回答
1398 浏览

r - 将 R 中的 Multipolygon SF 对象从 XY 坐标转换为纬度/经度

我有一个shapefile,其中坐标是(我认为)NAD_1983_StatePlane_New_York_Long_Island_FIPS_3104_Feet(请参阅此处的空间参考 )。

我想使用 sf 包读取 shapefile,然后将 MULTIPOLYGON 几何图形转换为纬度/经度坐标。

具体来说,我想转换为:

纽约长岛国家平面投影见:http ://spatialreference.org/ref/esri/102718/

例子:

不工作:

0 投票
1 回答
672 浏览

r - 地图 3.2.0 包 (r):如何将数据集的多个区域放入同一个图中?

我需要意大利伦巴第地区的地图。

但是,当我运行map("italy")时,我可以看到数据集是在省级划分的,而不是区域级的。伦巴第由 12 个省组成。我可以通过做得到米兰(城市和省)的地图,map("italy","Milan")但是当我做的时候它给了我一个错误map("italy","Lombardy")

我的问题是:如何在一张地图中放置多个省份(伦巴第地区的省份)?是否可以删除内部边框?

0 投票
1 回答
949 浏览

r - 将 ggplot2 几何图形添加到简单的特征图中

与. sf_ sp例如,如果我有一组纬度/经度坐标,我可以使用以下开发版本轻松绘制ggplot2

ggplot2::geom_sf函数知道xy.sf对象的几何图形是一组点,因此我不需要调用,例如ggplot2::geom_point().

但是,假设我想根据点集添加另一个几何图形。

例如,如果我想生成一个等高线层来显示点集中的位置,我会使用ggplot2::geom_density2dor ggplot2::stat_density2d,正如这个答案这个答案中所建议的那样。

但是,下面的代码

产生以下图像

测试国家地图

请注意,countour 线的坐标似乎颠倒了!

我尝试摆弄上面的代码,但无法让它工作。我意识到sf包裹是相当新的,但地图是如此接近正确!有任何想法吗?

编辑:忘记添加会话信息

0 投票
1 回答
222 浏览

r - 在 rasterVis 中绘制具有覆盖多边形的栅格时的范围问题

我正在开发一个绘图函数rasterVis::levelplot,用户可以根据它传递一个光栅对象,或者一个光栅对象和一个sf多边形对象。

该函数相当复杂,但显示问题的最小子集如下:

问题是我在测试时看到了一些奇怪的(对我来说)结果。让我们定义一些虚拟数据 - 一个 1000x1000 栅格和一个sf带有四个多边形的 POYGON 对象,这些多边形将栅格分开 - :

并测试功能。从理论上讲,我认为这应该可行:

但我得到:

在此处输入图像描述

这样做:

仍然失败,但结果不同:

在此处输入图像描述

我发现让它工作的唯一方法是从一开始就为多边形对象赋予我在函数中使用的相同名称(即,in_poly):

在此处输入图像描述

谁能解释这里发生了什么?这显然是(?)一个范围界定问题,但我真的不明白为什么函数会这样!

提前致谢 !

0 投票
1 回答
1011 浏览

r - 等效于 `poly.counts` 来计算 sf 包中落在多边形内的纬度/经度对

该包提供了一种处理地理特征的好方法,但我无法从需要对象的包中sf找出一个简单的等效poly.counts函数。GISToolssp

poly.countsSpatialPointsDataFrame计算 a的多边形内 a的点数SpatialPolygonsDataFrame,可按如下方式使用:

数据

计算每个多边形的点

我生成了我的两个sp对象:

现在我可以使用poly.counts

将此添加到sp对象中:

现在我已经完成了,我将转换回sf对象并可以如下所示进行可视化:

问题

我可以在没有sfsp对象之间繁琐的转换的情况下执行此操作吗?