GPS coördinaten

Vraag & antwoord over FileMaker Pro 6 en alle andere oudere versies

GPS coördinaten

Berichtdoor HJK » 15 feb 2003 21:54

Ik ben in het bezit van een (ndederlandse) postcode/GPS-coördinaten database, die er als volgt uitziet: (vervolgens geimporteerd in een Filemaker database!)

"Postcode";x;y
"1011AA";121893;488058
"1011AB";121893;488058
"1011AC";121893;488058
"1011AD";122300;487682
"1011AG";122286;487376
"1011AH";122286;487376
"1011AJ";122286;487376
etc............................................

Nu wil ik graag een een coördinaat afkomstig van een GPS-module vergelijken met de database, zodat die automatisch de dichtbijzijnde postcode opzoekt.
Iemand hier uberhaupt ervaring mee?? Wie kan mij op weg helpen??
HJK
 
Berichten: 196
Geregistreerd op: 04 dec 2002 12:39
Woonplaats: Nederland

Berichtdoor Peter Wagemans » 16 feb 2003 18:05

Heb dat al een keer moeten doen voor kleurverschillen - dat was wel in 3D en niet in 2D zoals hier. In elk geval, hier is de formule voor de afstand tussen 2 punten p1(x1,y1) en p2(x2,y2):
||p1p2|| = SQR((x1-x2)^2 + (y1-y2)^2)
Hierbij is p1 het punt dat je wil afzetten ten opzichte van je hele databank met p2's.

Het slechte nieuws: in FileMaker taal komt je p1 in een global te staan, en wordt er door de hele databank op dat punt gewerkt. De kleinste waarde is de kleinste afstand, maar helaas is dat ook een unstored calculation.

Dus traag zoeken.
Avatar gebruiker
Peter Wagemans
FileMaker 7..13 Certified Developer
 
Berichten: 1709
Geregistreerd op: 16 mei 2002 15:30

Berichtdoor HJK » 16 feb 2003 20:27

Bedankt Peter, de formule werkt! Als je de waarde van x2 en y2 invult, wordt razendsnel de afstand berekend. Maar zoals je al noemde, als je gaat zoeken, dan duurt het zo'n minuut voordat de laagste waarde naar boven wordt getoverd. Ook sorteren en dan de bovenste (laagste) waarde duurt even lang.

Is er geen andere manier, om dit toch sneller te krijgen. bijv. 2 databases? Andere benadering? Wie helpt?
HJK
 
Berichten: 196
Geregistreerd op: 04 dec 2002 12:39
Woonplaats: Nederland

Berichtdoor HJK » 17 feb 2003 16:09

Niemand verder suggesties?
HJK
 
Berichten: 196
Geregistreerd op: 04 dec 2002 12:39
Woonplaats: Nederland

Berichtdoor HJK » 18 feb 2003 11:56

En...... het blijft stil hier!

Ik zal de vraag anders stellen. hoe kun je op een snelle manier zoeken in een grote database (+/- 40.000 records) als je via een global een waarde invult en deze dan de dichtstbijzijnde waarde opzoekt?
HJK
 
Berichten: 196
Geregistreerd op: 04 dec 2002 12:39
Woonplaats: Nederland

Berichtdoor rgaros » 18 feb 2003 15:26

Ik zal de vraag anders stellen. hoe kun je op een snelle manier zoeken in een grote database (+/- 40.000 records) als je via een global een waarde invult en deze dan de dichtstbijzijnde waarde opzoekt?


Is het niet handiger om het bereik van de coordinaten uit te rekenen waarmee je vervolgens kunt zoeken?

x=123000...124000 en y= 234100... 234200

Zelf heb ik een database met deze RDS kaartcoordinaten (<> GPS!) en zo zoek ik of ik iets al in de database heb staan als ik iets op de topografische kaart ontdek. (Werkt ook een stuk sneller met leeftijden enzo.)
Overigens zou ik nog wel een goede toepassing voor genoemd bestand hebben! :-)

René
Avatar gebruiker
rgaros
FileMaker 7..13 Certified Developer
 
Berichten: 238
Geregistreerd op: 08 aug 2002 14:41
Woonplaats: Weesp

Berichtdoor Peter Wagemans » 18 feb 2003 21:32

Da's denk ik de tip die je zoekt.
Avatar gebruiker
Peter Wagemans
FileMaker 7..13 Certified Developer
 
Berichten: 1709
Geregistreerd op: 16 mei 2002 15:30

Berichtdoor HJK » 19 feb 2003 09:11

Rgaros, ik begrijp niet goed wat je bedoelt. Kan jij of Peter, hier een voorbeeld of opzetje van geven?
HJK
 
Berichten: 196
Geregistreerd op: 04 dec 2002 12:39
Woonplaats: Nederland

Berichtdoor rgaros » 19 feb 2003 09:40

HJK schreef:Rgaros, ik begrijp niet goed wat je bedoelt. Kan jij of Peter, hier een voorbeeld of opzetje van geven?


Dat niet, maar ik wil het wel nader toelichten. Te beginnen met een ander voorbeeld.

Als je wilt zoeken op personen die 50 jaar of ouder zijn kan je twee dingen doen:
- je rekent per persoon de leeftijd uit aan de hand van de geboortedatum en de huidige datum (traag) of
- je bepaald welke geboortedatum de personen moeten hebben om aan die leeftijd te voldoen (snel(ler)).

Niet perse werkend voorbeeld van het laatste:
Ga naar Zoek Modus[]
Ga naar Layout ["Alle velden"]
Plak resultaat[geboortedatum, -berekening huidige datum min 50 jaar-]
Voer zoeken uit[]
Ga naar Layout[originele layout]

