PHP source voor convert GC code to cach ID

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Berta Pappens

Berta Pappens

31/08/2017 23:10:49
Quote Anchor link
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
 
PHP hulp

PHP hulp

21/11/2024 13:08:36
 
- Ariën  -
Beheerder

- Ariën -

31/08/2017 23:13:44
Quote Anchor link
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?
Gewijzigd op 31/08/2017 23:16:31 door - Ariën -
 
Willem vp

Willem vp

01/09/2017 00:37:26
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
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.
Gewijzigd op 01/09/2017 00:49:59 door Willem vp
 
- Ariën  -
Beheerder

- Ariën -

01/09/2017 00:38:55
Quote Anchor link
Ah, weer wat geleerd.... ;-)
 
Willem vp

Willem vp

01/09/2017 00:45:09
Quote Anchor link
- 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. ;-)
 
Ben van Velzen

Ben van Velzen

01/09/2017 01:14:06
Quote Anchor link
Dit wist ik ook niet, maar ik moet ook bekennen dat ik nooit een reden heb gehad om me hierin te verdiepen.
 
Berta Pappens

Berta Pappens

01/09/2017 11:00:28
Quote Anchor link
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
 
- Ariën  -
Beheerder

- Ariën -

01/09/2017 11:05:16
Quote Anchor link
Succes.
Je mag het ook delen in de scripts-bibliotheek hier op PHPhulp.
Graag zelf! ;-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.