我是R地图的新手,我想在地图上以图形方式显示植物物种分布作为多边形。我有一个UTM坐标的csv文件。我正在使用R中的地图和maptools程序,我已经能够读取现有的ESRI shapefile。我所看到的讨论帖似乎都涉及阅读现有的shapefile并对其进行一些编辑和重写"他们退了出去。有没有一种简单的方法将我的csv文件转换为shapefile以进行映射?谢谢你的帮助,Eric
答案 0 :(得分:0)
您应该有关于坐标参照系的更多信息。而且我不确定你对'polygon'的意思:我认为.csv只能包含坐标点。
以下是工作流程的示例:创建一个简单的data.frame;设定坐标;写shapefile;读回shapefile;并绘制简单的地图。希望能帮助到你。您可以尝试导入.csv。
,而不是创建data.frame# Load libraries
library(sp)
library(rgdal)
# set CRS . For epsg code, see http://spatialreference.org/
projTest<-CRS("+init=epsg:28992")
# create a temp dir for shapefiles
trashMap<-tempdir()
# create dumb data:
occData<-data.frame(x=c(12,13,14,20),y=c(0,1,4,9),obs=c("a","b","c","d"))
# set x and y as coordinates
coordinates(occData)<-c('x','y')
# assign CRS
proj4string(occData)<-projTest
# write simple shapefile in trashMap dir
writeOGR(occData, trashMap, layer='testLayer', driver="ESRI Shapefile")
# get list of Layers
layers<-ogrListLayers(trashMap)
# read shapefile and selected layer
occData2<-readOGR(trashMap, layers)
# Modify data
occData2$newColumn<-c('no','stress','','dude')
occData2
# verify that is projected
is.projected(occData2)
# display projection type
proj4string(occData2)
# print maps before and after export in shapefile.
print(spplot(occData, auto.key=F, col.regions='black', scales=list(draw=T), pch=2, cex=1))
print(spplot(occData2, auto.key=F, col.regions='black', scales=list(draw=T), pch=2, cex=1))