Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Afstand berekenen tussen 2 coördinaten(steden)  (gelezen 15262 keer)

0 leden en 1 gast bekijken dit topic.

Offline Diezel

  • Oplosser
  • ****
  • Berichten: 508
  • Geslacht: Man
  • Meedenker - Initiatief nemen - Helpen oplossen...
Afstand berekenen tussen 2 coördinaten(steden)
« Gepost op: 25 februari 2009, 22:16:37 »
Ik probeer in vba de afstand te berekenen tussen 2 steden.

Ik kom steeds de waarde nul uit.
Lig het dan aan de matrix die verkeerd gedeclareerd is?


Option Compare Database
Option Explicit
Function afstand(Lat1 As Double, Lon1 As Double, Lat2 As Double, Lon2 As Double) As Double

Dim dlat As Double
Dim dlon As Double
Dim A As Double
Dim Atan2(0 To 100, 0 To 100) As Double
Dim c As Double
Dim d As Double
Dim Sqr(0 To 100) As Integer


   Lat1 = Lat1 * (3.14159265358979 / 180)
   Lat2 = Lat2 * (3.14159265358979 / 180)
   Lon1 = Lon1 * (3.14159265358979 / 180)
   Lon2 = Lon2 * (3.14159265358979 / 180)
   dlat = Lat2 - Lat1
   dlon = Lon2 - Lon1
   
   A = ((Sin(dlat / 2)) * (Sin(dlat / 2))) + Cos(Lat1) * Cos(Lat2) * ((Sin(dlon / 2)) * (Sin(dlon / 2)))
   c = 2 * Atan2(Sqr(A), Sqr(1 - A))
   d = 6372797 * c
   afstand = d
   
 End Function
 


De afgeleide broncode is van PHP


<?php 

// afstands functie 
function afstand($lat1$lon1$lat2$lon2$unit "K") { 
      
$theta $lon1 $lon2
      
$dist sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +  cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta)); 
      
$dist acos($dist); 
      
$dist rad2deg($dist); 
      
$miles $dist 60 1.1515
      
$unit strtoupper($unit); 

      switch(
$unit) { 
            case 
"M"
                  return 
$miles
            break; 
            case 
"N"
                  return (
$miles 0.8684); 
            break; 
            default: 
                  return (
$miles 1.609344); 
            break; 
      } 


// coördinaten Dwingeloo 
$ax 52.8338
$ay 6.37351

// coördinaten Meppel 
$bx 52.6849
$by 6.18306

print 
afstand($ax$ay$bx$by) . " kilometer"

?>


Vriendelijke groeten,

Diezel
OS: Windows 10 Home - 64 bit
Processor:  Intel(R) Core(TM) I7 - 4770 CPU 3,40 GHZ
SSD - RAM: 500 GB, 16 GB
SOFTWAREPAKKET: Office 2007

Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.345
  • I've Upped my standards,now,up yours!
Re: Afstand berekenen tussen 2 coördinaten(steden)
« Reactie #1 Gepost op: 26 februari 2009, 07:26:31 »
Dim Sqr(0 To 100) As Integer?

sqr is een ingebouwde functie om de vierkantswortel uit een getal te trekken hé (quare root)
Geen id waarom je dit als een array declareert.

Als die punten niet zo ver vaneen liggen en je kan aannemen dat het over een plat vlak gaat kan je je formule sterk vereenvoudigen.

afstand = WortelUit( (lat1-lat2) kwadraat + (lon1-lon2)kwadraat))
Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

Offline patten

  • Volledig lid
  • **
  • Berichten: 118
  • Oplossing.be
Re: Afstand berekenen tussen 2 coördinaten(steden)
« Reactie #2 Gepost op: 26 februari 2009, 09:27:19 »
Inderdaad, dit tot een afstand van 400 nautical miles en dit is een 740-tal km.
patten
sony vaio windows7 home premium HD 500Gb RAM 4Gb 64-bit IE9 intel i3

Offline Diezel

  • Oplosser
  • ****
  • Berichten: 508
  • Geslacht: Man
  • Meedenker - Initiatief nemen - Helpen oplossen...
Re: Afstand berekenen tussen 2 coördinaten(steden)
« Reactie #3 Gepost op: 26 februari 2009, 16:48:56 »
Bedankt voor jullie reactie.

Ik heb een website gevonden ivm berekening coödinaten en de afstand.

https://www.movable-type.co.uk/scripts/gis-faq-5.1.html

Ik heb geprobeerd om dit in vba te doen maar het lukt mij helemaal niet.

 :'( diezel



OS: Windows 10 Home - 64 bit
Processor:  Intel(R) Core(TM) I7 - 4770 CPU 3,40 GHZ
SSD - RAM: 500 GB, 16 GB
SOFTWAREPAKKET: Office 2007

Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.345
  • I've Upped my standards,now,up yours!