Aangezien geboortedatum ongetwijfeld een stored en indexed datumveld kan zijn: bloedspoed!

Hetzelfde principe voor de kaartcoordinaten. Je kan per postcode uitrekenen wat de afstand van de gegeven locatie tot de locatie van die postcode is. Maar zoals je gemerkt hebt is dat nogal traag.
Je kan ook de zoek criteria uitrekenen alhoewel het nadeel daarvan is dat je dan een vierkant gebied afzoekt en niet een cirkel.
Neem nu locatie x=117950 en y=506040
Aangezien elk cijfer hoger/lager een meter in de werkelijkheid is, kan je bijvoorbeeld zoeken naar alle locaties in een vierkant van 1000 bij 1000 meter met de gegeven locatie als middelpunt:
x=116950...118950 en
y=505040...507040

Afhankelijk van de afstanden tussen de postcodes en de gekozen vierkanten kan je dan wel meerdere mogelijke postcodes vinden*. Maar die kan je eventueel uitfilteren door wel de afstand te berekenen. De meeste postcodes heb je dan al aan de kant gezet.
Je kan ook het vierkant in stappen verkleinen en herhaald zoeken totdat je één locatie over houdt (nog snelheidswinst???).

* Kan ook met het berekenen van de afstand gebeuren als je precies tussen twee locaties van twee postcodes bent.


Overigens, de voorbeeld locatie kan je hier op de kaart zien:
<voorbeeld niet meer bruikbaar>

Zie ook http://www.stelling-amsterdam.org/forten/spijkerboor/ en http://www.forten.info/catalogus/
Laatst bijgewerkt door rgaros op 18 sep 2006 21:35, in het totaal 3 keer bewerkt
Avatar gebruiker
rgaros
FileMaker 7..13 Certified Developer
 
Berichten: 238
Geregistreerd op: 08 aug 2002 14:41
Woonplaats: Weesp

Berichtdoor HJK » 19 feb 2003 09:58

NATUURLIJK! Dat is de manier! Bedankt, ik ga er mee aan de slag.
Trouwens RD-cooridinaten zijn om te rekenen naar WGS84 Coordinaten(GPS) (die bijv uit een GPS ontvanger komen!). Ik ben nog op zoek naar deze omreken-formule, maar ik weet dat het kan. Er zijn Internetsite's waarbij je dit kan doen. Alleen de formule zelf kan ik er nog niet "uitvissen"
HJK
 
Berichten: 196
Geregistreerd op: 04 dec 2002 12:39
Woonplaats: Nederland

Berichtdoor rgaros » 19 feb 2003 10:09

HJK schreef:NATUURLIJK! Dat is de manier! Bedankt, ik ga er mee aan de slag.


Alweer een tevreden klant van mijn blijkbaar onorthodoxe inzichten! :-)
Ben benieuwd hoeveel lezers nu even stilletjes het zoeken naar leeftijd gaan versnellen! :-))))

HJK schreef:Trouwens RD-cooridinaten zijn om te rekenen naar WGS84 Coordinaten(GPS) (die bijv uit een GPS ontvanger komen!). Ik ben nog op zoek naar deze omreken-formule, maar ik weet dat het kan. Er zijn Internetsite's waarbij je dit kan doen. Alleen de formule zelf kan ik er nog niet "uitvissen"


Omrekenen is mij bekend. Wil ik ook nog een keertje gaan doen in FM maar heeft een lage prioriteit. Mocht jij er eerder aan toekomen dan houd ik me aanbevolen en wil ik ook best mee te denken om het te optimaliseren.
Wat betreft omrekenen, zie ook 'Int. Links' op http://www.xs4all.nl/~estevenh/geonet/
Avatar gebruiker
rgaros
FileMaker 7..13 Certified Developer
 
Berichten: 238
Geregistreerd op: 08 aug 2002 14:41
Woonplaats: Weesp

Berichtdoor HJK » 19 feb 2003 13:14

HJK
 
Berichten: 196
Geregistreerd op: 04 dec 2002 12:39
Woonplaats: Nederland

Berichtdoor rgaros » 19 feb 2003 13:36

HJK schreef:Heb al wel wat gevonden:
http://www.dekoepel.nl/pdf/Transformatieformules.pdf


Kennis van integreren en differentieren zijn al heel wat jaartjes bij mij in onbruik geraakt... Wiskunde leraar in de zaal?
Avatar gebruiker
rgaros
FileMaker 7..13 Certified Developer
 
Berichten: 238
Geregistreerd op: 08 aug 2002 14:41
Woonplaats: Weesp

Berichtdoor HJK » 22 feb 2003 21:50

Blijkbaar geen wiskundeknobbels onder ons.

Weet iemand hoe je RD-coordinaten kunt omzetten naar WGS84? (GPS)
Zie vorige repleys.
HJK
 
Berichten: 196
Geregistreerd op: 04 dec 2002 12:39
Woonplaats: Nederland

Berichtdoor rgaros » 23 feb 2003 23:36

HJK schreef:Blijkbaar geen wiskundeknobbels onder ons.

Weet iemand hoe je RD-coordinaten kunt omzetten naar WGS84? (GPS)
Zie vorige repleys.


Wellicht iemand die de JavaScript code van deze pagina kan converteren?
http://www.xs4all.nl/~estevenh/1/index.html

René
Avatar gebruiker
rgaros
FileMaker 7..13 Certified Developer
 
Berichten: 238
Geregistreerd op: 08 aug 2002 14:41
Woonplaats: Weesp

Volgende

Keer terug naar FileMaker 6 en lager



Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 1 gast

cron