Export a polygon from section R as a shapefile

I am trying to export the plot contents (lines / polygons) as a layer / shapefile that I can open in ArcMap. These are some of the libraries that I used,

library(shapefiles) library(PBSmapping) library(adehabitatHR) library(maptools) library(maps) library(rgdal) library(igraph) 

My lat / long data looks like this:

 tagdata<-read.table(text="meanlat meanlong -18.63327 147.0248 -18.6368 147.0238 -18.62068 147.294 -18.62953 147.2942 -18.62953 147.2942 -18.62091 147.2938 -18.62953 147.2942 -18.62466 147.2926 -18.73393 147.2816 -18.73393 147.2816 -18.75383 147.2541 -18.75383 147.2541 -18.75383 147.2541 -18.75383 147.2541 -18.6368 147.0238 -18.63063 147.0256 -18.63063 147.0256 -18.68133 147.1164 -18.6368 147.0238 -18.63063 147.0256 -18.63063 147.0256 -18.75383 147.2541 -18.61273 147.0682 -18.69655 147.09 -18.6368 147.0238 -18.63063 147.0256 -18.63063 147.0256 -18.63217 147.0251 -18.75383 147.2541 -18.75383 147.2541 -18.75383 147.2541 -18.63063 147.0256 -18.68133 147.1164 -18.68133 147.1164 -18.63217 147.0251 -18.69922 147.0909 -18.73393 147.2816 -18.63632 147.0792 -18.69522 147.0896 -18.6368 147.0238 -18.75383 147.2541 -18.75383 147.2541 -18.75383 147.2541",header=TRUE) 

I built a location and computed a minimal convex polygon (MCP) using the AdehabitatHR package.

 plot(tagdata$meanlong,tagdata$meanlat, col="red",pch=1) loc<-tagdata[ ,c("meanlong","meanlat")] coord<-SpatialPoints(loc) poly<-mcp(coord,percent=100) plot(poly,add=TRUE) 

I know how to export / burn points as a shapefile that I can open in ArcMap or similar software tools,

For instance:

 loc<-SpatialPoints(loc) # #convert loc to spatial points rem<-tagdata[c(-1:-2)] SpatialPointsDataFrame(coords=loc,data=rem) obj<-SpatialPointsDataFrame(coords=loc,data=rem) writePointsShape(obj,"myshape.shp") 

However, I did not find a good way to do this with the polygon o polygon. I would like to be able to export / burn a poly object with MCP as a shapefile. Any suggestions?

+4
source share
1 answer

rgdal is excellent for this kind of thing. http://www.gdal.org/ has most of the information you may wish in which formats are supported.

In this case, you need the writeOGR function

 # this will create a shapefile called poly within the working directory library(rgdal) writeOGR(poly, dsn = '.', layer = 'poly', driver = "ESRI Shapefile") 

You can just as easily use it to write any shape file (point, polygon, etc.), but they should be SpatialxxxDataFrame objects

 coorddf <- SpatialPointsDataFrame(coord, data = data.frame(dummy = rep(1,nrow( coord@coords )))) writeOGR(coorddf, dsn = '.', layer = 'mypoints', driver = "ESRI Shapefile") 
+11
source

All Articles