Re: Afstand berekenen tussen 2 coördinaten(steden)
« Reactie #4 Gepost op: 26 februari 2009, 17:02:40 »
heb je wat voorbeelden van coördinaten van steden die je wil invoeren?
Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

Offline Diezel

  • Oplosser
  • ****
  • Berichten: 508
  • Geslacht: Man
  • Meedenker - Initiatief nemen - Helpen oplossen...
Re: Afstand berekenen tussen 2 coördinaten(steden)
« Reactie #5 Gepost op: 26 februari 2009, 17:22:11 »
Hier een voorbeeld:

Amsterdam

N 52°18.859 E 4°56.514

Antwerpen

N 51°12.98' E 4°25.259

Mvg

Diezel
OS: Windows 10 Home - 64 bit
Processor:  Intel(R) Core(TM) I7 - 4770 CPU 3,40 GHZ
SSD - RAM: 500 GB, 16 GB
SOFTWAREPAKKET: Office 2007

Offline Diezel

  • Oplosser
  • ****
  • Berichten: 508
  • Geslacht: Man
  • Meedenker - Initiatief nemen - Helpen oplossen...
Re: Afstand berekenen tussen 2 coördinaten(steden)
« Reactie #6 Gepost op: 27 februari 2009, 00:36:00 »
Dizzl,

Ik heb jou voorbeeld getest, het is gewoonweg in orde.

Ik moest nog even een proefversie van office 2007 downloaden en installeren om jou voorbeeld te kunnen openen.

Indien ik aan een tekstbestand geraak i.v.m. de coördinaten van de Belgische steden zal ik die hier posten. Tegenwoordig zijn de coördinaten uitgezet op postcode, straat en huisnummer.

Alvast bedankt voor je inzet,

Mvg,

Diezel

OS: Windows 10 Home - 64 bit
Processor:  Intel(R) Core(TM) I7 - 4770 CPU 3,40 GHZ
SSD - RAM: 500 GB, 16 GB
SOFTWAREPAKKET: Office 2007

Offline Diezel

  • Oplosser
  • ****
  • Berichten: 508
  • Geslacht: Man
  • Meedenker - Initiatief nemen - Helpen oplossen...
Re: Afstand berekenen tussen 2 coördinaten(steden)
« Reactie #7 Gepost op: 27 februari 2009, 03:29:47 »
Dizzl en aan alle geintreseerden,

Het geluk kan precies vandaag niet meer op.
Na grondig opzoekingswerk en wat tests zijn de berekeningen zoals verwacht.

In bijlage een traktaatje.

Het bevat alle GPS coördinaten van de belgische steden en gemeenten.

Bronverwijzijng:

https://www.rdlt.com/postcodes-van-alle-gemeentes-van-belgie-met-gps-coordinaten

Datum van raadpleging 27/02/2009 02:08

Het bevat een XML versie dat ik dan in excel heb geimporteerd. Van daaruit kan het weer verder naar access.
Met wat knutselwerk in access hoop ik met 2 keuzevakken de klus te klaren. Zin om het mee af te werken, sugesties zijn welkom.

Veel plezier ermee.

Diezel





OS: Windows 10 Home - 64 bit
Processor:  Intel(R) Core(TM) I7 - 4770 CPU 3,40 GHZ
SSD - RAM: 500 GB, 16 GB
SOFTWAREPAKKET: Office 2007

Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.345
  • I've Upped my standards,now,up yours!
Re: Afstand berekenen tussen 2 coördinaten(steden)
« Reactie #8 Gepost op: 27 februari 2009, 08:40:22 »
Hier heb je ook eens de andere berekening in access 2003 formaat.
Mss zou het handig zijn als je je office versie bij je profiel vermelde?
Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

Offline Diezel

  • Oplosser
  • ****
  • Berichten: 508
  • Geslacht: Man
  • Meedenker - Initiatief nemen - Helpen oplossen...
Re: Afstand berekenen tussen 2 coördinaten(steden)
« Reactie #9 Gepost op: 27 februari 2009, 13:16:56 »
Ok, zal ik doen. Het is wel even wennen om met office 2007 te werken. Heb 60 dagen de tijd om het uit te proberen.

Diezel
OS: Windows 10 Home - 64 bit
Processor:  Intel(R) Core(TM) I7 - 4770 CPU 3,40 GHZ
SSD - RAM: 500 GB, 16 GB
SOFTWAREPAKKET: Office 2007

Offline conexxion

  • Nieuw lid
  • Berichten: 2
Re: Afstand berekenen tussen 2 coördinaten(steden)
« Reactie #10 Gepost op: 27 april 2009, 18:22:09 »
ik heb een webpagina geschreven waar je voor elke belgische stad de steden kan opvragen die binnen een bepaalde afstand liggen :
https://www.conexxion.be/steden/getDistance.php
opmerkingen richten aan :
emailadres
groeten
fréderic

 


www.combell.com