x

Re: Straßen mit Hausnummern als csv Datei mit lon und lat


Geschrieben von moenk (Gast) am 04. März 2015 10:26:12: [flux]

Als Antwort auf: Straßen mit Hausnummern als csv Datei mit lon und lat geschrieben von sejoruwi (Gast) am 03. März 2015 22:59:

Moin,

hier mal ein Schnippsel in R der Dir gefallen könnte:

  1. osm points extractor by moenk

library(sp)
library(raster)
library(spatial)

  1. set working dir

setwd("~")

  1. create executables

system("wget -O - http://m.m.i24.cc/osmfilter.c | cc -x c - -O3 -o osmfilter")
osmfilter="~/osmfilter"
system("wget -O - http://m.m.i24.cc/osmconvert.c | cc -x c - -lz -O3 -o osmconvert")
osmconvert="~/osmconvert"

  1. download OSM data

download.file("http://download.geofabrik.de/europe/germany/berlin-latest.osm.pbf",destfile="osmdata.pbf")
system("./osmconvert osmdata.pbf -o=osmdata.o5m")

  1. run the filter

system(paste(osmfilter,"osmdata.o5m","--keep= --keep='addr:housenumber='","-o=osmdata.osm",sep=" "))

  1. export to CSV

system("./osmconvert osmdata.osm --all-to-nodes --csv='@lon @lat name website' --csv-headline -o=osmdata.csv")

  1. load to data frame

osmpoints=read.csv("osmdata.csv",sep="\t")

  1. make shapefile

shapefile=SpatialPointsDataFrame(as.matrix(osmpoints[,1:2]),osmpoints)
projection(shapefile)="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"
plot(shapefile)

  1. save as KML

writeOGR(shapefile, "osmdata.kml", "osmdata", "KML")

LG,

-moenk