问题标签 [sp]

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 回答
4795 浏览

r - 如何将经度/纬度转换为 UTM?R. rgdal, sp

我的数据是以度、分和秒的形式进行的经纬度投影。这已经并以文本形式存储(character-class,忽略row.names)。

通过邮件列表中提供的答案,我已将数据转换为十进制形式...

之后,我将 转换data.frameSpatialPoints对象。

然后继续通过以下方式转换投影spTransform

我已经使用此网站转换了示例中的第一个坐标(由于坐标指的是南和西,因此请舒尔提供负数),并提供以下坐标:633726.46 mE 8468757.51 mN Zone 18L,这是正确的。相比之下,sp变换后的对象是:

spTransform手册特别提到应正确提供元数据。我的数据使用 WGS84 椭球,位于 18L 区域。更准确地说是epsg:32718。我哪里错了?

0 投票
1 回答
645 浏览

r - R - 'raster' 包 - RasterLayer(“raster”)不提取到 SpatialPolygonsDataFrame(“sp”);只返回 NULL 对象

使用该raster包,我读入了两个数据集,一个 ASCII 栅格和一个 ESRI shapefile。我想将栅格(水温)数据提取到 shapefile 的全部范围,即湖岸线。

使用该函数SpatialPolygonsDataFrame读入时,ESRI shapefile 被视为一个。shapefile()

shapefile <- shapefile("shore.shp",verbose=TRUE)

我用这个raster()函数读入了 ASCII 光栅。

raster <- raster("1995_001.asc",native=TRUE,crs="+proj=merc +datum=WGS84 +ellps=WGS84 +units=m")

shapefile 的坐标参考信息为:

+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs +ellps=GRS80 +towgs84=0,0,0

栅格的(即使用crs函数中的参数强制转换为以下内容raster()):

+proj=merc +datum=WGS84 +ellps=WGS84 +units=m +towgs84=0,0,0

然后我使用包中的spTransform()函数rgdal将 shapefile 的空间参考强制转换为栅格的空间参考。

spTransform(shapefile, CRS(projection(raster)))

最后,我提交了以下内容:

extract(raster,shapefile,method="simple",fun=mean,small=TRUE,na.rm=TRUE,df=FALSE)

但是,extract()只是返回类型NULL的对象list。我认为这个问题是由坐标引用的显式强制引起的。

此外,以下是show()在每个数据集上使用该函数的结果:

> show(raster) class : RasterLayer dimensions : 1024, 1024, 1048576 (nrow, ncol, ncell) resolution : 1800, 1800 (x, y) extent : -10288022, -8444822, 4675974, 6519174 (xmin, xmax, ymin, ymax) coord. ref. : NA data source : in memory names : layer values : -9999, 8.97 (min, max)

> show(shapefile) class : SpatialPolygonsDataFrame features : 1 extent : 597568.5, 998261.6, 278635.3, 668182.2 (xmin, xmax, ymin, ymax) coord. ref. : +proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs +ellps=GRS80 +towgs84=0,0,0 variables : 3 names : AREA, PERIMETER, HECTARES min values : 59682523455.695, 5543510.075, 5968252.346 max values : 59682523455.695, 5543510.075, 5968252.346

我在这些论坛上搜索了大量类似的问题,但没有得到解决。有人可以借我一个(虚拟的)手吗?

非常感谢,提前。

0 投票
0 回答
1041 浏览

r - R如何从另一层快速选择多边形内的特征?

我正在寻找与 rgeos::gIntersection() 等效的 R 或 OGR,但与 QGIS 中的“矢量->研究工具->按位置选择”或 ArcGis 中的“按位置选择”一样有效。

0 投票
1 回答
1841 浏览

r - 经纬度网格单元格填充为 R 的印度地图

我有印度 357 个网格的数据。每个网格都有一些价值。我想在 R 中绘制它。我使用以下几行

