[R] Using R map data to determine associated state for a coordinate?
Thomas Petzoldt
thpe at hhbio.wasser.tu-dresden.de
Thu Sep 8 12:32:41 CEST 2005
Werner Wernersen wrote:
> Hi!
>
> I have no idea if this is maybe an easy task utilizing
> R since I read there is
> geographical map data in some package:
>
> I have a huge number of geographical points with their
> coordinates in Germany.
> Now I want to determine for each point in which
> "Bundesland" = state it is located.
>
> Can anybody tell me if this is doable relatively easy
> in R and if so give me
> some hints or links how to do it?
>
> Thanks a million,
> Werner
Hello Werner,
two building blocks, but don't know if the precision meets your needs.
1. Do you have a good map of Germany *with* Federal States?
* If YES and if it's free:
==> I would be interested! Please post it's source.
* If NO:
==> Downloadable map data are available on:
http://www.vdstech.com/map_data.htm
2. The following approach reads and converts a shapefile with functions
from maptools and then follows the example of inside.owin() from the
spatstat package.
Hope that helps
Thomas Petzoldt
##########################################################
library(maptools)
library(spatstat)
ger <- read.shape("germany.shp")
plot(ger)
pger <- Map2poly(ger)
sx<- pger[[13]]
lines(sx, type="l", col="red") # Saxony ;-)
## Create an owin (observation window) object
# direction of coordinates must be reversed, in some cases
# if error message: remove rev()'s
saxony <- owin(poly=list(x=rev(sx[,1]), y=rev(sx[,2])))
# random points in rectangle
x <- runif(1000, min= 6, max=15)
y <- runif(1000, min=46, max=56)
ok <- inside.owin(x, y, saxony)
points(x[ok], y[ok])
points(x[!ok], y[!ok], pch=".")
##########################################################
More information about the R-help
mailing list