【发布时间】:2021-05-07 11:51:17
【问题描述】:
我有一个 sf 对象,其中包含道路几何图形和道路类型(例如二级公路、高速公路、自行车道等):
(代码取自this blog post)
library(osmdata)
library(tidyverse)
muenster <-
opq(bbox = c(7.61, 51.954, 7.636, 51.968)) %>%
add_osm_feature(key = 'highway') %>%
osmdata_sf() %>%
osm_poly2line()
muenster_center <- muenster$osm_lines %>%
dplyr::select(highway)
我想将此 shapefile 转换为保留道路类型的栅格文件,以便计算成本路径。
【问题讨论】:
-
查看光栅包rdocumentation.org/packages/raster/versions/3.4-5/topics/…中的光栅化函数。或者,您也可以使用更快的版本 - rdocumentation.org/packages/fasterize/versions/1.0.3/topics/…
-
您可能还想检查
sfnetworks中的st_network_cost()函数,该函数与您提到的博客文章链接。它不提供光栅文件,但也许它仍然对您有用。 -
谢谢两位——这可能超出了本文的范围,但我的主要目标是在考虑道路质量、拓扑等因素的同时找出两点之间的最佳路径。使用 shapefile 和
st_network_cost建议的功能,我无法考虑非公路路线,所以我认为这是一个基于栅格的问题。现在的问题变成了如何将道路、拓扑等纳入这个成本函数。 -
@PabloHerrerosCantis 加速功能不适用于线条,仅适用于多边形。请参阅我的答案,以使用 stars 包更快地栅格化线条