将csv导入R,提取多边形并使用Google Polylines软件包对其进行解码
我一直在尝试使用googlePolylines软件包解码加密的google多边形,该软件包通过将多边形设置为文本来实现,但无法通过导入带有多边形的csv文件来完成相同的过程 例如,我有以下代码:将csv导入R,提取多边形并使用Google Polylines软件包对其进行解码,r,decode,google-polyline,R,Decode,Google Polyline,我一直在尝试使用googlePolylines软件包解码加密的google多边形,该软件包通过将多边形设置为文本来实现,但无法通过导入带有多边形的csv文件来完成相同的过程 例如,我有以下代码: library(googlePolylines) pol<-"j~thAxdvtMtXmL|LgCpKxCjQzD~T`GzXrAlMePnDsKpVoF`QgBnNoM~IcA`JiGnd@iYvZuLzKkSlH_d@wDef@iJwFyZfUmc@hCsa@N{\\|SeCzOaFgQwD{
library(googlePolylines)
pol<-"j~thAxdvtMtXmL|LgCpKxCjQzD~T`GzXrAlMePnDsKpVoF`QgBnNoM~IcA`JiGnd@iYvZuLzKkSlH_d@wDef@iJwFyZfUmc@hCsa@N{\\|SeCzOaFgQwD{SaPiC|WwBpPr@bGsG{FeQxEkOtXa@dXgFtHyJoIiGui@NqaAvFuRyQxEia@he@u_@b\\og@dHuZyJaX_d@zK_Ua@eBwMq`A}AyRcTkKce@c]uWeS{DuRzZtCh]|b@zGuCbm@fUdTsLbS__@wBoTlu@zVbm@dc@l]oExn@gf@vUgPbAkL|HtCnXi@zKtRvc@CzPxBpLxAnEvFvDpPx^cFlBTh@??Dn@@f@~G|QFH~\\gMj@Su@}@"
polylines<-c(pol)
coordinates<-decode(polylines)
库(谷歌多段线)
pol您的.csv
文件中的字符串是否可能已损坏?也许当你把data.frame写出来的时候?在转换到factor()
期间,似乎会发生损坏
我毫不费劲地把它写出来再写进去:
polyfile <- data.frame(store_address_id = 12345,
store_name = "RANDOM",
polygon = "j~thAxdvtMtXmL|LgCpKxCjQzD~T`GzXrAlMePnDsKpVoF`QgBnNoM~IcA`JiGnd@iYvZuLzKkSlH_d@wDef@iJwFyZfUmc@hCsa@N{\\|SeCzOaFgQwD{SaPiC|WwBpPr@bGsG{FeQxEkOtXa@dXgFtHyJoIiGui@NqaAvFuRyQxEia@he@u_@b\\og@dHuZyJaX_d@zK_Ua@eBwMq`A}AyRcTkKce@c]uWeS{DuRzZtCh]|b@zGuCbm@fUdTsLbS__@wBoTlu@zVbm@dc@l]oExn@gf@vUgPbAkL|HtCnXi@zKtRvc@CzPxBpLxAnEvFvDpPx^cFlBTh@??Dn@@f@~G|QFH~\\gMj@Su@}@",
stringsAsFactors = FALSE)
write.csv(file="~/test.csv",polyfile)
polyfile2 <- read.table('~/test.csv', header=TRUE, sep=',',stringsAsFactors = FALSE)
decode(polyfile2$polygon)
[[1]]
lat lon
1 -12.07286 -76.95965
2 -12.07697 -76.95750
3 -12.07920 -76.95682
4 -12.08121 -76.95759
5 -12.08415 -76.95853
6 -12.08767 -76.95982
7 -12.09181 -76.96024
8 -12.09412 -76.95749
9 -12.09500 -76.95547
10 -12.09877 -76.95427
polyfile Hi Gerardos,你能提供一个对象的示例吗polyfile
,例如,使用dput(head(polyfile))
?Hi Ian,我得到这个:结构(列表(store\u address\u id=12345L,store\u name=structure(1L,.Label=“RANDOM”,class=“factor”),polygon=structure(1L,.Label=“\”j~thAxdvtMtXmL | LgCpKxCjQzD~Tgzzralmepndskpvof
QgBnNoM~IcAJiGnd@iYvZuLzKkSlH_d@wDef@iJwFyZfUmc@hCsa@N{\\\\\\\\\\\\\ SeCzOaFgQwD{SaPiC|WwBpPr@bGsG{FeQxEkOtXa@dXgFtHyJoIiGui@NqaAvFuRyQxEia@he@u_uub@b\\\\og@dHuZyJaX_d@zK_Ua@eBwMq
A}AyRcTkKce@c]乌维斯{DuRzZtCh]|b@zGuCbm@福兹磅__@wBoTlu@zVbm@dc@l]oExn@gf@武帕克尔|HtCnXi@zKtRvc@CzPxBpLxAnEvFvDpPx^cFlBTh@@@Dn@@f@~G|QFH~\\\\gMj@Su@}@\“”,class=“factor”)),row.names=1L,class=“data.frame”)对于格式设置我真的不知道如何解决它。问题是有反勾号(与~)相同的字符是的,编码的多边形有一个奇怪的字符列表,它以一个“并以相同的符号结尾,因此我认为这可能是问题所在,但我真的不知道如何解决此问题,不幸的是,我仍然收到相同的消息错误。我认为您的.csv
文件可能已损坏。请参阅我的编辑。是的,它已损坏,我必须删除csv文件中的第一个和最后一个”。谢谢,现在它工作正常。
polyfile <- data.frame(store_address_id = 12345,
store_name = "RANDOM",
polygon = "j~thAxdvtMtXmL|LgCpKxCjQzD~T`GzXrAlMePnDsKpVoF`QgBnNoM~IcA`JiGnd@iYvZuLzKkSlH_d@wDef@iJwFyZfUmc@hCsa@N{\\|SeCzOaFgQwD{SaPiC|WwBpPr@bGsG{FeQxEkOtXa@dXgFtHyJoIiGui@NqaAvFuRyQxEia@he@u_@b\\og@dHuZyJaX_d@zK_Ua@eBwMq`A}AyRcTkKce@c]uWeS{DuRzZtCh]|b@zGuCbm@fUdTsLbS__@wBoTlu@zVbm@dc@l]oExn@gf@vUgPbAkL|HtCnXi@zKtRvc@CzPxBpLxAnEvFvDpPx^cFlBTh@??Dn@@f@~G|QFH~\\gMj@Su@}@",
stringsAsFactors = FALSE)
write.csv(file="~/test.csv",polyfile)
polyfile2 <- read.table('~/test.csv', header=TRUE, sep=',',stringsAsFactors = FALSE)
decode(polyfile2$polygon)
[[1]]
lat lon
1 -12.07286 -76.95965
2 -12.07697 -76.95750
3 -12.07920 -76.95682
4 -12.08121 -76.95759
5 -12.08415 -76.95853
6 -12.08767 -76.95982
7 -12.09181 -76.96024
8 -12.09412 -76.95749
9 -12.09500 -76.95547
10 -12.09877 -76.95427