spNetwork 的项目 SpatialLinesDataFrame
Project SpatialLinesDataFrame for spNetwork
我正在尝试使用 spNetworks
的 nkde
功能来创建一个 KDE 来记录 DC 沿其道路网络的事故。在准备函数时,我正在为 nkde
创建 lixels,但是 运行ning lines_center(lixels)
总是给我一个错误。
lixels <- lixelize_lines(dc_lines,1000,mindist = 250)
samples <- lines_center(lixels)
每当我尝试 运行 lines_center(lixels)
时,我都会收到以下错误:
Error in maptools::SpatialLinesMidPoints(with_length) :
is.projected(sldf) is not TRUE
In addition: Warning message:
In RGEOSMiscFunc(spgeom, byid, "rgeos_length") :
Spatial object is not projected; GEOS expects planar coordinates
我尝试查找各种技术,例如将 SpatialLinesDataFrame 转换为普通 Dataframe,st_as_sf,然后对其进行投影,但到目前为止没有任何效果,而且我总是遇到同样的错误。
我正在这样加载数据:
dc <- readOGR("assessment/test/Roads_2013", "Roads_2013")
由于上传的文件是一个 Large SpatialPolygonsDataFrame,我正在使用以下代码将其转换为 SpatialLines:
dc_lines <- as(dc, "SpatialLinesDataFrame")
知道我做错了什么或如何正确投射线条吗?
使用的shapefile在这里:
https://opendata.dc.gov/datasets/roads
我是 spNetwork 开发人员。请考虑在 github 上发布您的问题以获得更快的响应。这里的问题是您的数据集不使用平面(X/Y 以米为单位的坐标)CRS,而是使用地理 CRS(Lon/Lat 以度为单位)。您需要使用 sp 包中的函数 spTransform 在适当的 CRS 中重新投影数据。这是带有一些示例的 link (https://www.rdocumentation.org/packages/rgdal/versions/1.5-28/topics/spTransform-methods)。
也许 EPSG:2927 可以作为 CRS 使用(我不熟悉美国使用的 EPSG)。
dc <- readOGR("assessment/test/Roads_2013", "Roads_2013")
dc_proj <- spTransform(dc, CRS("+init=epsg:2927"))
我正在尝试使用 spNetworks
的 nkde
功能来创建一个 KDE 来记录 DC 沿其道路网络的事故。在准备函数时,我正在为 nkde
创建 lixels,但是 运行ning lines_center(lixels)
总是给我一个错误。
lixels <- lixelize_lines(dc_lines,1000,mindist = 250)
samples <- lines_center(lixels)
每当我尝试 运行 lines_center(lixels)
时,我都会收到以下错误:
Error in maptools::SpatialLinesMidPoints(with_length) :
is.projected(sldf) is not TRUE
In addition: Warning message:
In RGEOSMiscFunc(spgeom, byid, "rgeos_length") :
Spatial object is not projected; GEOS expects planar coordinates
我尝试查找各种技术,例如将 SpatialLinesDataFrame 转换为普通 Dataframe,st_as_sf,然后对其进行投影,但到目前为止没有任何效果,而且我总是遇到同样的错误。
我正在这样加载数据:
dc <- readOGR("assessment/test/Roads_2013", "Roads_2013")
由于上传的文件是一个 Large SpatialPolygonsDataFrame,我正在使用以下代码将其转换为 SpatialLines:
dc_lines <- as(dc, "SpatialLinesDataFrame")
知道我做错了什么或如何正确投射线条吗?
使用的shapefile在这里: https://opendata.dc.gov/datasets/roads
我是 spNetwork 开发人员。请考虑在 github 上发布您的问题以获得更快的响应。这里的问题是您的数据集不使用平面(X/Y 以米为单位的坐标)CRS,而是使用地理 CRS(Lon/Lat 以度为单位)。您需要使用 sp 包中的函数 spTransform 在适当的 CRS 中重新投影数据。这是带有一些示例的 link (https://www.rdocumentation.org/packages/rgdal/versions/1.5-28/topics/spTransform-methods)。
也许 EPSG:2927 可以作为 CRS 使用(我不熟悉美国使用的 EPSG)。
dc <- readOGR("assessment/test/Roads_2013", "Roads_2013")
dc_proj <- spTransform(dc, CRS("+init=epsg:2927"))