将csv导入R,提取多边形并使用Google Polylines软件包对其进行解码

将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{

我一直在尝试使用googlePolylines软件包解码加密的google多边形,该软件包通过将多边形设置为文本来实现,但无法通过导入带有多边形的csv文件来完成相同的过程

例如,我有以下代码:

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~T
gzzralmepndskpvof
QgBnNoM~IcA
JiGnd@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