如何从列表中创建SpatialLine对象?

时间:2017-09-22 14:21:16

标签: list for-loop spatial sp

我尝试从包含124个段的列表中构建SpatialLines对象。 列表中的每个段包含每个节点的x,y坐标(见下文)。我使用以下代码创建SpatialLines对象,但它只检索一个段。有什么建议吗?

$newsoutput = new SimpleXMLElement('http://feeds.bbci.co.uk/news/rss.xml', LIBXML_NOCDATA, true);
$newsoutput = json_decode(json_encode($newsoutput), TRUE);
var_dump($newsoutput);
foreach ($newsoutput['channel']['item'] as $item) {
  // iteration occurs here.
}

非常感谢

灰,

enter image description here

1 个答案:

答案 0 :(得分:0)

我发现问题存在于Lines中的'i'参数中,应该修改为as.character(i)。 第一个是将第二个参数赋予Lines(,)每次通过循环('i','i',...),而使用as.character(i)将第二个参数赋予(i) “1”,“2”,......)。

感谢Eric Berger的建议和帮助。

test.func = function(x){
tt1 <- list()
for (i in 1:length(x)) {
    tt1[[i]] <- x[[i]];
    tt1[[i]]  = Line(tt1[[i]]);
    tt1[[i]]  = Lines(list(tt1[[i]] ), as.character(i))
}
tt2 = SpatialLines(tt1)   
return(tt2)

}