Skript GPX-failide liitmiseks

sookoll10. detsember 2019 kell 23:48

Noh, kuna ameerikamaa suletud rahamasin (loe: Geocaching.com) ei luba üle ühe aarde per fail alla laadida, siis tegin kiirelt skripti, mis liidab GPX failidest wpt, rte ja trk (viimased lisasin universaalsuse mõttes) kokku ühte faili. Siis hea selle ühe failiga edasi tegeleda, ei pea tervet trobikonda alla laetud faile manageerima.



Skripti leiab siit: https://gist.github.com/sookoll/dc2f292246c775d8b554368cd16d53af



Ehk on abiks. Millegipärast eeldasin, et internetiavarustest leian sobiva skripti, aga võta näpust, ükski ettejäänud ei saanud soovituga õigesti hakkama.



Üks päris ebamoraalne häkk ka. Kuidas saada GCst kätte (ehk kaardile) kõik mingi ala aarded:



[hr]



Aarded ProjectGC live kaardilt.

Töötab Mac peal Safari ja Chrome’iga. Võibolla ka Win peal, aga mul pole ühtegi millel testida.



Mine aadressile https://project-gc.com/Tools/LiveMap

Logi oma kasutajaga sisse

Vali kaardil sind huvitav piirkond. Jälgi, et aarded oleks laetud. Võid lisada neid väheseid filtereid, mida ilma rahata pakutakse.

Ava arendaja konsool (F12, Ctrl-Cmd-i)

Kopeeri järgnev skript Konsooli ja vajuta enter





fset = { type: 'FeatureCollection', features: [] }; PGC_LiveMap.map.eachLayer(layer => { if (layer._popup) { const gjson = layer.toGeoJSON(); gjson.properties.pgc = 1; gjson.properties.content = layer._popup._content; gjson.properties.icon = layer.options.icon.options.iconUrl; fset.features.push(gjson) } }); copy(JSON.stringify(fset));





Lõikelaua puhvrisse kopeeriti GeoJSON vormingus aarded.

Geop kaardile lisamiseks:

* Kleebi GeoJSON tekstikasti

* Ava tekstiredaktor, kleebi sisu tühja faili. Salvesta fail failinimi.json ning lohista geop kaardile (või kihimenüüst “lisa fail”)

ove11. detsember 2019 kell 14:48

Kas sellist scripti annaks ka tekitada, mis oskaks luua nimekirja GP-s ja GC-s logitud aarete kontrollimiseks ja erinevuste esiletoomiseks. Ehk kuidas saaks tekitada nimekirja GP-s logitud kuid GC-s logimata aarete kohta ja ka vastupidi. Seda muidugi eeldusel, et aarded on olemas nii GC-s kui ka GP-s.



Aja jooksul on tekkinud palju GC-s logimata aardeid ja ilmselt ma ei ole kindlasti üksi selle murega. Selliseid aardeid tekib ka uute aarete puhul juurde kuna GC-aare ei ole alati peale GP-s avaldumist veel kohe olemas.

sookoll11. detsember 2019 kell 19:51

See on juba natuke ProjecGP valdkonda kukkuv ülesandepüstitus :)

Olen sellele mõtelnud. Või noh, peaaegu. Et teha selline jupp, mis annab kasutajale teada tema leidude arvu kahe keskkonna peale kokku. Kuna osasid aardeid pole GCs ja no selge on see, et paljusid pole GPs, isegi Eesti aardeid mitte, nagu siit foorumistki lugeda saab. Et siis teaks oma leidude arvu globaalselt. Mul oli veel selline ketserlik idee, et teeks sinna erandite konfigureerimise võimaluse. Noh, et kuna füüsiline logiraamat on ju see, mis loeb, kas on leitud või mitte ja internetilogi on selline sekundaarne, siis saaks näiteks ära seadistada, kas ma loen oma väljakutsete teate-logid leidudeks või mitte. Keskkondade leidude erinevused oleks ju nagunii juba käes, asi siis needki välja pritsida.



Aga noh, see eeldab suuremat tööd. GCs on API iseenesest olemas ja autentida saab ka üle oauth'i. Seega tehnilised eeldused on olemas. GP poolel oli kunagi API jutuks aga ilmselt seda veel ei ole. GP poolel muidugi saab igaüks oma leiud alla laadida, GCst vist kõiki oma leide alla laadida kuidagi ei saa, vähemalt mitte minusugused rotid, kes ei taha suletud süsteeme rahaliselt toetada? Muidu saaks jah ka lihtsa skripti teha mis võrdleb kahte faili.



Ühesõnaga. Tehtav. Kui keegi leiaks aja selle ära tegemiseks :) Hetkel raske isegi mängimiseks aega leida. Kui aga keegi annaks mulle kaks gpx-faili, kus on kõik leiud mõlemast keskkonnast sees, siis ma võin seda proovida kribada.

uuspoiss11. detsember 2019 kell 21:37

@sookoll - Mille järgi võrrelda? Ruumiline analüüs justkui ei sobi, sest GP GPX-i antakse salvestatud aarde koordinaat (nt mõistatuse lahendus). Kui oled GP-s leiu loginud ja lõpp-punkti maha salvestanud, siis GC logimata aardega enam ruumis ei kattu. Aarde nimi vist ka ei sobi, sest kipuvad kahes keskkonnas erinema eesti k vs inglise k või eesti k vs kahes keeles.



Kui ülesande püstituseks võtta @ove mure, st tuvastada GC-s logimata GP-s logitud aarded, siis lähim asi kattuvale unikaalsele ID-le on tänu peitjate ja adminnide hoolikale käsitööle GP-s maha salvestatud GC aarete koodid. Aga selleks pole enam GPX-i, vaid lihtsalt nimekirja/tabelit vaja. Kas GC API annab konkreetse kasutaja kontekstis aarde koodile vastuse leitud/leidmata staatuse kohta, seda ma ei tea...

uuspoiss11. detsember 2019 kell 21:54

Kui nüüd natuke järgi mõelda, siis ma muidugi ajan jama - GP aardeotsingus on täiesti võimalik tekitada gpx, kus vastavused on ilusti üks-ühele olemas:



GC8FEV6

<groundspeak:cache id="5591">

groundspeak:nameMaailma-kera</groundspeak:name>

sookoll11. detsember 2019 kell 23:40

Jah, eks see kokkuviimine võib osutuda mõningatel juhtudel pähkliks. CG kood on GPXis olemas, probleeme on nendega, millel ei ole GC koodi aga tegelikult on GC olemas. Ma ei tea, kui palju selliseid võib olla? Pigem mõni uus aare, mis on mõlemas regatud aga kood sisestamata omaniku poolt. Ja mõni vana arhiivis olev aare. Näiteks Maavarade aare oli selline, mis kõigile üllatuseks oli ka GCs arhiivis olemas. Omaniku ja nime ja peidukuupäevade võrdlus võiks ka kuigi palju tulemusi anda, aga siin peaks hästi loominguliselt asjale lähenema ja seda aega ei ole küll niisama kuskilt võtta, et sellist loomingut kokku kirjutada :D

Leitud/leidmata saab GPXist kätte, muidu ei oleks saanud ka oma Geop kaardil neid leitud/leidmata aardeid eristada.

caro12. detsember 2019 kell 09:22

Meil on muidu leht olemas (uute, aktiivsete?) aarete jaoks, millel GC koodi veel pole.

http://geopeitus.ee/gckoodita