Omrekenen coordinaten vice versa
Pagina: « vorige 1 2 3 4 5 volgende »
je hebt mijn edit niet gezien.
ik krijg als output:
Breedtegraad: N 47° 49.782'
Lengtegraad: W 003° 41.806'
ik krijg als output:
Breedtegraad: N 47° 49.782'
Lengtegraad: W 003° 41.806'
EvH,
Prachtig van U, blijkbaar klopt het nu helemaal
heb ook andere ingaves gedaan en ze kloppen ook .
Nogmaals heel vriendelijk bedankt voor deze hulp.
Ben je toevallig een geocacher ?
Prachtig van U, blijkbaar klopt het nu helemaal
heb ook andere ingaves gedaan en ze kloppen ook .
Nogmaals heel vriendelijk bedankt voor deze hulp.
Ben je toevallig een geocacher ?
Ik wel in ieder geval! :-)
In mijn buurt heb ik er zelf vier neergelegd.
In mijn buurt heb ik er zelf vier neergelegd.
Geen geocacher, maar heb wel eens meegewerkt aan een project door een fanatieke geocacher.
Fijn dat het nu werkt :)
Fijn dat het nu werkt :)
ariën,
Dan ken jij het programma Gsak.
Gsak zal verdwijnen en geen toegang meer krijgen bij geocaching door de aanpassing van de API's
Misschien is het een doel om er eentje te maken zoals gsak maar dan in php.
Toevoeging op 07/11/2023 13:05:46:
EvH,
Nogmaals bedankt voor alles, en als je nog een project wil geen probleem, het programma Gsak dat zal verdwijnen namaken in php.
Toevoeging op 07/11/2023 17:05:22:
E vH ,
Is het mogelijk om het script ook te wijzigen zonder dat het een functie is AUB.
Dank bij voorbaat.
Dan ken jij het programma Gsak.
Gsak zal verdwijnen en geen toegang meer krijgen bij geocaching door de aanpassing van de API's
Misschien is het een doel om er eentje te maken zoals gsak maar dan in php.
Toevoeging op 07/11/2023 13:05:46:
EvH,
Nogmaals bedankt voor alles, en als je nog een project wil geen probleem, het programma Gsak dat zal verdwijnen namaken in php.
Toevoeging op 07/11/2023 17:05:22:
E vH ,
Is het mogelijk om het script ook te wijzigen zonder dat het een functie is AUB.
Dank bij voorbaat.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
function DMSToDecimal($dms) {
preg_match('/([NS])(\d+)° (\d+\.\d+)/', $dms, $latMatches);
preg_match('/([EW])(\d+)° (\d+\.\d+)/', $dms, $lonMatches);
if (!empty($latMatches)) {
$latDirection = $latMatches[1];
$latDegrees = (float)$latMatches[2];
$latMinutes = (float)$latMatches[3];
$latitude = ($latDirection === 'N') ? ($latDegrees + ($latMinutes / 60)) : -($latDegrees + ($latMinutes / 60));
} else {
return false; // Invalid latitude format
}
if (!empty($lonMatches)) {
$lonDirection = $lonMatches[1];
$lonDegrees = (float)$lonMatches[2];
$lonMinutes = (float)$lonMatches[3];
$longitude = ($lonDirection === 'E') ? ($lonDegrees + ($lonMinutes / 60)) : -($lonDegrees + ($lonMinutes / 60));
} else {
return false; // Invalid longitude format
}
return ['latitude' => $latitude, 'longitude' => $longitude];
}
$dmsLatitude = "N53° 34.127";
$dmsLongitude = "E006° 44.986";
$coordinates = DMSToDecimal($dmsLatitude . " " . $dmsLongitude);
if ($coordinates) {
$latitude = $coordinates['latitude'];
$longitude = $coordinates['longitude'];
echo "Breedtegraad (decimaal): $latitude<br>";
echo "Lengtegraad (decimaal): $longitude<br>";
} else {
echo "Ongeldige DMS-coördinaten.";
}
?>
function DMSToDecimal($dms) {
preg_match('/([NS])(\d+)° (\d+\.\d+)/', $dms, $latMatches);
preg_match('/([EW])(\d+)° (\d+\.\d+)/', $dms, $lonMatches);
if (!empty($latMatches)) {
$latDirection = $latMatches[1];
$latDegrees = (float)$latMatches[2];
$latMinutes = (float)$latMatches[3];
$latitude = ($latDirection === 'N') ? ($latDegrees + ($latMinutes / 60)) : -($latDegrees + ($latMinutes / 60));
} else {
return false; // Invalid latitude format
}
if (!empty($lonMatches)) {
$lonDirection = $lonMatches[1];
$lonDegrees = (float)$lonMatches[2];
$lonMinutes = (float)$lonMatches[3];
$longitude = ($lonDirection === 'E') ? ($lonDegrees + ($lonMinutes / 60)) : -($lonDegrees + ($lonMinutes / 60));
} else {
return false; // Invalid longitude format
}
return ['latitude' => $latitude, 'longitude' => $longitude];
}
$dmsLatitude = "N53° 34.127";
$dmsLongitude = "E006° 44.986";
$coordinates = DMSToDecimal($dmsLatitude . " " . $dmsLongitude);
if ($coordinates) {
$latitude = $coordinates['latitude'];
$longitude = $coordinates['longitude'];
echo "Breedtegraad (decimaal): $latitude<br>";
echo "Lengtegraad (decimaal): $longitude<br>";
} else {
echo "Ongeldige DMS-coördinaten.";
}
?>
Hoi Berta,
Waarom zou je dat willen? Iets meer toelichting zou wenselijk zijn als je het mij vraagt.
Een functie gebruik je namelijk om een bepaald doel te behalen... en deze specifieke functie doet precies dat toch?
Waarom zou je dat willen? Iets meer toelichting zou wenselijk zijn als je het mij vraagt.
Een functie gebruik je namelijk om een bepaald doel te behalen... en deze specifieke functie doet precies dat toch?
Gewijzigd op 08/11/2023 09:08:31 door E vH
Omdat deze functie niet werkt binnen een andere functie
de code ziet er dan zo uit, maar blijkbaar werkt dit niet
de foutmelding is :
Fatal error: Cannot redeclare DMSToDecimal() (previously declared
de code ziet er dan zo uit, maar blijkbaar werkt dit niet
de foutmelding is :
Fatal error: Cannot redeclare DMSToDecimal() (previously declared
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
function BeforeProcessRowList(&$data, $pageObject)
{
function DMSToDecimal($dms) {
echo $dms ;
preg_match('/([NS])(\d+) (\d+\.\d+)/', $dms, $latMatches);
preg_match('/([EW])(\d+) (\d+\.\d+)/', $dms, $lonMatches);
if (!empty($latMatches)) {
$latDirection = $latMatches[1];
$latDegrees = (float)$latMatches[2];
$latMinutes = (float)$latMatches[3];
$latitude = ($latDirection === 'N') ? ($latDegrees + ($latMinutes / 60)) : -($latDegrees + ($latMinutes / 60));
} else {
return false; // Invalid latitude format
}
if (!empty($lonMatches)) {
$lonDirection = $lonMatches[1];
$lonDegrees = (float)$lonMatches[2];
$lonMinutes = (float)$lonMatches[3];
$longitude = ($lonDirection === 'E') ? ($lonDegrees + ($lonMinutes / 60)) : -($lonDegrees + ($lonMinutes / 60));
} else {
return false; // Invalid longitude format
}
return ['latitude' => $latitude, 'longitude' => $longitude];
}
$dmsLatitude=$data["Breedtegraad"];
$dmsLongitude=$data["Lengtegraad"];
$coordinates = DMSToDecimal($dmsLatitude . " " . $dmsLongitude);
if ($coordinates) {
$latitude = $coordinates['latitude'];
$longitude = $coordinates['longitude'];
echo "Breedtegraad (decimaal): $latitude<br>";
echo "Lengtegraad (decimaal): $longitude<br>";
} else {
echo "Ongeldige DMS-cordinaten.";
}
return true;
;
}
{
function DMSToDecimal($dms) {
echo $dms ;
preg_match('/([NS])(\d+) (\d+\.\d+)/', $dms, $latMatches);
preg_match('/([EW])(\d+) (\d+\.\d+)/', $dms, $lonMatches);
if (!empty($latMatches)) {
$latDirection = $latMatches[1];
$latDegrees = (float)$latMatches[2];
$latMinutes = (float)$latMatches[3];
$latitude = ($latDirection === 'N') ? ($latDegrees + ($latMinutes / 60)) : -($latDegrees + ($latMinutes / 60));
} else {
return false; // Invalid latitude format
}
if (!empty($lonMatches)) {
$lonDirection = $lonMatches[1];
$lonDegrees = (float)$lonMatches[2];
$lonMinutes = (float)$lonMatches[3];
$longitude = ($lonDirection === 'E') ? ($lonDegrees + ($lonMinutes / 60)) : -($lonDegrees + ($lonMinutes / 60));
} else {
return false; // Invalid longitude format
}
return ['latitude' => $latitude, 'longitude' => $longitude];
}
$dmsLatitude=$data["Breedtegraad"];
$dmsLongitude=$data["Lengtegraad"];
$coordinates = DMSToDecimal($dmsLatitude . " " . $dmsLongitude);
if ($coordinates) {
$latitude = $coordinates['latitude'];
$longitude = $coordinates['longitude'];
echo "Breedtegraad (decimaal): $latitude<br>";
echo "Lengtegraad (decimaal): $longitude<br>";
} else {
echo "Ongeldige DMS-cordinaten.";
}
return true;
;
}
Je kan prima een functie aanroepen in een andere functie.
Die foutmelding die jij krijgt betekent dat jij een functie aanmaakt met dezelfde naam, en dat kan niet. In jouw code gaat daar niks fout.
Die foutmelding die jij krijgt betekent dat jij een functie aanmaakt met dezelfde naam, en dat kan niet. In jouw code gaat daar niks fout.
Gewijzigd op 08/11/2023 09:27:31 door - Ariën -
Ariën,
Er is geen functie met dezelfde naam aanwezig function DMSToDecimal()
Er is geen functie met dezelfde naam aanwezig function DMSToDecimal()
Dit is niet de gehele foutmelding. Er hoort namelijk een verwijzing te zijn naar een bepaalde regel.
Wat Ariën zegt klopt, je hebt nu 2 dezelfde functienamen, waarschijnlijk door een loop?
Zet die functie DMSToDecimal() eens buiten de functie BeforeProcessRowList()
Berta Pappens op 08/11/2023 09:29:16:
Ariën,
Er is geen functie met dezelfde naam aanwezig function DMSToDecimal()
Er is geen functie met dezelfde naam aanwezig function DMSToDecimal()
jawel.
Achter jouw foutmeldng
Quote:
de foutmelding is :
Fatal error: Cannot redeclare DMSToDecimal() (previously declared
Fatal error: Cannot redeclare DMSToDecimal() (previously declared
staat precies waar. Helaas knip je dat stuk net weg van de foutmelding.
Blijkbaar vindt PHP van wel. Mogelijk vanwege een include() of require() die dezelfde functie meerdere keren includeert
Met jouw functie lijkt niks mis. Er staat in je foutmelding ook een pad met lijnnummer?
Met jouw functie lijkt niks mis. Er staat in je foutmelding ook een pad met lijnnummer?
Gewijzigd op 08/11/2023 09:33:13 door - Ariën -
wat er wel gebeurd is dat de functie function BeforeProcessRowList(&$data, $pageObject)
een tabel af loopt van honderd records
een tabel af loopt van honderd records
Berta Pappens op 08/11/2023 09:33:09:
wat er wel gebeurd is dat de functie function BeforeProcessRowList(&$data, $pageObject)
een tabel af loopt van honderd records
een tabel af loopt van honderd records
ondanks de fatal error?
Berta Pappens op 08/11/2023 09:33:09:
wat er wel gebeurd is dat de functie function BeforeProcessRowList(&$data, $pageObject)
een tabel af loopt van honderd records
een tabel af loopt van honderd records
Ok! Wat zou daar het probleem van moeten zijn?
Gewijzigd op 08/11/2023 09:35:46 door - Ariën -
Dat klopt het toch wat je functie doet..
je roept BeforeProcessRowList() aan..
Die gaat vervolgens DMSToDecimal() aanroepen.
Zodra BeforeProcessRowList() klaar is, start je BeforeProcessRowList() weer.. ( want honderd records ).
En vervolgens roept BeforeProcessRowList() weer functie DMSToDecimal() aan.. en dat levert je de error op.
Je hebt nu zoiets:
maak er dit van:
je roept BeforeProcessRowList() aan..
Die gaat vervolgens DMSToDecimal() aanroepen.
Zodra BeforeProcessRowList() klaar is, start je BeforeProcessRowList() weer.. ( want honderd records ).
En vervolgens roept BeforeProcessRowList() weer functie DMSToDecimal() aan.. en dat levert je de error op.
Je hebt nu zoiets:
maak er dit van:
Dat is nu ook de vraag die ik mij stel Ariën..
ah: je definieert dus een functie BINNEN een andere functie.
Volgens mij snap je iets niet aan het hele function-concept.
Volgens mij snap je iets niet aan het hele function-concept.
Ik denk dat het nu wel duidelijk is:
Een functie kan je prima aanroepen in een andere functie, maar aanmaken in een andere functie is not-done.
Een functie kan je prima aanroepen in een andere functie, maar aanmaken in een andere functie is not-done.
Ivo P,
Dat is het inderdaad zo , ik ben een leek .
Dat is het inderdaad zo , ik ben een leek .




