Hallo,

Heeft er iemand een idee over hoe de berekening gedaan wordt van een GC code naar een CAch ID
voorbeeld GC50NQH = ID 4227396

Of bestaat er een php source van .

Alvast bedankt
Dirk
Neem aan dat je GeoCache bedoelt?
Want niet iedereen is er bekend mee, dus leg voortaan duidelijk uit wat je bedoelt.

Verder was ik benieuwd wat je doel is? Voor zover ik weet zijn geocaches altijd te herkennen aan een GC-code op het internet. Ik heb die ID's die je ook noemt ook nog nooit gezien. Ik vraag me af of er wel een berekening achter zit?
Het id wat je noemt is een volgnummer, beginnend bij 1 voor GC1 (alhoewel ids 1 t/m 3 niet bestaan). Tot en met GCFFFF (id 65535) waren de codes hexadecimaal. Vanaf GCG000 (id 65536) wordt gebruik gemaakt van base-31, waarbij de letters I, L, O, S en U niet worden gebruikt.

Je moet dan nog wel compenseren voor de niet uitgegeven ids. G000 in base-31 is 476656. Dat betekent dus, dat je van alle gevonden base31-getallen een offset van 476656 - 65536 = 411120 moet aftrekken.

Oftewel, op basis van GC50NQH:

5 =>  5 * 31^4 = 4617605
0 =>  0 * 31^3 =       0
N => 21 * 31^2 =   20181
Q => 23 * 31^1 =     713
H => 17 * 31^0 =      17

4617605 + 0 + 20181 + 713 + 17 - 411120 = 4227396

Het omzetten naar PHP laat ik over als vingeroefening. ;-)

@Ariën: De numerieke ids worden vooral intern gebruikt, in bijvoorbeeld een direct link naar de logpagina.
Ah, weer wat geleerd.... ;-)
- Ariën - op 01/09/2017 00:38:55

Ah, weer wat geleerd.... ;-)

Ik moet bekennen dat ik het een uur geleden ook nog niet wist. Maar gelukkig zat ik in een reverse engineering-bui. ;-)
Dit wist ik ook niet, maar ik moet ook bekennen dat ik nooit een reden heb gehad om me hierin te verdiepen.
Nog goed dat ik de vraag gesteld heb zo is er altijd iets bij te leren.
Als je een geocach gpx wil maken moet er op de volgende lijn dit staan
<groundspeak:cache id="4227396" available="True" archived="False">
vandaar dat je het id moet berekenen via de GC code.

Ik ga proberen dit om te zetten in PHP.

Alvast bedankt aan iedereen, en zeker aan willem VP voor de duidelijk uitleg .
Dirk

Succes.
Je mag het ook delen in de scripts-bibliotheek hier op PHPhulp.
Graag zelf! ;-)

Reageren