r - 如何从编码折线创建空间线数据框?

标签 r json encoding polyline google-polyline

我正在处理交通网络数据集,我想导入以 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) 对象。鉴于 sfsp 的后继者,您可以到此为止。但是,如果您仍然需要 SpatialDataFrame,您可以这样做

sp <- as( sf, "Spatial" )

关于r - 如何从编码折线创建空间线数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57376373/

相关文章:

java - 无法显示来自 JSONData 的 Json 数组值

android - 从套接字而不是 SocketServer 上的字符串接收十六进制值

Rhtml : Warning: conversion failure on '<var>' in 'mbcsToSbcs' : dot substituted for <var>

r - 使用 Windows 的 R 中的文件路径问题 ("Hex digits in character string"错误)

java - Spring MVC @RequestBody 接收具有非原始属性的对象包装器

json - 将 Firebase 结果添加到数组时遇到问题

php - file_exists() 和 file_get_contents() 在 PHP 中名为 output‹ÕÍÕ¥.txt 的文件上失败?

ios - Swift URL.path 更改 utf-8 字符的编码

linux - 如何使用默认 R 安装通过 conda 安装 rpy2

r - 有没有一种更优雅的方法将 88 级变量折叠为 5 级变量?