• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Formule GPS naar Rijksdienst (=RD/Amersfoort) coördinaten?

Status
Niet open voor verdere reacties.
Leuk dat mijn vraag je dusdanig heeft geprikkeld om het programma opnieuw te gaan (ver/her)bouwen Ginger!

Uiteraard ben ik zeer benieuwd en hou ik mij daarvoor (t.z.t.) warm aanbevolen. En inderdaad, met de input tot dusverre hier verkregen zal ik ongetwijfeld de beoogde implementatie kunnen realiseren.

Met een vriendelijke groet,

Hans
 
Deze zal je ook kunnen bekoren denk ik. Het enige verschil met jouw originele ontwerp is dat ik de coördinaten in aparte cellen gezet heb.
Het is wel een draak van een formule geworden maar m.i. werkt ze wel naar behoren. Ik zou zeggen Testen maar.
 

Bijlagen

Hij werkt inderdaad als een tierelier en is ook nog 'ns mooi compact Warme bakkertje!

De formule vind ik overigens zeer creatief en elegant. Voor onze doeleinden is-ie in ieder geval sowieso meer dan prima. Dat geldt overigens ook voor de vorige oplossing.

Wederom hartelijk dank voor je bijdrage met een vriendelijke groet,

Hans
 
Zoals beloofd heb ik m'n hobby-klus afgerond. Ik heb een converteersheet gemaakt waar je in een cel de coördinaten opgeeft die je wilt omzetten. Na een druk op de knop krijg je deze omgezet in:
RD, WGS84 (DD.dddddd°, DD° MM.mmm', DD° MM' SS.s") en UTM
Vooral het deel om uit te vissen wat voor invoer er was, heeft me nogal hoofdbrekens bezorgd. Maar volgens mij doet het programma nu precies wat het moet doen.

Dit is ver voorbij de vraag van de TS, maar wilde 'm jullie nu toch niet onthouden. ;-)

[EDIT] een nieuwe bijlage toegevoegd omdat bleek dat de URL voor Google Maps het niet deed als de sheet beveiligd was (gevalletje gelockte cel).
 

Bijlagen

Laatst bewerkt:
Voor de liefhebbers.... Nog maar een upgrade van m'n workbook. Nu ook de mogelijkheid om de "thuis-coördinaten" in te voeren waarmee de afstand naar het geconverteerde coördinaat wordt berekend.

[EDIT]Let op! De bijlage is op 15 maart aangepast ivm een fout in de UTM Zone-letter berekening.
 

Bijlagen

Laatst bewerkt:
Da's een knap staaltje programmeerwerk Leo. :thumb:
Als ik in de modules kijk duizelt het me van de getallen en berekeningen.
Wat een geduld moet je daarvoor hebben gehad.
 
@HSV

Dat kan ik alleen maar bevestigen.
Een suggestie:

Code:
Function ZoneLetter(NS As String, Graden As Integer) As String
    F_zone = Chr(66 + Graden \ 8 + 9 * Abs(NS = "N")))
    If NS = "N" And Graden > 80 And Graden <= 84 Then F_zone = "X"
End Function
 
Dank, HSV en SNB. Overigens is het échte grote programmeerwerk door anderen gedaan. Die functies om RD en UTM om te rekenen gaan écht vér boven mijn wiskundige petje. ;)
Het was voor mij dus ooit het zoeken op internet naar dit soort functies en die waar nodig omzetten naar VBA voor Excel. Het koppelen van deze functies is dan weer wel mijn dingetje geweest...

@snb, Met je functie krijg ik niet de juiste uitkomst, maar tijdens het testen daarvan zag ik wél dat mijn functie niet klopte. De "string" voor het zuidelijk halfrond stond de verkeerde kant op. Daarom kon ik 'm ook niet verwerken met de methode die jij nu doet (maar dan moet ik de string natuurlijk wél goede richting in zetten :o). Dit is de tabel waarmee gewerkt moet worden...
Code:
   A      B               C  
 1 Graden UTM Zone code's    
 2 84     X               N  
 3 72     W               N  
 4 64     V               N  
 5 56     U               N  
 6 48     T               N  
 7 40     S               N  
 8 32     R               N  
 9 24     Q               N  
10 16     P               N  
11 8      N               N  
12 0                         
13 -8     M               Z  
14 -16    L               Z  
15 -24    K               Z  
16 -32    J               Z  
17 -40    H               Z  
18 -48    G               Z  
19 -56    F               Z  
20 -64    E               Z  
21 -72    D               Z  
22 -80    C               Z  

Sheet1

[Table-It] version 09 by Erik Van Geit
Je ziet dus dat het naar het Noorden wel netjes oplopend is, maar dat het naar het zuiden tegengesteld gaat (de "laagste" letter is de hoogste aantal graden). Let daarbij ook op dat de "I" en de "O" ontbreken uit de lijst van Zone-letters. Hierdoor wordt het naar mijn idee dus echt onmogelijk om dat via de Chr berekening te doen.

Ik heb de laatste bijlage in post nr.25 aangepast.
 
Laatst bewerkt:
Leo, waar een hobby al niet toe kan leiden :). Voor je collega-hobbyisten een hebbedingetje. :thumb:
Naar aanleiding van deze thread ben ik ook zo eens gaan kijken naar formules e.d. en je kan je gewoon niet voorstellen hoeveel je er kan vinden, zo erg dat je de bomen door het bos niet meer ziet.
De ene beweert al accurater te zijn dan de andere. Voor de afstandberekening lopen Haversine en Cosines gelijk, Vincenty scheelt dan weer enkele tientallen meters. Dus mijn vraag naar jou toe is hoeveel afwijking is aanvaardbaar in jouw hobby en wat ik mij afvraag is wie er dan uiteindelijk gelijk heeft ?
Maar in ieder geval een knap staaltje XL-werk
 
