R 为什么不使用数字坐标而不是sf object=POINT?
我想在地图上显示点。这些点以坐标(长/纬度)表示,并以数字形式存储在数据框中。我想知道我是否真的需要将数字坐标(lon/lat)转换为点类型的sf对象。我不知道这种转换有什么好处。在本例中,我使用两列中的数字坐标,并在地图上显示它们:R 为什么不使用数字坐标而不是sf object=POINT?,r,sf,r-leaflet,R,Sf,R Leaflet,我想在地图上显示点。这些点以坐标(长/纬度)表示,并以数字形式存储在数据框中。我想知道我是否真的需要将数字坐标(lon/lat)转换为点类型的sf对象。我不知道这种转换有什么好处。在本例中,我使用两列中的数字坐标,并在地图上显示它们: data(quakes) leaflet(data = quakes[1:20,]) %>% addTiles() %>% addMarkers(~long, ~lat) 这里的数据帧(地震)不是空间的,lon/lat是数字的。但是,我可以执行
data(quakes)
leaflet(data = quakes[1:20,]) %>% addTiles() %>%
addMarkers(~long, ~lat)
这里的数据帧(地震)不是空间的,lon/lat是数字的。但是,我可以执行完全相同的操作,将数字坐标转换为sf点,然后在地图上显示它们:
coords <- quakes %>%
sf::st_as_sf(coords = c("long","lat"), crs = 4326) %>%
sf::st_geometry()
leaflet(data = coords[1:20,]) %>% addTiles() %>%
addMarkers()
coords%
sf::st_as_sf(坐标=c(“长”、“横向”),crs=4326)%>%
sf::st_geometry()
传单(数据=coords[1:20,])%>%addTiles()%>%
addMarkers()
问题是:在地图上显示点(标记)的情况下,我们应该先转换为空间对象还是只使用数字列?如果我可以用数值lon/lat做完全相同的事情,那么使用点有什么意义呢?性能问题?您不需要转换,如果您的空间对象的唯一目的是绘制
{lapper}
地图,即不进行其他计算、统计、建模等,则转换没有什么意义
对于支持的数据类型,{sf}
objects、{sp}
objects和常规lat/lon data.frames非常严格
使用其中一种特殊空间格式的唯一好处是,您不需要在addMarker()
调用中指定纬度和经度映射。我不希望对性能有任何影响
请注意,尽管{ployate}支持多种数据输入方式,但它将无法处理投影坐标系(东向和北向)中的数据。如果需要,您可以在
tmap
中使用tm\u dots
中的点,而不是使用ployate
的坐标。好的,我知道我可以使用它,但使用sf点或数字坐标(浮点)有什么区别?也许没什么区别?或者也许这都是关于地图上的性能或精度?谢谢,这就是我想知道的:)