@jazzurro,您完全可以使用R做到这一点,只需查找osmar包即可!阅读osmar文档(osmar.r-forge.r-project.org/RJpreprint.pdf)。在第11页上,您可以找到通过munich.osm的相应标签提取道路/高速公路的详细示例!从澳大利亚的行星文件中提取并提取数据后,您可以将其转换为所需的任何格式!
编辑:
由于一些评论员抱怨缺少示例,因此我将在文档中发布示例。恕我直言,这里没有必要重新输入现有示例,不是吗?
library(maptools)
library(osmar)
url <- "http://osmar.r-forge.r-project.org/"
file <- "muenchen.osm.gz"
download.file(sprintf("%s%s", url, file), file)
unzip("gzip -d muenchen.osm.gz") # gzip is linux only, on windows I unzipped this manually with 7zip!
src <- osmsource_osmosis(file = "muenchen.osm")
muc_bbox <- center_bbox(11.575278, 48.137222, 3000, 3000)
muc <- get_osm(muc_bbox, src)
muc
summary(muc)
hw_ids <- find(muc, way(tags(k == "highway")))
hw_ids <- find_down(muc, way(hw_ids))
hw <- subset(muc, ids = hw_ids)
plot(muc)
plot_ways(hw, add = TRUE, col = "green")
# convert to spatial object (SpatialLinesDataFrame)
# and save to whatever format you like..
hw_line <- as_sp(hw, "lines")