【发布时间】:2014-07-26 06:35:08
【问题描述】:
我有一个 SQL 数据库,其中包含一些编码的多边形结构。这些可以提取如下
poly <- data.frame(sqldf("SELECT ST_astext(geometry) FROM table"))
data.frame 'poly' 包含的字符串现在可以转换为真正的 'SpatialPolygons' 对象,如下所示(对于第一个字符串)
realWKT(poly[1,1])
我可以为每个字符串做前面的,并将它保存在一个向量中
list <- c()
for (i in 1:100){
list <- c(list, readWKT(poly[i,1])
}
我要做的最后一件事是使用以下函数基于所有 SpatialPolygons 创建一个邻域列表
poly2nb(list)
但遗憾的是,此命令导致以下错误
Error: extends(class(pl), "SpatialPolygons") is not TRUE
我知道问题与列表的类类型有关,但我真的看不到出路。任何帮助将不胜感激!
编辑
按照建议,输出的某些部分。请记住,“poly”的行是很长的坐标字符串
> poly[1,1]
[1] "POLYGON((4.155976 50.78233,...,4.153225 50.76121,4.152384 50.761191,4.151878 50.761194,4.151319 50.761163,4.150872 50.761126))"
> poly[2,1]
[1] "POLYGON((5.139526 50.914059,...,5.140994 50.913612,5.156976 50.895945))"
【问题讨论】:
-
如果您至少提供
poly的前几行,您更有可能获得帮助。 -
这些字符串真的很长。我在编辑中添加了一些部分。
-
真的吗?没看到??
-
应该是现在
标签: sql database r compiler-errors