如何从R中的州边界获取纬度和经度数据

Posted

技术标签:

【中文标题】如何从R中的州边界获取纬度和经度数据【英文标题】:How to get latitude and longitude data from the borders of a state in 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级”只是国家的轮廓。 【参考方案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”有州级行政区域。

以上是关于如何从R中的州边界获取纬度和经度数据的主要内容,如果未能解决你的问题,请参考以下文章

给定每个区域的边界和纬度/经度,以编程方式查找州/县

R中州代码的纬度经度坐标

如何从android中的纬度和经度获取完整的地址? [复制]

如何使用 ionic 中的 java 脚本从谷歌地图中的地址获取经度和纬度

如何从 windows phone 中的纬度和经度值获取地址?

如何从C#中的地址获取纬度和经度