- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于 Shiny uni 项目,我正面临着跨越太平洋日期变更线的折线问题。从一个中心(武汉)我想创建 72 条线,显示它们连接不同地区。我已经创建了一个循环以确保 Longitudes > 0 已更改为大于 0 的经度。 有没有人有解决方案使折线正确穿过日期变更线?
在照片中,您可以看到我当前的情节没有正确越线。
library(leaflet)
library(geosphere)
library(sp)
df <- read.table(text = "
Longitude.Central Latitude.Central Longitude Latitude
112.2707 30.97564 117.2264 31.82571
112.2707 30.97564 116.4142 40.18238
112.2707 30.97564 4.4699 50.50390
112.2707 30.97564 -71.0589 42.36010
112.2707 30.97564 -123.1210 49.28270
112.2707 30.97564 104.9910 12.56570",
header = TRUE)
p1 <- as.matrix(df[,c(1,2)])
p2 <- data.frame(df[,c(3,4)])
p3 <- matrix(nrow = length(p2))
for (j in 1:nrow(p2)) {
if (p2[j,]$Longitude < 0) {
p3[j] <- p2[j,]$Longitude + 360
} else {
p3[j] <- p2[j,]$Longitude
}
}
p2 <- as.matrix(cbind(p3, p2$Latitude))
df2 <- gcIntermediate(
p1, p2,
n = 72,
addStartEnd = TRUE,
sp = T)
leaflet( ) %>%
setView(df$Longitude.Central[[1]], lat = df$Latitude.Central[[1]], 1) %>%
addTiles(urlTemplate = "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png") %>%
addPolylines(data = df2, weight = 1
)
# Head of the data
> head(df)
# A tibble: 6 x 4
Longitude.Central Latitude.Central Longitude Latitude
<dbl> <dbl> <dbl> <dbl>
1 112.2707 30.97564 117.2264 31.82571
2 112.2707 30.97564 116.4142 40.18238
3 112.2707 30.97564 4.4699 50.50390
4 112.2707 30.97564 -71.0589 42.36010
5 112.2707 30.97564 -123.1210 49.28270
6 112.2707 30.97564 104.9910 12.56570
最佳答案
有几件事你可以尝试。一种是使用breakAtDateLine = TRUE
gcIntermediate
中的选项:
df2 <- gcIntermediate(
p1, p2,
n = 72,
addStartEnd = TRUE,
sp = T,
breakAtDateLine = T)
leaflet( ) %>%
setView(lng = df$Longitude.Central[[1]], lat = df$Latitude.Central[[1]], 1) %>%
addTiles(urlTemplate = "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png") %>%
addPolylines(data = df2, weight = 1
)
breakAtDateLine = FALSE
运行 gcIntermediate 函数。并在我们运行该功能后手动调整纬度和经度。如果我们设置
sp=FALSE
这将是最简单的.
p1 <- as.matrix(df[,c(1,2)])
p2 <- data.frame(df[,c(3,4)])
df2 <- gcIntermediate(
as.matrix(p1),
as.matrix(p2),
n = 72,
addStartEnd = TRUE,
breakAtDateLine = F,
sp = F)
# correct the longitudes
res <- lapply(df2, function(x) {
# if direction is east, correct lon, else don't
if(x[,'lon'][2] - x[,'lon'][1] > 0){
cbind(lon =ifelse(x[,'lon']<0, x[,'lon'] + 360, x[,'lon']), lat = x[,'lat'])
} else {
x
}
})
# and convert back to sp (I just took this code from the gcIntermediate function)
for (i in 1:length(res)) {
if (!is.list(res[[i]])) {
res[[i]] <- Lines(list(Line(res[[i]])), ID = as.character(i))
}
else {
res[[i]] <- Lines(list(Line(res[[i]][[1]]), Line(res[[i]][[2]])),
ID = as.character(i))
}
}
res <- SpatialLines(res, CRS("+proj=longlat +ellps=WGS84"))
leaflet() %>%
setView(df$Latitude.Central[[1]], lat = df$Longitude.Central[[1]], 1) %>%
addTiles(urlTemplate = "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png") %>%
addPolylines(data = res, weight = 1)
关于r - 传单折线不超过日期变更线传单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60382231/
我有一个相当简单的 iPhone 应用程序,它将一组 UITableView 结果下载到其模型类中,以及一个设置为观察这些更改的 View Controller using KVO . 这个系统运行良
我们的一名团队成员(位于不同地区)已搁置 P4 中的更改,更改列表为 1234。 现在,如果我想查看 snf 修改了哪些文件,有哪些更改,我该怎么做? 我应该使用什么 P4 命令来查看我们的团队成员所
有没有办法获取特定分支的特定变更列表之后的变更列表列表? p4 changes (some flag ?) (CL#) //depot/project 最佳答案 这可以使用以下语法来完成(假设您想查看
我是 drupal 的新手,但学得很快。我有 drupal 7,我正在努力创建一个基于 Zen 的 starterkit 子主题的主题。我正在尝试找到可以自定义“提交者”行的位置。 默认情况如下: 由
我正在尝试将附件的 ShareKit API 代码更改为以下代码: dialog.attachment = [NSString stringWithFormat:@"{\"name\":\"%@\",
所以我的理解是,在 symfony 开发环境中,如果 use_controller 设置为 true,则 Assets 是通过 Controller 在页面加载时生成的。 然而,这非常耗时,并且将其设
我正在编写一个程序,它需要了解一台机器的所有 IP 地址,并且数据包通过它们的连接进行传输。我可以在运行主程序之前使用“gethostbyname”获取 IP 列表,但是如果之后有任何 IP 可用怎么
我很好奇是否有人可以概述服务器端哪些类型的 WCF 合约(接口(interface))更改会破坏尝试发送消息的客户端,以及原因。我相信 WCF 可以处理某些差异,但我不确定您可以安全地更改哪些内容以及
在 AngularJS 中,创建和使用自定义服务进行 DOM 操作并在 UI 的不同部分共享相同的功能是一种常见的做法,我的问题也与此案例相关,如下所示: 我的应用程序中有一个侧边栏组件和一个用于最小
我尝试使用像 WPF-MVVM 这样的 Knockout。 在 WPF 中,有一个选项可以在属性更改时通知虚拟机。 例如:如果我有一个文本框,我可以使用 UpdateSourceTrigger=Pro
我需要一些使用 Apollo 2.1 中新的查询和突变组件的帮助,尤其是多个查询和突变。 我有以下问题: 我有一个 graphql 请求,该请求依赖于之前的 graphql 结果,我该如何处理这个问题
Paypal 似乎已经改变了他们的 IPN 测试界面。 (将 IPN 欺骗到您的 IPN 页面以进行测试。 以下是我现在从IPN收到的数据。 KEY: receipt_ID - VALUE: KEY:
从雅虎财经请求数据似乎已经改变或现在被阻止。以下商品数据请求自 2017 年 5 月起不再有效。有谁知道是否有新的方式来提出此请求? http://chartapi.finance.yahoo.c
In this post他们在 LinkedIn 上提到开放 API 仍将支持与公司 API 共享内容,但如果您进一步查看他们的 Developer Program Transition Guide他
我对 Xcode 很陌生,我想在添加可能会破坏我的项目的更改之前弄清楚版本控制。我正在单独处理这个项目,并且在我的 mac 上保存了一个 Git 存储库,所以我认为我不需要将它与 GitHub 帐户链
我是一名优秀的程序员,十分优秀!