[R-sig-Geo] Writing ArcGIS Shapefiles from R; advice?

Michael Sumner mdsumner at gmail.com
Wed Sep 8 00:19:55 CEST 2010


Shapefiles don't have separate layers, and one layer can only have one
geometry type (point, line, or polygon). GDAL can treat a single
folder with multiple shapefiles as if each shapefile were a separate
layer in a single dataset, but that is just GDAL functionality,
reflecting the OGR model, and is supported by other vector formats.

I'm not very familiar with Arc? products, so I'm not 100% on this, but
I think you would need to write each separate set of polygons, each
with an individual depth value, to a separate shapefile and proceed
from there. I don't know anything about how to get Arc to understand
configurations of shapefiles, but perhaps you could use one of the
other ESRI formats such as E00 (guessing here, I'll have a closer look
at the OGR formats - see rgdal's ogrDrivers() for the ones available
on your system).

If your SpatialPolygonsDataFrame really has multiple duplicate (in
X/Y) polygons with the separate depths, you can subset it for
individual depths with "[" and write those out individually:

e.g.

depth0 <- splydf[splydf$depth == 0, ]

HTH

Cheers, Mike


On Wed, Sep 8, 2010 at 8:07 AM, Gavin Simpson <gavin.simpson at ucl.ac.uk> wrote:
> Dear List,
>
> Firstly, a confession: I'm not a GIS expert and I have next to no
> experience of using ArcGIS or shapefiles. Apologies if anything I write
> below is stupid!
>
> I have an ESRI ASCII grid file that I have read into R and successfully
> (with the help of this list) processed it into a
> SpatialPolygonsDataFrame object (via SpatialPixelsDataFrame). I have
> unionised the polygons to a set of depth intervals, so all the
> individual polygons associated with depths (say) between 1 and 2 m are
> given the same ID; there are several depth intervals, therefore several
> IDs. This is fine, and I'm happy with this, but I need to export this
> object to ESRI Shapefile(s).
>
> I have exported the whole SpatialPolygonsDataFrame object to a single
> shapefile but when my colleagues open this in ArcGIS, there is a single
> layer for all depth levels and they'd like to be able to have a layer
> per polygon ID. Is this possible, to write out the
> SpatialPolygonsDataFrame object such that ArcGIS knows that each polygon
> ID is a separate layer?
>
> I have worked out how to break apart the SpatialPolygonsDataFrame object
> into the equivalent but with a single ID (depth interval), and have
> written those out into separate shapefiles, one per depth interval,
> which when loaded into ArcGIS are represented by separate layers, but
> dealing with more than a few shapefiles at once is proving
> "difficult" (!??!) for some, hence if it were possible to produce a
> single shapefile with separate "layers" that might solve that particular
> issue.
>
> Second Q is; is there a way to include information about how ArcGIS
> displays each layer/shapefile? For example, we'd like to give each
> layer/shapefile a particular fill colour, so that when loaded by a user
> into ArcGIS, the particular depth polygons have a nice gradient
> representing depth. Is this even remotely possible from within R, or is
> this something ArcGIS does and is separate from the shapefile per se?
>
> Currently I am using writeOGR to read out these objects to ESRI
> shapefiles.
>
> The reason I ask these questions is because we have a lot of these lake
> bathymetries and dealing with them in ArcGIS (to get separate layers and
> colour those layers accordingly) by hand is a non starter and we don't
> want to start writing VB scripts in Arc at this stage.
>
> Thanks in advance for any pointers or suggestions you may have. And
> apologies again for showing my ignorance as regards shapefiles.
>
> All the best,
>
> Gavin
>
> --
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
>  Dr. Gavin Simpson             [t] +44 (0)20 7679 0522
>  ECRC, UCL Geography,          [f] +44 (0)20 7679 0565
>  Pearson Building,             [e] gavin.simpsonATNOSPAMucl.ac.uk
>  Gower Street, London          [w] http://www.ucl.ac.uk/~ucfagls/
>  UK. WC1E 6BT.                 [w] http://www.freshwaters.org.uk
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>



-- 
Michael Sumner
Institute for Marine and Antarctic Studies, University of Tasmania
Hobart, Australia
e-mail: mdsumner at gmail.com



More information about the R-sig-Geo mailing list