【问题标题】:Adding markers in a leaflet map made from spatial polygons dataframe在由空间多边形数据框制成的传单地图中添加标记
【发布时间】:2018-02-10 16:24:16
【问题描述】:

我想在由空间多边形文件制作的地图上放置基于 lat long 的标记(我已经在数据框中拥有此数据)。 我可以在addTiles 函数的帮助下在openstreetMap 上执行此操作,但被空间多边形文件卡住了。以下是以openstreet地图为背景的代码

    datm <- read.csv("lat_data2.csv", header = TRUE)
#This reads the lat long data file

来自该文件的样本数据:

brand      city         lon        lat
Tata Motors ADILABAD    78.5320107  19.6640624
Maruti  Adoni   77.2728368  15.6322227
Honda   Agra    78.5080745  27.1766701
Hyundai Agra    78.0080745  26.6766701

然后我使用

绘制它
leaflet(data = datm)%>%
  addProviderTiles("Esri.WorldGrayCanvas", options = tileOptions(minZoom=5, maxZoom=7))%>%
  addMiniMap(position = "bottomright")%>%
  addMarkers(datm, lng = ~lon, lat = ~lat,label = ~datm$city,icon = ~caricon)
 #caricon is a list of png icon that i have made

这给了我这个 现在我只想看印度地图,有没有办法让其他国家变成空白。

为了实现这一点,我正在尝试在印度的 shapefile 上进行相同的绘制标记练习,是否有其他方法可以做到这一点?

当我使用这段代码时

leaflet()%>%
    addPolygons(data = s)%>%
    addMarkers(lng = 73.229354, lat = 25.761765,popup = "single marker")
    # here s is a spatialolygondataframe of country india.

我知道了

但我不明白如何输入多个 lat long 来制作标记。我试过这个

      leaflet()%>%

    addMarkers(lng = datm$lon, lat = datm$lat,popup = datm$city)%>%
  addPolygons(data = s) 

但这给了我错误。 感谢您提供任何帮助我在此停留了很长一段时间,这令人沮丧。我搜索了任何类似的主题,但找不到任何可以解决我的问题的东西。

【问题讨论】:

    标签: r r-leaflet


    【解决方案1】:

    使用您的示例(此处称为 df)和一个名为 india 的 shapefile,读取类似于 india &lt;- readOGR('INDIA.shp') 您的代码应该是:

    leaflet(data = df) %>%
      addProviderTiles("Esri.WorldGrayCanvas", options = tileOptions(minZoom=5, maxZoom=7))%>%
      addMiniMap(position = "bottomright")%>%
      addMarkers(df, lng = ~lon, lat = ~lat,label = ~df$city) %>%
      addPolygons(data = india)
    

    如您所见,地图上出现了多个标记。

    您遇到的问题源于未正确编写 addMarkers 的语法,~ 需要在 latlng 参数中声明。

    【讨论】:

    • 这非常有效。谢谢您的帮助。你能给我从哪里下载这个shapefile的链接吗?因为我发现的所有 shae 文件都是政治不正确的,即它们没有显示 POK 和其他有争议的区域。
    • 很高兴为您提供帮助!形状文件来自 ArcGIS 网页 arcgis.com/home/item.html?id=cf9b387de48248a687aafdd4cdff1127
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    • 2016-11-10
    相关资源
    最近更新 更多