@Rudi, dank! En inderdaad... Ik heb al een hoop dingen voor het Cachen afgehandeld met Excel. Vooral bij de puzzels blijkt het voor mij handig te zijn wat te kunnen programmeren. ;)
Tja en dan de nauwkeurigheid van de afstand. Eerlijk gezegd doe ik daar niet zoveel mee. Over het algemeen heb je dat voor puzzels niet nodig en in het veld gebruik ik m'n autonavigatie (voor de rit naar een cache) en m'n wandel-gps voor het laatste stuk. Ik heb dus ook nog nooit die afstandmeting op juistheid gecheckt (maar vind het wel een terecht goede vraag van je).
Verder vind ik 't héél fascinerend hoe men óóit op het idee is gekomen om de wereld (maar ook daarbuiten) alles in punten op te delen en daarnaast de benodigde hard- en software te ontwikkelen. Voor mij is dat echt een super groot wonder. Komt nog bij dat knappe koppen vervolgens met deze coördinaten óók nog 'ns kunnen rekenen. Voor mij is dit allemaal abacadabra... :D
 
@ginger

Als graden variëren van -80 tot +84 is de aanduiding N of Z overbodig, want het teken voor de cijfers doet dat al.
Dan gaat het volgens mij met:

Code:
chr(78+graden\8)
 
Laatst bewerkt:
Zojuist heb ik je tweede versie voor onze doeleinden getest en hij blijkt perfect te werken Ginger!

Uiteraard wil ik mij graag aansluiten bij alle lovende reacties die je reeds ten deel zijn gevallen en ik kan daar slechts aan toevoegen dat ik diep onder de indruk ben van je werkstuk, châpeau!
De eerder aangedragen oplossingen m.b.t. mijn oorspronkelijke vraag zijn weliswaar voor onze doeleinden direct bruikbaar, maar jouw bijdrage is sowieso altijd handig om achter de hand te hebben.

Verder wil ik nog kwijt dat ik het ronduit geweldig vind dat er zo veel bruikbare reacties zijn gekomen (en wellicht nog zullen komen?). Kennelijk is er ook veel belangstelling gezien het bekijks (momenteel al 739!) dat deze discussie trekt. Ik zal dan ook, ondanks dat mijn vraag meer dan beantwoord is, 'm nog niet sluiten.
 
Een vraag sluiten doe je als hij naar tevredenheid is beantwoord. Dat doet niets af aan de leesbaarheid want hij zakt toch wel, of vindbaarheid :).
 
@Ginger

Volgens mij komt deze overeen met al je criteria:

Code:
function F_snb(graden)
   F_snb=replace(chr(78+graden\8+(graden\8<-32)),"O","")
End function
 
Ha ha ha... Leuk snb! Je zit dichtbij, maar je bent er nog niet. Bij -40 en lager gaat die mis (komt omdat de I niet mag voor komen). Maar ook van -8 tot 8 krijg je geen uitkomst. Wel knap gevonden met die +1 dmv TRUE en FALSE.
 
Nou vooruit, omdat jij het bent:

Code:
Function F_snb(graden)
   F_snb = ""
   If graden \ 8 <> 0 Then F_snb = Chr(78 + graden \ 8 + (graden < -39) + (graden \ 8 = 1))
End Function
 
@snb, Dankzij jouw doorzettingsvermogen om er een 1-regel-functie van te maken, ben ik er toch op door gegaan... Je functie hierboven klopte namelijk niet (maar dat komt eerder door mij, dan door jou omdat ik jou niet voorzag van de 100% correcte info (én mezelf dus óók niet!) :o). Het kostte mij héél wat hoofdbrekens en ben toen maar aan de slag gegaan met het opbouwen in een sheet. DAT gaf me het inzicht dat ik nodig had om jouw basis te vervolmaken. Zie de bijlage voor dit traject... ;)

Zo is de functie geworden, waar nu volgens mij geen speld meer tussen te krijgen is.
Code:
Function F_leo_DEF(Graden As Double) As String
' in VBA is TRUE -1  en FALSE 0 !!!
    
    F_leo_DEF = Chr((76 + Fix(Graden / 8)) + Abs(Graden >= -24) + Abs(Graden >= 0) + Abs(Graden >= 8) + (Graden >= 80))

End Function
Mijn dank weer voor je aanzet tot mijn nadenken! :thumb:
 

Bijlagen

Laatst bewerkt:
Dag Leo,

Is die ene regel de vervanger van al die code in je openingspost?
Dat is wel heel erg knap dan. :thumb:
 
Is die ene regel de vervanger...
Ha ha ha... WAS het maar zo'n feest! Dit was slechts het stukje voor de berekening van de zone-letter die in een UTM coördinaat wordt gebruikt.
 
Chapeau, Ginger !


Edoch:
Het wil maar niet lukken bij Excelgebruikers tussen de oren te krijgen dat VBA meer operatoren heeft dan Excel.

i.p.v.
Fix(Graden / 8))

gebruiken de native VBA-speakers:

Graden\8

Ik ga nog gedetailleerd naar je werkboek kijken.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan