@ jazzurro คุณสามารถทำได้อย่างสมบูรณ์แบบด้วย R เพียงค้นหาแพ็คเกจ osmar! อ่านเอกสารของ osmar (osmar.r-forge.r-project.org/RJpreprint.pdf) ที่หน้า 11 หน้าคุณสามารถค้นหาตัวอย่างโดยละเอียดสำหรับการแยกถนน / ทางหลวงด้วยแท็กตามรายการสำหรับ munich.osm! หลังจากดึงและแยกข้อมูลจากไฟล์ดาวเคราะห์สำหรับออสเตรเลียคุณสามารถแปลงเป็นรูปแบบใดก็ได้ที่คุณต้องการ!
แก้ไข:
เนื่องจากนักวิจารณ์บางคนบ่นว่าไม่มีตัวอย่างฉันจะโพสต์ตัวอย่างจากเอกสาร IMHO ไม่จำเป็นที่จะต้องพิมพ์ตัวอย่างที่มีอยู่อีกครั้งที่นี่ใช่ไหม
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")