[R-sig-Geo] stuck on importing and projecting shapefiles

alexandre villers alexandre.villers at cebc.cnrs.fr
Thu Dec 31 12:10:27 CET 2009


Hey Julie,

The main problem, for what I understood of working with R and spatial objects, is that you are using the wrong tools to import your data. Maptools is mostly deprecated for all the import export function with shapefile/rasters (but still holds interesting ones for other jobs).
You'll have to struggle a bit and get rgdal to work on your Mac ! http://cran.r-project.org/bin/macosx/
Once this is done, it will be much easier to do the job. GDAL is a very powerful, essential tool to import export data to/from R. So get to the help list for MAC, the forum and check if
- rgdal is compatible for your version of R MAC
- look for all the packages necessary to compile this packages (I couldn't download and compile rgdal with linux ubuntu because a small package was missing...). Just check through the documentation which packages are necessary to compile rgdal with MAC.

Once this is done, your work will be much more simple

You will find all the help you need on the rgdal/sp helpfile and on the Internet. But do not hesitate to ask questions on the list.


Best regards and good luck.

Alex

PS: I'm pretty sure a R / rgdal /MAC user will help you with this !

-----Original Message-----
From: Julie Lee-Yaw <julleeyaw at yahoo.ca>
To: r-sig-geo at stat.math.ethz.ch
Date: Wed, 30 Dec 2009 15:32:46 -0800 (PST)
Subject: [R-sig-Geo] stuck on importing and projecting shapefiles

Hi,
I am new to both R and spatial data and am very stuck on what I think should be a simple analysis. I am trying to do a polygon overlay analysis of two shapefiles from different sources. Before proceeding to my overlay functions, I am trying to plot my shapefiles to double check that they line up properly. In R, I am using PBSmapping and maptools and the following script:

## read in first shapefile using maptools so I can pull out only those polygons that are labeled "blue"

s1=readShapePoly("shapefile1")
s1blue=s1[s1$SYMB=="BLUE",]
s1PS=SpatialPolygons2PolySet(sp1blue)
shape1=combinePolys(sp1PS)
attr(shape1,"projection")<-"LL"

## read in second shapefile using PBSmapping routine (in this case, I need to use importShapefile because I have previously modified this function to import only select polygons from this file

shape2<-importShapefile("shapefile2", projection="LL")

## trying to plot both together:

plotPolys(shape1) ##produces reasonable looking plot
addPolys(shape2)

## I get the following error message

In .checkProjection(projectionPlot, projectionPoly) :
  The data's 'projection' attribute (LL) differs from the
projection of the plot region (NA).

This leads me to think that the projections are different and thus my downstream calculations of intersection areas will be off. The first shapefile is projected and has the following prj file attached:

PROJCS["Clarke_1866_Lambert_Conformal_Conic",GEOGCS["GCS_Clarke_1866",DATUM["D_Clarke_1866",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-95.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",77.0],PARAMETER["Latitude_Of_Origin",49.0],UNIT["Meter",1.0]]

The second shapefile is unprojected and the metadata indicates:
projection parameters: units: decimal degrees
Datum: North America 1983

Since I'm using a MAC and can't figure out how to load rgdal, I have tried importing both shapefiles into QGIS (a separate GIS program), reprojecting them and exporting them from there and re-applying my R code but I get the same error message. Does anyone have any suggestions as to what I might be doing wrong and how I can get these shapefiles into a common projection so that I can calculate the area of their intersection? Thanks in advance for the help!



Alexandre Villers
PhD. Candidate
Team Agripop
CEBC CNRS UPR 1934
79360 Beauvoir sur Niort

Phone: +33 (0)549 099 613 


__________ Information from ESET Mail Security, version of virus signature database 4731 (20091231) __________

The message was checked by ESET Mail Security.
http://www.eset.com



More information about the R-sig-Geo mailing list