Door
Berta Pappens
op 05-11-2023 18:02
gewijzigd op 17-11-2023 15:11
9.863 views
Hallo,
heeft er iemand een script of functie om decimale coordinaten ( breedtegraad :52.09065 lengtegraad :5.12132) om te zetten naar h ddd° mm.mmm' (graden en minuten) breedtegraad :N52° 05.439 lengetgraad :E005° 07.279 en omgekeerd.
ipv te muggenziften is het misschien iets om op te lossen ???
Jammer dat je op deze manier reageert. Ik wijs je gewoon ergens op, zodat je daar in de toekomst je voordeel mee kunt doen. Er staat nota bene "offtopic" bij. Maar goed, sorry dat ik je een tip heb gegeven hoor. Ik zal het niet meer doen.
Die -131 en +11: is daar dan al een keer een correctie van 360 overheen gegaan?
Je mag zelf ook suggesties doen.
Het komt al een stuk vriendelijker over als je zegt dat je een geval hebt waarbij je een verschil van 150 graden hebt.
Dan heb je op z'n minst ook zelf even gerekend. (en misschien ook gekeken naar de formule)
Je bent nu een eind op weg.
Ja: "Jij" bent op weg.
"ik" niet. Ik vond het vooral leuk om je de goede kant op te duwen. Niet om hier "mijn" probleem van te maken.
Anders heb ik ook nog wel een paar woonhuisverzekeringsberekeningen die nog gedaan kunnen worden door jou misschien.
zoals je kan zien heb ik een if toegevoegd , maar blijkbaar is dit niet de goede oplossing omdat het verkeerd loop als het -1,546982 wordt dan krijg je -131 in het coordinaat.
Hier stopt het voor mij, omdat ik daar niet in thuis ben, maar er zijn hier wel meesters in deze materie.
bedankt voor alles, misschien is er nog iemand die wil helpen, ikzelf ben niet thuis in de omzetting van coordinaten.
Dus
[size=xsmall]Toevoeging op 06/11/2023 18:51:30:[/size]
IVO
Heb zelf iets gemaakt die perfect werkt maar is nogal lang.
Bekijk het even of het eenvoudiger kan.
Probeer het eens uit ....????
Wat is uw reactie als kenner ..??
1) spring je code in bij if/else blokken. Dat verbetert te deelbaarheid.
2) geef je variabelen zinnige namen: $a = "."; noem $a dan $punt.
idem voor $b t/m $z; Daar bak je volgende week al niets meer mee.
3) je werkt met getallen. Om te kijken of dat met - begint, controleer je dan doorgaans of $Lengtegraad < 0;
En dat maak je dan weer positief door abs($Lengtegraad) te gebruiken. Dat is begrijpelijker dan gehannes met substr()
(Enne substr($string, 4, $lengteString - 4) is het zelfde als substr($string, 4))
breedtegraad is niet juist moet zijn N47° 04.978 de nul voor de vier is te weinig.
Is het mogelijk dit even na te kijken AUB anders ziet het er perfect uit