Toon posts:

[MySQL] Stuk uit database halen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zal de situatie zo goed mogelijk uitleggen. Ik wil uit een database een stuk data halen wat te maken heeft met coördinaten (die positie dingen ja). Het is de bedoeling om alle punten in een beplaald gebied te selecteren. Ik heb 4 varibalen (de hoeken van het vierkant, coördinaten). Die 4 variabelen zijn, maximale long/minimale long/maximale lat/minimale lat. Maar dit doet er niet toe, het zijn dus twee verschillende rijen. Ik wil dus met een mysql select eerste alle rijen met maximum en minimum op de long rij er uit halen. Vervolgens in die data met de maximale en minimale lat verder filteren. Het resultaat wat je overhoudt zijn alle punten in het vierkant. De variabelen:

PHP:
1
2
3
4
5
6
 $lat = "52.1496633";
 $long = "4.4960017";
 $maxlat = $lat + 0.021735;
 $minlat = $lat - 0.021735;
 $maxlong = $long + 0.021735;
 $minlong = $long - 0.021735;


Ik zat dus te denken aan zoiets: "SELECT * FROM hotspots WHERE lat max=$maxlat, min=$minlat AND long max=$maxlong, min=$minlong "

Voorbeeld van de data:

Long | Lat
2 | 5
3 | 6
7 | 2
6 | 5
5 | 5
9 | 1
4 | 9

Variabelen zijn als volgt:

PHP:
1
2
3
4
 $maxlat = 7;
 $minlat = 4;
 $maxlong = 5;
 $minlong = 2;


Eerst het resultaat na de "lat" filtering:

2 | 5
3 | 6
6 | 5
5 | 5

Dan na de "long" filtering:

2 | 5
3 | 6
5 | 5

Wie kan mij helpen, alvast bedankt! _/-\o_

[ Voor 7% gewijzigd door Verwijderd op 21-12-2003 16:03 ]


  • ATS
  • Registratie: September 2001
  • Laatst online: 12-02 13:46

ATS

SELECT * FROM hotspots WHERE long < maxlong AND long >= minlong AND lat < maxlat AND lat >= minlat

Zoiets? Er even vanuit gaand dat de minima inclusief en de maxima exclusief zijn zodat je een mooie grid kan maken zonder overlappingen.

Maar... gezien het feit dat je eigenlijk alles zoekt rondom een punt, kan je ook doen:

SELECT * FROM hotspots WHERE abs(lat - $lat)<0.021735 AND abs(long - $long)<0.021735

Waarbij ik er voor het gemak vanuit ga dat MySQL abs() ondersteund, wat ik niet zeker weet.

[ Voor 39% gewijzigd door ATS op 21-12-2003 16:06 ]

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant


Verwijderd

Topicstarter
Ik ga het in ieder geval proberen (heb zelf helaas geen toegang tot de database). Maar ieder geval bedankt voor je anntwoord!