[英]Missing markers/points in map
我還是 Rshiny 和 Leaflet 包的新手,所以需要一些幫助來了解我哪里出錯了。 我之前問過一個非常相似的問題,然后我收到了我正在使用的解決方案。 這是同一問題的變體。
我有一個英國郵政編碼,我有緯度和經度值,我們稱之為原始郵政編碼。 我有一個數據框,其中包含其他郵政編碼及其相應的緯度和經度。 我有一個滑動條輸入,它是以英里為單位的原始郵政編碼的半徑,其范圍可達 200 英里。 我可以加載應用程序,但我看不到地圖上顯示的其他郵政編碼標記。 我也得到以下
Discarded datum OSGB_1936 in CRS definition Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO") : Discarded datum OSGB_1936 in CRS definition
我在下面發布我的代碼:
library(shiny)
library(leaflet)
library(shinyjs)
library(rgeos)
library(tidyverse)
crime_df <-
data.frame(Postcode =
"WN1 3LU",box =2,
Latitude =
53.546367,
Longitude =
-2.620909)
crime <-
data.frame(Postcode =
c("BL7 9YH","BT36 7WE"),box =c(7,1),
Latitude =
c(53.613982,53.613982),
Longitude =
-2.406439,-2.406439)
coordinates(crime) = ~Longitude+Latitude
proj4string(crime) = CRS("+init=epsg:4326")
crime <- spTransform(x = crime, CRS = CRS("+init=epsg:27700"))
ui <- fluidPage(shinyjs::useShinyjs(),
fluidPage(
# Give the page a title
titlePanel("Crime Map"),
mainPanel(leafletOutput("map")),
fluidRow(column(
3,
sliderInput(
"miles",
"Miles from location",
min = 1,
max = 200,
value = 100,
width = '120px'
)))))
server <- function (input, output, session) {
output$map <- renderLeaflet({
inside_df <- inside_df()
leaflet(crime_df) %>%
addTiles() %>%
setView(lng = -1.525,
lat = 55,
zoom = 5) %>%
addMarkers(
lng = inside_df$Longitude,
lat = inside_df$Latitude,
popup = inside_df$Postcode
)
})
circle <- reactive({
location <- crime_df %>%dplyr::select(Latitude, Longitude)
coordinates(location) <- ~Longitude+Latitude
proj4string(location) = CRS("+init=epsg:4326")
location <- spTransform(location, CRS = CRS("+init=epsg:27700"))
circle <- gBuffer(location, width = input$miles * 1609.34)
circle
})
inside_df <- reactive({
circle = circle()
inside = crime[circle,] # find points inside the circle
inside = spTransform(inside, CRS("+init=epsg:4326"))
inside_df = as.data.frame(inside)
inside_df
})
}
shinyApp(ui = ui, server = server)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.