什么是与我的shapefile相关的proj4字符串?

时间:2013-10-26 23:24:49

标签: r gis

我正在跟踪this教程中的“一些简单的地图”步骤,试图从here为新奥尔良的邮政编码地图上色(我在2011年新奥尔良使用.shp文件)来自该链接的数据)。

当我尝试像教程中那样加载文件时,我收到以下错误:

nolazip.shp <- readShapePoly("/PathTo/Orleans_ZCTA_2010_SP.shp", proj4string=CRS("+proj=longlat"))
Error in validityMethod(as(object, superClass)) : 
  Geographical CRS given to non-conformant data: 3820725.379655  613426.584024  

基于this文档,看起来这个错误意味着形状文件不使用带有效longlat数据的proj4string。

它是否使用其他类型的proj4string或CRS对象?

我做了这些命令试图找出,搜索CRS的输出但没有找到任何东西。

    > summary(orcounty.shp)
    > str(orcounty.shp)

我可以通过在readShapePoly命令中省略proj4string参数来导入形状文件,但这不是一个可行的解决方案,因为当我按照“一些简单的地图”部分时,地图不会出现在绘图窗口中(我需要的唯一部分)。

  1. 与我的shapefile相关的proj4字符串是什么?如何将其作为readShapePoly的输入
  2. 我是否还有其他方法可以导入适用于此制图方法的shapefile?同样,简单地省略有问题的参数意味着地图不会出现在R studio的情节中。

2 个答案:

答案 0 :(得分:5)

我会使用readOGR解决这个问题,ggplot2会保留投影信息,因此您不必像上面的问题一样搞乱它。这里似乎是相同的shapefile(从this US government site下载)读入然后在RColorBrewer中绘制。化妆品可能需要整理,但这会给你一些ggplot2和鳞片以及其他aes事物的练习。 [编辑 - 在geom_polygon]

中添加了遗失的# if the packages are not installed, you will have to install and load them. install.packages("rgdal") install.packages("ggplot2") install.packages("scales") library(rgdal) library(ggplot2) library(scales) require(rgdal) require(ggplot2) require(scales) work.dir <- "your_dirname" # your directory # no trailing slash orl <- readOGR(work.dir, layer = "Orleans_ZCTA_2010_SP") orl.df <- fortify(orl) # ggplot needs data frame, not spatial object ggplot(data = orl.df, aes(x = long, y = lat, group = group)) + geom_polygon(aes(fill = orl.df$group)) + coord_equal() + theme(legend.position = "none") 来电
{{1}}

orleans

答案 1 :(得分:0)

@SlowLearner的答案是解决潜在问题的好方法。对于刚刚来到这里寻找标题问题的其他人:

与我的shapefile关联的proj4字符串是什么?

area <- rgdal::readOGR(dsn = "path/to/shape.shp")

rgdal::CRSargs(area@proj4string)