如何从编码折线创建空间线数据框?
How to create spatial line dataframe from encoded polylines?
我正在处理交通网络数据集,我想导入以 JSON 格式提供的交通速度数据。
我可以使用 read.scorata() 读取 R 中的数据。但是,我无法将其转换为空间数据框以用于进一步分析。当前数据帧中有一个字段是编码折线。如何使用此字段进行转换?
library(RSocrata)
#Loading only two rows for easy reproduction
Test_TSD <- read.socrata("https://data.cityofnewyork.us/resource/i4gi-tjb9.json?borough=Manhattan&id=225")
library(googlePolylines)
可以将那些折线解码为坐标。
要转换为 sf
对象,目前需要几个步骤。 (有 plans 使这部分成为 googlePolylines 库)
coords <- googlePolylines::decode( Test_TSD$encoded_poly_line )
sfg <- lapply( coords, function(x) sf::st_linestring( x = as.matrix(x) ) )
sfc <- sf::st_sfc( sfg )
sf <- sf::st_as_sf( cbind( Test_TSD, sfc ) )
您现在有一个简单的要素 (sf
) 对象。鉴于 sf
是 sp
的继承者,您可以到此为止。但是,如果你仍然需要 SpatialDataFrame
你可以做
sp <- as( sf, "Spatial" )
我正在处理交通网络数据集,我想导入以 JSON 格式提供的交通速度数据。
我可以使用 read.scorata() 读取 R 中的数据。但是,我无法将其转换为空间数据框以用于进一步分析。当前数据帧中有一个字段是编码折线。如何使用此字段进行转换?
library(RSocrata)
#Loading only two rows for easy reproduction
Test_TSD <- read.socrata("https://data.cityofnewyork.us/resource/i4gi-tjb9.json?borough=Manhattan&id=225")
library(googlePolylines)
可以将那些折线解码为坐标。
要转换为 sf
对象,目前需要几个步骤。 (有 plans 使这部分成为 googlePolylines 库)
coords <- googlePolylines::decode( Test_TSD$encoded_poly_line )
sfg <- lapply( coords, function(x) sf::st_linestring( x = as.matrix(x) ) )
sfc <- sf::st_sfc( sfg )
sf <- sf::st_as_sf( cbind( Test_TSD, sfc ) )
您现在有一个简单的要素 (sf
) 对象。鉴于 sf
是 sp
的继承者,您可以到此为止。但是,如果你仍然需要 SpatialDataFrame
你可以做
sp <- as( sf, "Spatial" )