[R] Plot/manage spatial boundary data

Roger Bivand Roger.Bivand at nhh.no
Fri Jun 10 09:08:46 CEST 2005


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. 

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)?

> 
> >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
> 

-- 
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no




More information about the R-help mailing list