SF объект, созданный в виде списка в R data.table - PullRequest
1 голос
/ 03 июля 2019

У меня есть data.table со списком столбцов, содержащим полигоны объекта sf. При попытке построить график в ggplot выдает ошибку, как показано ниже

Предупреждающее сообщение: Вычисление не удалось в stat_sf(): нет применимого метода для st_bbox, примененного к объекту класса "list"

вот мой код exec trails

> rqaforgeolocsource
        sidentity  TA      lon      lat  az distance slocationzone
  1: 10265(alpha) 112 82.40864 26.02195 120     8736 <sfc_POLYGON>
  2: 10265(alpha)  99 82.40864 26.02195 120     7722 <sfc_POLYGON>
  3: 10265(alpha) 123 82.40864 26.02195 120     9594 <sfc_POLYGON>
  4: 10265(alpha)  97 82.40864 26.02195 120     7566 <sfc_POLYGON>
  5: 10265(alpha) 111 82.40864 26.02195 120     8658 <sfc_POLYGON>
 ---                                                              
361: 10265(alpha) 114 82.40864 26.02195 120     8892 <sfc_POLYGON>
362: 10265(alpha)  88 82.40864 26.02195 120     6864 <sfc_POLYGON>
363: 10265(gamma)  78 82.40864 26.02195 330     6084 <sfc_POLYGON>
364: 10265(gamma)  76 82.40864 26.02195 330     5928 <sfc_POLYGON>
365: 10265(alpha) 119 82.40864 26.02195 120     9282 <sfc_POLYGON>
> rqaforgeolocsource$slocationzone[1]
[[1]]
Geometry set for 1 feature 
geometry type:  POLYGON
dimension:      XY
bbox:           xmin: 82.40029 ymin: 25.94242 xmax: 82.49667 ymax: 26.06784
epsg (SRID):    4326
proj4string:    +proj=longlat +datum=WGS84 +no_defs
POLYGON ((82.48164 26.06641, 82.48165 26.0664, ...

> ggplot(data=rqaforgeolocsource)+geom_sf(aes(geometry=slocationzone))

Предупреждающее сообщение: Вычисление не удалось в stat_sf(): нет применимого метода для st_bbox, примененного к объекту класса "list"

Я полагаю, что моя проблема происходит, так как столбец slocationzone моего data.table представляет собой список списка ... так что ggplot жалуется ...

будет признателен за руководство по этому .....

Я пытался

ggplot (данные = rqaforgeolocsource) + geom_sf (АЕС (геометрия = slocationzone [1: nrow (rqaforgeolocsource)] [ 1 ])) ....

это дает мне только первый многоугольник

enter image description here

04/07 с добавлением dput

dput(rqaforgeolocsource[1])
structure(list(sidentity = "10265(alpha)", TA = 112L, lon = 82.4086436111111, 
    lat = 26.0219494444444, az = 120L, distance = 8736L, slocationzone = list(
        structure(list(structure(list(structure(c(82.4816417325745, 
        82.4816490413674, 82.4824893424486, 82.4824964606474, 
        82.4833144333095, 82.4833213587494, 82.4841167542317, 
        82.4841234848065, 82.4848960612552, 82.4849025949186, 
        82.4856521174597, 82.4856584522257, 82.4863846930362, 
        82.4863908269793, 82.4870935653558, 82.4870994966123, 
        82.487778519038, 82.4877842458058, 82.4884393460143, 
        82.4884448665541, 82.4890758455921, 82.4890811582274, 
        82.489687824514, 82.4896929276321, 82.4902750970169, 
        82.4902799890689, 82.490837484887, 82.4908421643887, 
        82.4913748175137, 82.4913792830456, 82.4918869319406, 
        82.4918911821487, 82.4923736729141, 82.4923777065103, 
        82.4928348929303, 82.4928387086923, 82.4932704522782, 
        82.4932740490505, 82.4936802190819, 82.4936835957757, 
        82.4940640693397, 82.4940672249336, 82.4944218869606, 
        82.4944248205005, 82.4947535637991, 82.4947562743986, 
        82.4950589996865, 82.4950614865275, 82.4953381024611, 
        82.4953403647936, 82.4955907879946, 82.4955928251369, 
        82.4958169802166, 82.495818791556, 82.4960166111374, 
        82.49601819613, 82.4961896208667, 82.4961909790375, 82.4963359576314, 
        82.4963370885746, 82.4964555777898, 82.4964564811688, 
        82.496548445844, 82.4965491213917, 82.4966145344494, 
        82.4966149819682, 82.4966538244222, 82.4966540437837, 
        82.4966663047437, 82.4966662958892, 82.4966519725626, 
        82.496651735503, 82.4966108331949, 82.4966103680103, 
        82.4965429001208, 82.4965422069611, 82.49644819498, 82.4964472740644, 
        82.4963267475632, 82.4963255991802, 82.4961785958025, 
        82.4961772203098, 82.4960037857584, 82.4960021835829, 
        82.4958023716046, 82.4958005432422, 82.4955744156106, 
        82.495572361626, 82.4953199881216, 82.4953177091482, 
        82.4950391675355, 82.4950366642751, 82.4947320402788, 
        82.4947293135013, 82.4943987007782, 82.4943957513216, 
        82.4940392514317, 82.4940360802017, 82.4936538025755, 
        82.4936504105452, 82.4932424724501, 82.4932388606597, 
        82.4928053871629, 82.4928015567195, 82.4923426806489, 
        82.4923386327259, 82.4918544946288, 82.4918502304658, 
        82.4913409785651, 82.4913364994673, 82.4908022896156, 
        82.4907975969535, 82.4902385925843, 82.4902336877935, 
        82.4896500598711, 82.4896449444513, 82.4890368714176, 
        82.4890315469326, 82.488399214652, 82.4883936827291, 
        82.487737284431, 82.4877315467605, 82.4870512829799, 
        82.4870453413144, 82.4863414198301, 82.4863352759842, 
        82.4856079117545, 82.4856015676041, 82.4848509827011, 
        82.4848444401831, 82.484070863724, 82.4840641248353, 
        82.4832677929125, 82.4832608597095, 82.4824420153178, 
        82.482434889916, 82.4815937828781, 82.4815864674513, 
        82.4807233543414, 82.4807158511208, 82.4798309951859, 
        82.47982330646, 82.4789169775392, 82.4789091056523, 82.4779815800947, 
        82.4779735274469, 82.4770250880262, 82.4770168570724, 
        82.4760477929015, 82.4760393861506, 82.4750499925925, 
        82.4750414126065, 82.4740319911846, 82.4740232405783, 
        82.4729940988842, 82.4729851803239, 82.4719366319235, 
        82.4719275481263, 82.4708599124642, 82.4708506661976, 
        82.4697642685, 82.4697548625803, 82.4686500337556, 82.4686404710477, 
        82.467517547586, 82.4675078310021, 82.4663671548725, 
        82.4663572873716, 82.4651992059182, 82.465189190505, 
        82.4640140563414, 82.4640038960651, 82.4628120669672, 
        82.4628017649211, 82.4615936037181, 82.4615831630383, 
        82.4603590375026, 82.4603484613672, 82.4591087441026, 
        82.4590980357306, 82.4578431040592, 82.4578322667098, 
        82.4565625025575, 82.4565515395288, 82.4552673293091, 
        82.4552562439372, 82.4539579784343, 82.4539467740925, 
        82.4526348483426, 82.4526235284398, 82.4512983416112, 
        82.4512869095918, 82.449948864864, 82.4499373242058, 
        82.4485868286472, 82.4485751828612, 82.4472126473057, 
        82.4472008999345, 82.4458267388572, 82.4458148934742, 
        82.4444295248656, 82.4444175850739, 82.4430214303134, 
        82.4430093997445, 82.4416028834728, 82.4415907657857, 
        82.4401743157764, 82.4401621146565, 82.4387361616862, 
        82.438723880844, 82.4372888585622, 82.4372765017325, 
        82.4358328465302, 82.4358204174707, 82.4343685683487, 
        82.4343560708388, 82.4328964692746, 82.4328839071144, 
        82.4314169969287, 82.431404373938, 82.4299306011604, 
        82.4299179211773, 82.4284377339115, 82.4284250007913, 
        82.4269388490798, 82.4269260666939, 82.4254344023814, 
        82.4254215746161, 82.4239248512134, 82.4239119819687, 
        82.4224106545155, 82.4223977477039, 82.420892272631, 
        82.4208793321763, 82.419370167168, 82.4193571970044, 
        82.4178448008598, 82.4178318049302, 82.4163166374248, 
        82.4163036196801, 82.414786141427, 82.4147731058245, 
        82.4132537781348, 82.4132407286373, 82.4117200133809, 
        82.4117069539555, 82.4101853134217, 82.4101722480383, 
        82.4086501447959, 82.4086370774263, 82.4071149741839, 
        82.4071019088005, 82.4055802682667, 82.4055672088413, 
        82.4040464935849, 82.4040334440875, 82.4025141163977, 
        82.4025010807952, 82.4009836025421, 82.4009446329502, 
        82.4009059309924, 82.4008676027456, 82.4008297532622, 
        82.4007924862825, 82.4007559039503, 82.4007201065333, 
        82.4006851921478, 82.4006512564899, 82.4006183925735, 
        82.4005866904752, 82.4005562370873, 82.4005271158799, 
        82.4004994066719, 82.4004731854123, 82.400448523972, 
        82.4004254899469, 82.4004041464726, 82.4003845520512, 
        82.4003667603911, 82.4003508202596, 82.4003367753495, 
        82.4003246641589, 82.4003145198862, 82.4003063703385, 
        82.4003002378558, 82.4002961392495, 82.4002940857564, 
        82.4002940830078, 82.400296131014, 82.4003002241646, 
        82.4003063512431, 82.4003144954585, 82.4003246344906, 
        82.4003367405515, 82.4003507804616, 82.4003667157407, 
        82.400384502713, 82.4004040926276, 82.4004254317911, 
        82.4004484617156, 82.4004731192786, 82.4004993368959, 
        82.4005270427072, 82.4005561607729, 82.4005866112819, 
        82.400618310771, 82.4006511723533, 82.4006851059561, 
        82.4007200185686, 82.4007558144959, 82.400792395622, 
        82.4008296616784, 82.4008675105192, 82.4009058384009, 
        82.4009445402668, 82.4009835100351, 82.4010226408896, 
        82.4010618255724, 82.4011009566782, 82.4026119476136, 
        82.4041182582823, 82.4056259447033, 82.407134548523, 
        82.4086436111111, 82.4101526736995, 82.4116612775189, 
        82.4131689639397, 82.4146752746087, 82.4161797515899, 
        82.4176819374984, 82.4191813756459, 82.420677610171, 
        82.4221701861824, 82.4236586498941, 82.4251425487636, 
        82.4266214316256, 82.4280948488352, 82.4295623523954, 
        82.4310234960999, 82.4324778356621, 82.4339249288544, 
        82.4353643356396, 82.4367956183026, 82.4382183415868, 
        82.4396320728211, 82.4410363820552, 82.442430842186, 
        82.4438150290909, 82.4451885217509, 82.4465509023838, 
        82.4479017565667, 82.4492406733639, 82.4505672454493, 
        82.4518810692305, 82.4531817449747, 82.4544688769225, 
        82.4557420734158, 82.4570009470112, 82.4582451145991, 
        82.4594741975217, 82.4606878216847, 82.4618856176743, 
        82.4630672208665, 82.4642322715402, 82.4653804149841, 
        82.4665113016071, 82.4676245870429, 82.4687199322549, 
        82.4697970036412, 82.4708554731319, 82.4718950182946, 
        82.4729153224287, 82.473916074663, 82.4748969700496, 
        82.4758577096596, 82.4767980006719, 82.4777175564627, 
        82.4786160966935, 82.4794933473985, 82.4803490410645, 
        82.4811829167169, 82.4819947199963, 82.4827842032388, 
        82.4835511255499, 82.4842952528804, 82.4850163580961, 
        82.4857142210495, 82.4863886286464, 82.4870393749108, 
        82.4876662610503, 82.4882690955152, 82.4888476940593, 
        82.4894018797954, 82.4899314832508, 82.4904363424192, 
        82.4909163028116, 82.4913712175035, 82.4918009471809, 
        82.4922053601831, 82.4925843325451, 82.4929377480344, 
        82.4932654981888, 82.4935674823498, 82.4938436076946, 
        82.4940937892651, 82.4943179499947, 82.4945160207335, 
        82.4946879402695, 82.494833655349, 82.4949531206937, 
        82.4950462990153, 82.4951131610285, 82.4951536854604, 
        82.4951678590587, 82.4951556765963, 82.4951171408744, 
        82.4950522627225, 82.4949610609963, 82.494843562573, 
        82.4946998023445, 82.4945298232074, 82.4943336760516, 
        82.494111419745, 82.4938631211178, 82.4935888549423, 
        82.4932887039113, 82.4929627586146, 82.4926111175114, 
        82.4922338869025, 82.4918311808976, 82.491403121383, 
        82.4909498379839, 82.490471468027, 82.4899681564991, 
        82.4894400560036, 82.488887326716, 82.4883101363339, 
        82.4877086600293, 82.4870830803936, 82.4864335873849, 
        82.4857603782684, 82.4850636575602, 82.4843436369623, 
        82.4836005353017, 82.4828345784623, 82.4820459993172, 
        82.4812350376591, 82.4804019401273, 82.4795432582742, 
        82.4795219001939, 82.4795022946545, 82.4794844953948, 
        82.479468551203, 82.4794545057829, 82.4794423976341, 
        82.4794322599467, 82.4794241205097, 82.4794180016354, 
        82.4794139200979, 82.4794118870873, 82.4794119081786, 
        82.4794139833171, 82.4794181068176, 82.4794242673808, 
        82.4794324481237, 82.4794426266261, 82.4794547749919, 
        82.4794688599255, 82.4794848428233, 82.4795026798791, 
        82.4795223222046, 82.4795437159628, 82.4795668025161, 
        82.4795915185868, 82.4796177964305, 82.4796455640217, 
        82.4796747452513, 82.4797052601353, 82.479737025034, 
        82.4797699528811, 82.4798039534225, 82.4798389334636, 
        82.4798747971249, 82.4799114461046, 82.4799487799484, 
        82.4799866963245, 82.4800250913041, 82.4800638596468, 
        82.4801028950885, 82.480142090633, 82.4801813388451, 
        82.4802205321454, 82.4802595631049, 82.4802983247396, 
        82.480336710804, 82.4803746160819, 82.480411936675, 82.4804485702879, 
        82.4804844165084, 82.4805193770824, 82.4805533561838, 
        82.4805862606768, 82.4806180003714, 82.4806484882703, 
        82.4806776408078, 82.4807053780784, 82.4807316240564, 
        82.4807563068034, 82.4807793586665, 82.4816417325745, 
        26.0664084460164, 26.0663986476298, 26.0652506065761, 
        26.0652406944341, 26.0640795780405, 26.0640695551658, 
        26.0628957175011, 26.0628855869499, 26.0616993859515, 
        26.0616891508128, 26.060490948177, 26.0604806115719, 
        26.0592707726435, 26.0592603377234, 26.0580392313838, 
        26.0580287013306, 26.0567966998851, 26.056786077909, 
        26.055543556973, 26.0555328463125, 26.0542801846967, 
        26.0542693886171, 26.0530069682114, 26.0529960900041, 
        26.0517242956613, 26.0517133386423, 26.0504325580604, 
        26.0504215255699, 26.0491321491733, 26.0491210445744, 
        26.0478234653952, 26.0478122920727, 26.04650690563, 26.0464956669897, 
        26.0451828711694, 26.0451715706367, 26.0438517655697, 
        26.0438404065889, 26.0425139945289, 26.042502580562, 
        26.0411699657627, 26.0411585002882, 26.0398200888801, 
        26.0398085753923, 26.0384647752584, 26.0384532172658, 
        26.0371044379175, 26.0370928389424, 26.0357394913941, 
        26.035727854971, 26.0343703516151, 26.0343586812898, 
        26.0329974357709, 26.0329857350994, 26.0316211621879, 
        26.0316094347352, 26.0302419502008, 26.0302301995401, 
        26.0288602200253, 26.0288484497367, 26.0274763926294, 
        26.027464606299, 26.0260908896058, 26.0260790908241, 
        26.0247041330422, 26.0246923254038, 26.0233165453941, 
        26.0233047324958, 26.0219285493549, 26.0219167347951, 
        26.0205405677277, 26.0205287551053, 26.0191530232965, 
        26.0191412162096, 26.0177663386973, 26.0177545407422, 
        26.0163809362895, 26.0163691510595, 26.0149972380268, 
        26.0149854691114, 26.0136156653297, 26.0136039163131, 
        26.0122366389564, 26.0122249134166, 26.0108605788749, 
        26.0108488803829, 26.0094879041355, 26.0094762362537, 
        26.0081190327429, 26.0081073990243, 26.0067543815293, 
        26.0067427855164, 26.0053943660276, 26.0053828112512, 
        26.0040394003446, 26.0040278903231, 26.0026898970358, 
        26.0026784352736, 26.0013462669793, 26.001334856966, 
        26.0000089192511, 25.9999975644606, 25.9986782610009, 
        25.9986669648899, 25.997354697328, 25.9973434633355, 
        25.9960386311587, 25.9960274627045, 25.9947304631233, 
        25.9947193636071, 25.9934305914347, 25.9934195642353, 
        25.9921394117673, 25.9921284602413, 25.9908573171372, 
        25.9908464446179, 25.9895846977821, 25.9895739075789, 
        25.9883219410435, 25.9883112364405, 25.9870694312487, 
        25.9870588155037, 25.9858275495941, 25.9858170259381, 
        25.98459667403, 25.9845862456655, 25.9833771791449, 25.9833668492457, 
        25.9821694360531, 25.9821592077626, 25.9809738122809, 
        25.9809636887115, 25.9797906716559, 25.9797806558882, 
        25.978620374196, 25.9786104692777, 25.9774632760008, 
        25.9774534849459, 25.9763197291434, 25.9763100549308, 
        25.9751900815633, 25.9751805271365, 25.9740746769611, 
        25.9740652452271, 25.9729738546947, 25.972964548523, 
        25.9718879496757, 25.9718787718975, 25.9708172922685, 
        25.9708082456759, 25.9697622081896, 25.9697532955348, 
        25.9687230184096, 25.9687142424039, 25.9677000390551, 
        25.9676914023682, 25.9666935813138, 25.9666850865729, 
        25.9657039513396, 25.9656956011286, 25.9647314501597, 
        25.9647232470187, 25.9637763735843, 25.9637683200084, 
        25.9628390121161, 25.9628311105548, 25.9619196508628, 
        25.9619119037196, 25.9610185694506, 25.9610109790817, 
        25.9601360419397, 25.9601286106536, 25.9592723367412, 
        25.9592650667981, 25.9584277165355, 25.9584206101463, 
        25.9576024381936, 25.9575954975196, 25.9567967526987, 
        25.9567899798507, 25.9560109050703, 25.956004302108, 
        25.9552451342904, 25.9552387032218, 25.9544996732309, 
        25.9544934160116, 25.9537747485831, 25.9537686671159, 
        25.9530705807892, 25.9530646769235, 25.9523873839758, 
        25.9523816595067, 25.9517253658888, 25.951719822557, 
        25.9510847278306, 25.9510793673218, 25.9504656645996, 
        25.9504604885437, 25.9498683644307, 25.9498633744016, 
        25.9492930089389, 25.9492882064537, 25.9487397730638, 
        25.9487351595829, 25.9482088250176, 25.9482044019436, 
        25.9477003262331, 25.9476960949109, 25.9472144313158, 
        25.9472103930318, 25.9467512879967, 25.9467474439788, 
        25.9463110370878, 25.9463073885046, 25.9458938124394, 
        25.9458903604003, 25.9454997408998, 25.9454964864542, 
        25.9451289422769, 25.9451258864143, 25.9447815293018, 
        25.9447786729513, 25.9444576075951, 25.944454951625, 
        25.9441572756346, 25.9441548208524, 25.9438806247258, 
        25.9438783718777, 25.943627738974, 25.9436256887451, 
        25.9433986952593, 25.9433968482728, 25.9431935632131, 
        25.9431919200304, 25.943012405197, 25.9430109663177, 
        25.9428552762841, 25.9428540421456, 25.9427222242423, 
        25.9427211952199, 25.94261328952, 25.9426124659264, 25.9425285052335, 
        25.9425278873191, 25.9424678971574, 25.9424674851101, 
        25.9424314837167, 25.9424312776618, 25.9424192759811, 
        25.9424192759811, 25.9424312776617, 25.9424314837167, 
        25.9424674851101, 25.9424678971574, 25.9425278873191, 
        25.9425285052335, 25.9426124659264, 25.94261328952, 25.9427211952199, 
        25.9427248962112, 25.9427304361023, 25.9427377997092, 
        25.9427469668493, 25.9427579123973, 25.9427706063529, 
        25.9427850139243, 25.9428010956224, 25.9428188073699, 
        25.9428381006216, 25.9428589224976, 25.9428812159283, 
        25.9429049198106, 25.9429299691756, 25.9429562953663, 
        25.9429838262263, 25.9430124862971, 25.943042197025, 
        25.9430728769767, 25.9431044420619, 25.9431368057645, 
        25.9431698793789, 25.9432035722539, 25.9432377920408, 
        25.9432724449462, 25.9433074359897, 25.9433426692638, 
        25.9433780481969, 25.943413475818, 25.9434488550225, 
        25.9434840888382, 25.9435190806913, 25.9435537346711, 
        25.9435879557927, 25.9436216502575, 25.9436547257104, 
        25.9436870914926, 25.9437186588904, 25.9437493413786, 
        25.9437790548569, 25.9438077178813, 25.9438352518866, 
        25.9438615814026, 25.9438866342599, 25.9439103417889, 
        25.943932639007, 25.9439534647974, 25.9439727620765, 
        25.9439904779502, 25.944006563859, 25.9440209757111, 
        25.9440336740033, 25.9440446239295, 25.9440537954755, 
        25.9440611635019, 25.9440667078128, 25.9440704132111, 
        25.9440722695402, 25.9440722717118, 25.9440704197199, 
        25.9439629747129, 25.9438797328518, 25.9438202562961, 
        25.9437845631283, 25.9437726641999, 25.9437845631283, 
        25.9438202562961, 25.9438797328517, 25.9439629747129, 
        25.9440699565723, 25.9442006459045, 25.9443550029771, 
        25.9445329808612, 25.9447345254467, 25.9449595754583, 
        25.945208062474, 25.9454799109454, 25.9457750382219, 
        25.9460933545736, 25.9464347632203, 25.9467991603597, 
        25.947186435199, 25.9475964699891, 25.9480291400588, 
        25.9484843138538, 25.9489618529757, 25.9494616122245, 
        25.9499834396416, 25.9505271765571, 25.9510926576358, 
        25.9516797109295, 25.9522881579274, 25.9529178136109, 
        25.9535684865088, 25.9542399787556, 25.9549320861529, 
        25.9556445982274, 25.9563772982991, 25.9571299635435, 
        25.9579023650603, 25.9586942679434, 25.95950543135, 25.9603356085759, 
        25.9611845471282, 25.9620519888034, 25.9629376697633, 
        25.9638413206177, 25.964762666504, 25.9657014271707, 
        25.966657317064, 25.9676300454105, 25.9686193163099, 
        25.9696248288218, 25.9706462770573, 25.9716833502711, 
        25.9727357329582, 25.973803104947, 25.9748851414969, 
        25.9759815133966, 25.9770918870662, 25.9782159246537, 
        25.9793532841431, 25.9805036194526, 25.9816665805442, 
        25.9828418135264, 25.9840289607644, 25.9852276609858, 
        25.9864375493929, 25.987658257772, 25.9888894146041, 
        25.9901306451808, 25.9913815717147, 25.9926418134565, 
        25.9939109868091, 25.9951887054453, 25.9964745804235, 
        25.9977682203082, 25.9990692312868, 26.0003772172907, 
        26.0016917801135, 26.0030125195365, 26.0043390334446, 
        26.0056709179523, 26.0070077675262, 26.0083491751071, 
        26.0096947322346, 26.0110440291707, 26.0123966550264, 
        26.0137521978822, 26.0151102449207, 26.0164703825437, 
        26.0178321965052, 26.0191952720337, 26.0205591939598, 
        26.021923546841, 26.0232879150918, 26.0246518831058, 
        26.0260150353861, 26.0273769566685, 26.028737232052, 
        26.030095447121, 26.0314511880755, 26.0328040418531, 
        26.0341535962596, 26.0354994400907, 26.0368411632593, 
        26.0381783569211, 26.0395106135971, 26.0408375273008, 
        26.0421586936591, 26.0434737100384, 26.044782175665, 
        26.0460836917498, 26.0473778616083, 26.0486642907822, 
        26.049942587161, 26.0512123610984, 26.0524732255371, 
        26.0537247961199, 26.0549666913136, 26.0561985325204, 
        26.0574199441988, 26.0586305539723, 26.0598299927494, 
        26.0610178948311, 26.0621938980264, 26.0633576437615, 
        26.0645087771899, 26.0656469472996, 26.0667766773186, 
        26.0668064162626, 26.0668371240068, 26.0668687163849, 
        26.0669011068058, 26.0669342064908, 26.0669679247173, 
        26.0670021690669, 26.0670368456791, 26.0670718595084, 
        26.0671071145849, 26.0671425142772, 26.0671779615574, 
        26.0672133592669, 26.067248610383, 26.0672836182844, 
        26.0673182870163, 26.0673525215535, 26.0673862280605, 
        26.0674193141492, 26.0674516891318, 26.0674832642694, 
        26.0675139530154, 26.0675436712524, 26.0675723375233, 
        26.0675998732543, 26.06762620297, 26.0676512545009, 26.0676749591807, 
        26.0676972520347, 26.0677180719583, 26.0677373618837, 
        26.067755068937, 26.0677711445829, 26.0677855447578, 
        26.0677982299905, 26.0678091655106, 26.0678183213434, 
        26.0678256723928, 26.0678311985091, 26.0678348845453, 
        26.0678367203977, 26.0678367010342, 26.067834826508, 
        26.0678311019571, 26.0678255375907, 26.0678181486608, 
        26.0678089554207, 26.0677979830692, 26.0677852616819, 
        26.0677708261284, 26.0677547159767, 26.067736975385, 
        26.0677176529808, 26.0676968017267, 26.0676744787765, 
        26.0676507453173, 26.0676256664027, 26.067599310774, 
        26.0675717506718, 26.0675430616382, 26.0664084460164), .Dim = c(510L, 
        2L))), class = c("XY", "POLYGON", "sfg"))), n_empty = 0L, crs = structure(list(
            epsg = 4326L, proj4string = "+proj=longlat +datum=WGS84 +no_defs"), class = "crs"), class = c("sfc_POLYGON", 
        "sfc"), precision = 0, bbox = structure(c(xmin = 82.4002940830078, 
        ymin = 25.9424192759811, xmax = 82.4966663047437, ymax = 26.0678367203977
        ), class = "bbox")))), row.names = c(NA, -1L), class = c("data.table", 
"data.frame"), .internal.selfref = <pointer: 0x0000000000331ef0>)

...

and the structure of **rqaforgeolocsource**

str(rqaforgeolocsource)
Classes ‘data.table’ and 'data.frame':  365 obs. of  7 variables:
 $ sidentity    : chr  "10265(alpha)" "10265(alpha)" "10265(alpha)" "10265(alpha)" ...
 $ TA           : int  112 99 123 97 111 121 124 129 128 126 ...
 $ lon          : num  82.4 82.4 82.4 82.4 82.4 ...
 $ lat          : num  26 26 26 26 26 ...
 $ az           : int  120 120 120 120 120 120 120 120 120 120 ...
 $ distance     : int  8736 7722 9594 7566 8658 9438 9672 10062 9984 9828 ...
 $ slocationzone:List of 365
  ..$ :sfc_POLYGON of length 1; first list element: List of 1
  .. ..$ : num [1:510, 1:2] 82.5 82.5 82.5 82.5 82.5 ...
  .. ..- attr(*, "class")= chr  "XY" "POLYGON" "sfg"
  ..$ :sfc_POLYGON of length 1; first list element: List of 1
  .. ..$ : num [1:510, 1:2] 82.5 82.5 82.5 82.5 82.5 ...
  .. ..- attr(*, "class")= chr  "XY" "POLYGON" "sfg"

дайте мне знать, если этого достаточно .. спасибо

1 Ответ

3 голосов
/ 04 июля 2019

С вашими примерами мы видим, что ваш столбец 'geometry' представляет собой список sfc объектов.

Я собираюсь добавить вторую строку (копию первой), чтобы повторить ваш многорядный пример

dt <- data.table::rbindlist(
  list(
    rqaforgeolocsource
    , rqaforgeolocsource
  )
)

str( dt )
# Classes ‘data.table’ and 'data.frame':    2 obs. of  7 variables:
#   $ sidentity    : chr  "10265(alpha)" "10265(alpha)"
# $ TA           : int  112 112
# $ lon          : num  82.4 82.4
# $ lat          : num  26 26
# $ az           : int  120 120
# $ distance     : int  8736 8736
# $ slocationzone:List of 2
# ..$ :sfc_POLYGON of length 1; first list element: List of 1
# .. ..$ : num [1:510, 1:2] 82.5 82.5 82.5 82.5 82.5 ...
# .. ..- attr(*, "class")= chr  "XY" "POLYGON" "sfg"
# ..$ :sfc_POLYGON of length 1; first list element: List of 1
# .. ..$ : num [1:510, 1:2] 82.5 82.5 82.5 82.5 82.5 ...
# .. ..- attr(*, "class")= chr  "XY" "POLYGON" "sfg"
# - attr(*, ".internal.selfref")=<externalptr> 

Так что все ваши sfc_POLYGONs - это отдельные списки.Их нужно объединить в один sfc столбец списка (а не столбец отдельных sfc объектов).

Для этого будет несколько способов, например, использование purr илианалогично, но вот метод base-R

dt$slocationzone <-  sf::st_sfc( sapply( dt$slocationzone, `[`) )

Теперь slocationzone - это столбец sfc

str( dt )

# Classes ‘data.table’ and 'data.frame':    2 obs. of  7 variables:
#   $ sidentity    : chr  "10265(alpha)" "10265(alpha)"
# $ TA           : int  112 112
# $ lon          : num  82.4 82.4
# $ lat          : num  26 26
# $ az           : int  120 120
# $ distance     : int  8736 8736
# $ slocationzone:sfc_POLYGON of length 2; first list element: List of 1
# ..$ : num [1:510, 1:2] 82.5 82.5 82.5 82.5 82.5 ...
# ..- attr(*, "class")= chr  "XY" "POLYGON" "sfg"
# - attr(*, ".internal.selfref")=<externalptr>

, который можно преобразовать в sf

sf <- sf::st_as_sf( dt )

И нанесены

ggplot( data = sf ) + 
  geom_sf()

enter image description here

...