问题标签 [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.
r - 如何将经度/纬度转换为 UTM?R. rgdal, sp
我的数据是以度、分和秒的形式进行的经纬度投影。这已经并以文本形式存储(character-class
,忽略row.names
)。
通过邮件列表中提供的答案,我已将数据转换为十进制形式...
之后,我将 转换data.frame
为SpatialPoints
对象。
然后继续通过以下方式转换投影spTransform
我已经使用此网站转换了示例中的第一个坐标(由于坐标指的是南和西,因此请舒尔提供负数),并提供以下坐标:633726.46 mE 8468757.51 mN Zone 18L,这是正确的。相比之下,sp
变换后的对象是:
该spTransform
手册特别提到应正确提供元数据。我的数据使用 WGS84 椭球,位于 18L 区域。更准确地说是epsg:32718。我哪里错了?
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
我在这些论坛上搜索了大量类似的问题,但没有得到解决。有人可以借我一个(虚拟的)手吗?
非常感谢,提前。
r - R如何从另一层快速选择多边形内的特征?
我正在寻找与 rgeos::gIntersection() 等效的 R 或 OGR,但与 QGIS 中的“矢量->研究工具->按位置选择”或 ArcGis 中的“按位置选择”一样有效。
r - 经纬度网格单元格填充为 R 的印度地图
我有印度 357 个网格的数据。每个网格都有一些价值。我想在 R 中绘制它。我使用以下几行
但是我得到了一张非常糟糕的地图。 我怎样才能改善这个形象?我 在地图上的 R Plot Filled Longitude-Latitude Grid Cells中看到了一些好方法, 但不幸的是,这些方法在我的情况下不起作用。任何将不胜感激。
r - 如何计算多边形质心和边缘之间的最大距离
我有一个 SpatialPolygons(DataFrame) 对象,例如SpP
对于每个多边形,我想计算其质心 ( coordinates(SpP)
) 与同一多边形内任何其他点之间的最大距离(我假设这个最远的点将在边缘上?)。
有人可以告诉我怎么做吗?
r - 从多边形 r 中提取坐标
我正在尝试从最初包含在 SpatialPolygons 对象中的众多多边形中提取坐标:
我正在尝试从 SpP 对象中提取 Sr1 和 Sr2 的坐标。我在堆栈交换的其他地方看到了这段代码:
我无法理解方括号中索引的不匹配,但它运行。但输出与我在 Sr1 或 Sr2 中指定的坐标不匹配。我已经尝试了所有索引组合,但无法得到我正在寻找的答案!
r - 页面中的多个 spplots 和单个索引
我有一个名为的多边形形状文件CROPS.shp
和以下键 -
我使用包将形状文件读rgdal
入一个名为my_crops
. 现在my_crops@data
有六个不同的字段,即Y1
、Y2
、Y3
、和。这些字段中的每一个都具有从 1 到 4 的值。Y4
Y5
Y6
例如,前几行crops@data
就像
我想做什么?
我想要一个包含 6 个图(2 行 3 列)的页面,其中第一个图将基于 field Y1
,最后一个图将基于 field Y6
。在每个 shapefile 图中,绘图(多边形形状)的颜色应基于值 1 到 4。
这些图应在页面底部附有一个图例。
r - 如何从 SpatialPolygon 获取坐标
我正在使用以下方法从 drawpoly 中获取多边形:
但是,我试图从多边形中获取坐标,但我不能:
poligon@polygons [[1]] “Polygons”类的对象 Slot “Polygons”:[[1]] “Polygon”类的对象 Slot “labpt”:[1] -46.37327 -23.91955
提前致谢
r - 使用格子的 spplot 中的数据包错误
我使用 spplot 命令在格子中并排绘制 2 个地图,使用 sp 中的简单默认 choropleth 样式颜色填充。我使用的语法与此示例相同:
这些地图并排完美且完全按照预期绘制。但是,我在每张地图的顶部都收到如下警告:
'使用数据包 1 长度的错误必须是'单位'对象'(在图表 1 上)
'使用数据包 2 长度的错误必须是'单位'对象'(在图表 2 上)
很抱歉,我无法在此处提供数据以帮助解决问题。但是,我希望有人能够指出我找出问题所在的正确方向。
注意:这两个地图都可以完美地绘制为单独的地图,使用相当于:
显然问题出在点阵视图上,但我对数据包还不够熟悉(尽管尝试查看 Sarkar ch8)才能知道出了什么问题。
作为替代方案,鉴于我的图表是根据需要进行映射的,有没有办法简单地关闭这些警告?
非常感谢您的帮助