使用函数 "as.owin" 加载 .shp 文件时出错
Error loading a .shp file, using the function "as.owin"
我正在使用带有 class“SpatialPolygonsDataFrame”的“.shp”文件,我正在尝试应用它,一个名为“as.owin”的函数,如下一个代码所示。但是“as.owin”函数返回了下一个错误。
polygon <- readOGR(dsn = "C:/Users/Datos Geoespaciales/recintos_provinciales_inspire_peninbal_etrs89",layer = "recintos_provinciales_inspire_peninbal_etrs89", encoding = "UTF-8")
im <- as.owin(polygon, fatal = TRUE)
“as.owin.SpatialPolygons(abc, fatal = TRUE) 中的错误:只有投影坐标可以转换为 spatstat class 对象”
我也尝试使用函数“as.owin.SpatialPolygons”,但错误仍然存在
im <- as.owin.SpatialPolygons(polygon, fatal = TRUE)
“as.owin.SpatialPolygons(abc, fatal = TRUE) 中的错误:只有投影坐标可以转换为 spatstat class 对象”
根据网上查到的一些资料,改用函数readShapeSpatial加载.shp文件,错误改了。
polygon <- readShapeSpatial("C:/Users/Datos Geoespaciales/recintos_provinciales_inspire_peninbal_etrs89.shp")
im <- as.owin(polygon, fatal = TRUE)
“错误:'spatstat.options' 不是从 'namespace:spatstat' 导出的对象”
我也尝试更改 .shp 文件的 CRS,但错误仍然存在
utm <- "+proj=utm +zone=32 +datum=WGS84"
polygon <- spTransform(test_test, utm)
im <- as.owin(polygon, fatal = TRUE)
“错误:'spatstat.options' 不是从 'namespace:spatstat' 导出的对象”
我不确定,我做错了什么?如果有任何帮助,我将不胜感激。
我采用了一种略有不同的方法,即使用 sf
读取和投影 shapefile,将其转换为 Spatial*
并创建一个 owin
。见代表:
library(sf)
library(spatstat)
library(maptools)
# With sf
polygon <- st_read("recintos_provinciales_inspire_peninbal_etrs89.shp")
st_is_longlat(polygon)
#> [1] TRUE
# sf to sp
polygon_sp <- as(polygon, "Spatial")
# Error
im <- as.owin(polygon_sp, fatal = TRUE)
#> Error in as.owin.SpatialPolygons(polygon_sp, fatal = TRUE) :
#> Only projected coordinates may be converted to spatstat class objects
# Project EPSG:25830
polygon_utm <- st_transform(polygon, 25830)
st_is_longlat(polygon_utm)
#> [1] FALSE
# sf to sp
polygon_utm_sp <- as(polygon_utm, "Spatial")
# No error
im_utm <- as.owin(polygon_utm_sp, fatal = TRUE)
im_utm
#> window: polygonal boundary
#> enclosing rectangle: [-14129.5, 1126923.3] x [3892590, 4859517] units
我正在使用带有 class“SpatialPolygonsDataFrame”的“.shp”文件,我正在尝试应用它,一个名为“as.owin”的函数,如下一个代码所示。但是“as.owin”函数返回了下一个错误。
polygon <- readOGR(dsn = "C:/Users/Datos Geoespaciales/recintos_provinciales_inspire_peninbal_etrs89",layer = "recintos_provinciales_inspire_peninbal_etrs89", encoding = "UTF-8")
im <- as.owin(polygon, fatal = TRUE)
“as.owin.SpatialPolygons(abc, fatal = TRUE) 中的错误:只有投影坐标可以转换为 spatstat class 对象”
我也尝试使用函数“as.owin.SpatialPolygons”,但错误仍然存在
im <- as.owin.SpatialPolygons(polygon, fatal = TRUE)
“as.owin.SpatialPolygons(abc, fatal = TRUE) 中的错误:只有投影坐标可以转换为 spatstat class 对象”
根据网上查到的一些资料,改用函数readShapeSpatial加载.shp文件,错误改了。
polygon <- readShapeSpatial("C:/Users/Datos Geoespaciales/recintos_provinciales_inspire_peninbal_etrs89.shp")
im <- as.owin(polygon, fatal = TRUE)
“错误:'spatstat.options' 不是从 'namespace:spatstat' 导出的对象”
我也尝试更改 .shp 文件的 CRS,但错误仍然存在
utm <- "+proj=utm +zone=32 +datum=WGS84"
polygon <- spTransform(test_test, utm)
im <- as.owin(polygon, fatal = TRUE)
“错误:'spatstat.options' 不是从 'namespace:spatstat' 导出的对象”
我不确定,我做错了什么?如果有任何帮助,我将不胜感激。
我采用了一种略有不同的方法,即使用 sf
读取和投影 shapefile,将其转换为 Spatial*
并创建一个 owin
。见代表:
library(sf)
library(spatstat)
library(maptools)
# With sf
polygon <- st_read("recintos_provinciales_inspire_peninbal_etrs89.shp")
st_is_longlat(polygon)
#> [1] TRUE
# sf to sp
polygon_sp <- as(polygon, "Spatial")
# Error
im <- as.owin(polygon_sp, fatal = TRUE)
#> Error in as.owin.SpatialPolygons(polygon_sp, fatal = TRUE) :
#> Only projected coordinates may be converted to spatstat class objects
# Project EPSG:25830
polygon_utm <- st_transform(polygon, 25830)
st_is_longlat(polygon_utm)
#> [1] FALSE
# sf to sp
polygon_utm_sp <- as(polygon_utm, "Spatial")
# No error
im_utm <- as.owin(polygon_utm_sp, fatal = TRUE)
im_utm
#> window: polygonal boundary
#> enclosing rectangle: [-14129.5, 1126923.3] x [3892590, 4859517] units