[R] Plot/manage spatial boundary data
David Forrest
drf5n at maplepark.com
Fri Jun 10 19:44:32 CEST 2005
On Fri, 10 Jun 2005, Roger Bivand wrote:
> On Thu, 9 Jun 2005, David Forrest wrote:
>
> > I have some disconnected boundary data from a finite element ocean model
> > and I'd like to make a plot.
> >
> > Maptools looks promising, but since my data is not in a shapefile or a
> > map, I'm unclear on what the best way to approach the problem.
>
> If the line segments are unconnected, you will first need to establish
> (short) lists saying which segments (in which order and direction) bound
> each polygon to be filled with colour when plotting. A package you can
> consider for "rolling your own" spatial rings is sp, which is on CRAN.
The segments are largely connected -- my domain is bounded by a list of
open boundary segments, land boundary segments, and several islands.
library(sp) looks like the proper tool.
> Once you have the list describing segment membership, order and direction
> for each ring, building a SpatialRings object is not difficult. The hard
> bit is going from spaghetti line segments to the list imposing order.
>
> Alternatively, the PBSmapping package may have suitable functions for
> coersing polySet objects into rings. If your coordinates were in the
> Pacific, I'd say PBSmapping might already have what you need, but your
> example coordinates are Atlantic.
>
> (Could I suggest moving this discussion to R-sig-geo, referenced in the
> "Spatial" Task View on CRAN (top left corner in navigation bar)?
Sure. I just subscribed.
How do you find the Task Views? I found the mailing list off of
http://www.r-project.org/ -- Mailing Lists and the CRAN link brings up
mirrors.
Doh! I just answered my own question; these are different:
http://www.r-project.org/
http://cran.r-project.org/
I thought they were simple mirrors of the homepage for downloading, but
the menus are different.
The page at http://cran.r-project.org/ Task Views / Spatial
http://cran.r-project.org/src/contrib/Views/Spatial.html looks like just
what I need. Thanks again.
> >
> > >geom[1:10,]
> > lon lat depth
> > 1 -75.42481 35.58192 16.172
> > 2 -75.40726 35.58567 18.045
> > 3 -75.41351 35.60312 17.333
> > 4 -75.38888 35.58959 20.787
> > 5 -75.39495 35.60706 19.834
> > 6 -75.36964 35.59370 20.950
> > 7 -75.37556 35.61159 20.941
> > 8 -75.35530 35.61660 23.107
> > 9 -75.34950 35.59800 22.960
> > 10 -75.33418 35.62194 23.934
> >
> > >island1<-c(2,3,4,2)
> > >water<-c(1,3,5,7,8,10)
> > > land<-c(1,2,4,6,9,10)
> > > plot(geom$lon[land],geom$lat[land],pch='.',t='l')
> > lines(geom$lon[water],geom$lat[water],pch='.',t='l',col="blue")
> > lines(geom$lon[island1],geom$lat[island1],pch='.',t='l',col="green")
> >
> > The above is toy-sized: dim(geom) is on the order of 120000,3 and there
> > are about 30 different islands. Maptools seems devoted to shapefiles,
> > and it is unclear how to create 'polylists'.
> >
> > Is there a good way to manage and graph data defined on irregular grids?
> >
> > Dave
Dave
--
Dr. David Forrest
drf at vims.edu (804)684-7900w
drf5n at maplepark.com (804)642-0662h
http://maplepark.com/~drf5n/
More information about the R-help
mailing list