但是我得到了一张非常糟糕的地图。 我怎样才能改善这个形象?我 在地图上的 R Plot Filled Longitude-Latitude Grid Cells中看到了一些好方法, 但不幸的是,这些方法在我的情况下不起作用。任何将不胜感激。

0 投票
1 回答
1245 浏览

r - 如何计算多边形质心和边缘之间的最大距离

我有一个 SpatialPolygons(DataFrame) 对象,例如SpP

对于每个多边形,我想计算其质心 ( coordinates(SpP)) 与同一多边形内任何其他点之间的最大距离(我假设这个最远的点将在边缘上?)。

有人可以告诉我怎么做吗?

0 投票
1 回答
854 浏览

r - 从多边形 r 中提取坐标

我正在尝试从最初包含在 SpatialPolygons 对象中的众多多边形中提取坐标:

我正在尝试从 SpP 对象中提取 Sr1 和 Sr2 的坐标。我在堆栈交换的其他地方看到了这段代码:

我无法理解方括号中索引的不匹配,但它运行。但输出与我在 Sr1 或 Sr2 中指定的坐标不匹配。我已经尝试了所有索引组合,但无法得到我正在寻找的答案!

0 投票
2 回答
649 浏览

r - 如何将 SpatialPolygons 添加到 R 中的气泡图

我想使用bubblepackge中的函数sp来绘制数据,我想添加一个SpatialPolygons图层。我可以使用轻松绘制数据,spplot但由于某种原因它不适用于bubble. 例如:

有些人通过将 in 转换来做到这一点SpatialPolygonsSpatialLines看起来我可以通过 ggplot2 来做到这一点(见帖子),但我很困惑为什么气泡图不适用于SpatialPolygons. 有什么技巧可以让它发挥作用吗?

0 投票
1 回答
324 浏览

r - 页面中的多个 spplots 和单个索引

我有一个名为的多边形形状文件CROPS.shp和以下键 -

我使用包将形状文件读rgdal入一个名为my_crops. 现在my_crops@data有六个不同的字段,即Y1Y2Y3、和。这些字段中的每一个都具有从 1 到 4 的值。Y4Y5Y6

例如,前几行crops@data就像

我想做什么?

我想要一个包含 6 个图(2 行 3 列)的页面,其中第一个图将基于 field Y1,最后一个图将基于 field Y6。在每个 shapefile 图中,绘图(多边形形状)的颜色应基于值 1 到 4。

这些图应在页面底部附有一个图例。

0 投票
2 回答
677 浏览

r - 如何从 SpatialPolygon 获取坐标

我正在使用以下方法从 drawpoly 中获取多边形:

但是,我试图从多边形中获取坐标,但我不能:

poligon@polygons [[1]] “Polygons”类的对象 Slot “Polygons”:[[1]] “Polygon”类的对象 Slot “labpt”:[1] -46.37327 -23.91955

提前致谢

0 投票
1 回答
1316 浏览

r - 使用格子的 spplot 中的数据包错误

我使用 spplot 命令在格子中并排绘制 2 个地图,使用 sp 中的简单默认 choropleth 样式颜色填充。我使用的语法与此示例相同:

这些地图并排完美且完全按照预期绘制。但是,我在每张地图的顶部都收到如下警告:

'使用数据包 1 长度的错误必须是'单位'对象'(在图表 1 上)

'使用数据包 2 长度的错误必须是'单位'对象'(在图表 2 上)

很抱歉,我无法在此处提供数据以帮助解决问题。但是,我希望有人能够指出我找出问题所在的正确方向。

注意:这两个地图都可以完美地绘制为单独的地图,使用相当于:

显然问题出在点阵视图上,但我对数据包还不够熟悉(尽管尝试查看 Sarkar ch8)才能知道出了什么问题。

作为替代方案,鉴于我的图表是根据需要进行映射的,有没有办法简单地关闭这些警告?

非常感谢您的帮助