【问题标题】:How to get latitude and longitude data from the borders of a state in R如何从R中的州边界获取纬度和经度数据
【发布时间】:2016-04-20 12:29:43
【问题描述】:

这是我的问题:我需要从巴西各州的边界获取经度和纬度数据。有了这些数据,我可以绘制巴西每个州的地图,当然还有整个国家的地图。

我对 R 很陌生,但我知道它有一些包可以绘制地图,也可以从城市、国家等获取纬度和经度数据。

问题是我需要每个州边界的纬度和经度,而不仅仅是地图。我需要数据来构建地图,我不知道是否可以在 R 中获取此类数据。

有人可以帮我吗?

【问题讨论】:

  • 您正在寻找一个 shapefile。有很多来源,质量参差不齐。这是one
  • 我尝试下载 R 格式的数据,但是当我打开它时,R 给出了这条消息:> load("/Users/myuser/Downloads/BRA_adm0.rds") Error: bad restore file magic number (file may be corrupted) -- no data loaded In addition: Warning message: file ‘BRA_adm0.rds’ has magic number 'X' Use of save versions prior to 2 is deprecated
  • 你需要使用能理解数据的包。我通常使用rgdal::readOGR 来加载shapefile。
  • 糟糕,它实际上说在文档中使用sp::readRDS
  • 另外,如果你想要状态,你可能想要“1 级”(BRA_adm1.rds)。我认为“0级”只是国家的轮廓。

标签: r maps geospatial shapefile geo


【解决方案1】:

我认为您想下载 shp 文件而不是 r poly 文件。然后,您可以简单地解压缩,然后使用 maptools 包加载形状文件。

require(maptools)
brazil <- readShapeLines("BRA_adm0.shp")
plot(brazil)

这实际上会生成巴西的轮廓图。我相信您可以简单地使用 plot 对附加的 shp 文件进行分层。您可能必须合并空间线数据框才能使用其他图形包,例如 ggplot2。

【讨论】:

  • 谢谢!它适用于绘制巴西的轮廓,但我试图了解 shapefile 中的经度和纬度数据在哪里。我以前曾在 GIS 上工作过(我是一名统计学家),所以我遇到了问题。
  • 我需要将shape文件转换为long/lat文件吗?
  • zip 文件夹中有许多不同的形状文件。看起来它们每个都包含不同行政级别的信息。只需加载一些其他文件。我认为“BRA_adm1.shp”有州级行政区域。
猜你喜欢
  • 2014-08-29
  • 2013-01-16
  • 1970-01-01
  • 2014-02-12
  • 2011-06-05
  • 1970-01-01
  • 2012-09-07
  • 2011-03-17
  • 2019-08-04
相关资源
最近更新 更多