【问题标题】:R maps plotting longitude and latitude pointsR地图绘制经度和​​纬度点
【发布时间】:2012-04-19 09:20:05
【问题描述】:

我有一张美国地图和一张我想绘制的长纬度列表。一旦我得到这个工作,我也想切换到“世界”地图。地图已生成,但地图上未显示任何点。 TSV 文件的第一行包含此标头:

LONG{tab}LAT
R 似乎正在“交通”表中读取。我究竟做错了什么? 图书馆(“地图”) 流量 = read.table("C:/temp/traffic_10.40.tsv", header=T, sep="\t") png(filename="C:/temp/usa.png", width=850, height=600, bg="white") 地图(“状态”,绘图 = TRUE,填充 = FALSE,col = 调色板()) 标题(“目的地”) 点(x=traffic$LONG,y=traffic$LAT,col='red',cex=0.75) dev.off()

编辑

> 输入(流量) 结构(列表(长 = c(47.6218、32.7942、34.1121、40.0068、47.6218、 33.9553、33.7629、40.0068、39.05、38.1075、33.7629、32.769、37.3857、 29.4576、34.1674、38.8147、32.7942、31.1429、40.3254、30.3059、 38.2248、47.6218、33.9553、38.1075、27.1943、29.4576、30.5175、 38.5668、42.6657、40.2982、32.7539、40.6698、47.6742、32.7942、 47.6218, 35.8219), LAT = c(-122.35, -96.7653, -118.411, -75.1347, -122.35,-83.3937,-84.4226,-75.1347,-77.4833,-122.264,-84.4226, -96.5998、-122.026、-98.5054、-84.8014、-77.0647、-96.7653、-81.471、 -78.9195、-97.7505、-85.7412、-122.35、-83.3937、-122.264、-80.2432、 -98.5054、-97.6721、-121.467、-73.799、-111.698、-97.3363、-73.9438、 -122.115, -96.7653, -122.35, -78.6588)), .Names = c("LONG", "LAT" ), class= "data.frame", row.names = c(NA, -36L))

另外,我是一名 R 新手,并尝试在 google 上找到此内容,但成功有限,因为我不确定要准确搜索什么。

【问题讨论】:

  • 很难说没有访问您的数据。有什么办法可以在线发布 .tsv 或 png 文件?
  • 或...在线发布数据?最简单的方法是复制并粘贴dput(traffic)的结果;或者如果它是一个大数据集,试试dput(traffic[1:10,]
  • 您的美国地图似乎是 PNG 文件。这没有与之关联的地理坐标,因此无法知道给定的经纬度点在哪里。它甚至可能是在一个有趣的投影中,或者为了紧凑,阿拉斯加可以隐藏在加利福尼亚海岸附近,而夏威夷则在海湾。您需要一个适当的地理参考栅格文件,或了解 PNG 的投影和坐标。
  • 可能值得将帖子重新发布/移动到gis.stackexchange.com 那里有一些Rmapping 的问题。
  • @jftuga,感谢您提出这个问题。我是空间统计的新手,昨天尝试了几个小时来生成带有绘图点的地图。你的例子正是我想要的。

标签: r maps latitude-longitude


【解决方案1】:

一种选择是为此使用googleVis。你可以用 Google-Maps 的方式绘制你的点。

【讨论】:

  • 我需要输出到 PNG,所以我认为这不会有帮助。
【解决方案2】:

已修复。我交换了 $LAT 和 $LONG。现在它完美运行了。

点(x=traffic$LAT,y=traffic$LONG,col='red',cex=0.75)

【讨论】:

    【解决方案3】:

    问题出在您的数据集中,而不是您以后的代码。

    第一个点有一个坐标47.6218 和另一个-122.35Latitudes 不能超出范围 [-90,90] 度,因此 longitude 必须是 -122.35 和纬度 47.6218,与您的数据集相反。 This is slightly north of the Seattle Space needle

    x(水平)传统上是经度或东经; y(垂直)传统上是纬度或北纬

    【讨论】:

    • 谢谢。这是有道理的。我调整了我的代码(以正确的方式),它运行得很好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    相关资源
    最近更新 更多