2013-10-26 2 views
3

Я следую шагам «Некоторые простые карты» от this учебник, пытаясь покрасить карту почтового индекса Нового Орлеана с here (Я использую .shp-файл в данных Нового Орлеана 2011 из этой ссылки).Что такое строка proj4, связанная с моим шейп-файлом?

Когда я пытаюсь загрузить файл, как в учебнике я получаю ошибку ниже:

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 документации, это выглядит как эта ошибка означает, что файл форма не использует proj4string с действительной longlat данные.

Использует ли он какой-либо другой объект proj4string или CRS?

Я выполнил эти команды, чтобы попытаться выяснить, выполнив поиск для CRS, но ничего не нашел.

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

Я могу импортировать файл формы, просто оставляя параметр proj4string в команде readShapePoly, но это решение не выполнимо, так как карта не отображается в окне сюжета, когда я следовать «Некоторые простые карты "(нужен только раздел).

  1. Какая строка proj4 связана с моим шейп-файлом? Как это сделать в качестве ввода readShapePoly
  2. Есть ли другой способ импортировать шейп-файл, который будет работать с этим методом картографирования? Опять же, просто отказ от проблемного параметра означает, что карта не отображается в сюжете в студии R.

ответ

5

Я бы воспользовался этим, используя readOGR, который сохраняет информацию о прогнозе, поэтому вам не придется обходиться с ним, как вы в своем вопросе выше. Вот то, что кажется одним и тем же шейп-файлом (скачанным с this US government site), который затем записывается в ggplot2. Косметику, вероятно, нужно убрать, но это даст вам некоторую практику с RColorBrewer и весы и другие вещи ggplot2. [Edit - добавил отсутствует 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") 

orleans

+0

который отлично работал. Благодаря! – bernie2436

0

Ответ @SlowLearner является хорошим решением основной проблемы. Для всех остальных, кто только пришел сюда для названия вопроса:

Что такое строка proj4, связанная с моим шейп-файлом?

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

rgdal::CRSargs([email protected]) 
Смежные вопросы