【问题标题】:Plotting data points on a map in R with unknown latitude and longitude format在 R 中以未知的纬度和经度格式在地图上绘制数据点
【发布时间】:2015-05-18 08:32:07
【问题描述】:

我没有使用地图的经验,但我尝试使用数据集中包含的纬度和经度列绘制采样图。

到目前为止,我已经关注了一个帖子并尝试了这个,但没有成功。

> head(test,15)
       Country LATITUDE LONGITUDE
3      Austria   474600    161900
4      Finland   693400    285300
5        Italy   415000    133500
6  Switzerland   470300     84200
9      Estonia   593300    260200
10    Slovenia   462200    135600
11    Bulgaria   424600    234500
13     Austria   480600    125200
14     Finland   615200    241200
27     Finland   615100    241800
28     Belgium   510400     30200
29 Switzerland   474100     83200
32    Slovenia   462900    163100
35      Poland   543300    181600
38     Austria   472900    132500

library(rworldmap)
newmap <- getMap(resolution = "low")
plot(newmap, xlim = c(-20, 59), ylim = c(35, 71), asp = 1)
points(test$LONGITUDE, test$LATITUDE, col = "red", cex = .6)

我认为 R 可能无法识别这些纬度和经度格式? 谢谢

【问题讨论】:

  • 正确。这些是 6 位整数。你有关于他们的任何信息吗?可以猜测,但通常最好有一些想法。
  • 完全不知道。我包括了这些点所在的国家/地区名称,以便有人可以弄清楚这些坐标可能代表什么,但除此之外,这就是我所拥有的。谢谢
  • 你为什么不查一下几个国家的纬度和经度(可能是某个质心位置),或者查一下首都的坐标。也许如果您的数字很接近,您可以转换这些数字,然后在前两位数字之后插入一个句点(点)(至少对于纬度)。对于经度,您可能需要在五位数字中插入一个尾随零,然后在左数第二位之后插入句点。

标签: r coordinates geospatial latitude-longitude ggmap


【解决方案1】:

将坐标重新投影到纬度/经度的替代方法(如果您不知道数据点当前所在的坐标系可能会很麻烦)是使用包 ggmap:

library(ggmap)

#get coordinates from google maps
coords = geocode(as.character(test$Country))

#add points to map
points(coords$lon,coords$lat,col="red")

当然,由于该包使用谷歌地图来查找坐标,它只适用于更简单的任务(例如查找国家坐标),并且您被 api 限制为每天最多 2500 个查询。

【讨论】:

  • 感谢您的建议。但是,在每个国家/地区内有时都有几个点。此外,最终目的是出版,因此每个地块的准确位置的准确性很重要。再次感谢
  • 1 - 取一小块桌子,例如芬兰。 2- 猜测可能的投影。 3- 尝试这些不同的项目,直到您的点被映射到芬兰。也许这会有所帮助。但似乎你有不常见的投影系统。 nceas.ucsb.edu/~frazier/RSpatialGuides/…
  • 感谢您的建议,我会尝试的。干杯
猜你喜欢
  • 2012-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-08
  • 2014-07-18
  • 2017-10-09
  • 1970-01-01
相关资源
最近更新 更多