Trovare coordinate del quadrato intorno ad un punto centrale conoscendo la distanza

clipep

Nuovo Utente
23 Gen 2014
4
0
0
Salve a tutti, espongo il più chiaramente possibile il mio problema:

sto sviluppando una classe php che dovrà eseguire questi compiti

  • ricevere l'indirizzo ip del visitatore
  • ottenere le coordinate geografiche

In base ad una distanza nota (ad esempio 100km) dovrei trovare
latitudine e longitudine dei 4 punti (N, S, E, W) alla distanza di 100km dal punto iniziale

Tralasciando la prima parte legata all'ip e alle coordinate iniziali, sto impazzendo da un pomeriggio per capire come ottenere le 4 coordinate da usare poi come criterio in una query mysql per la ricerca.

L'obiettivo è quello di creare una sorta di "persone vicino a te nel raggio di es100km"

Per adesso ho creato un piccolo script per calcolare la distanza tra 2 coordinate in questo modo ma ovviamente nonè quello che mi serve visto che mi serve solo una coppia di coordinate e la distanza come dati input
PHP:
//coordinate punto a
$lat1 = 38.122315;
$lon1 = 13.354542;

//coordinate punto b
$lat2 = 38.022584;
$lon2 = 12.538120;

$distanza = (3958*3.1415926*sqrt(($lat2-$lat1)*($lat2-$lat1) + cos($lat2/57.29578)*cos($lat1/57.29578)*($lon2-$lon1)*($lon2-$lon1))/180);

$distanza_miglia = $distanza;
$distanza_kilometri = $distanza * 1.60934;

echo 'La distanza è: ' . $distanza_kilometri . ' kilometri</br>';

Spero che riusciate ad aiutarmi perchè in questo argomento non sono molto ferrato
 
Questo è più o meno quello che vorrei ottenere utilizzando però coordinate reali

PHP:
//punto centrale
$px = 0;
$py = 0;

//distanza
$d = 50; //metri

//punto A
$ax = $px + $d;
$ay = $py;

//punto B
$bx = $px;
$by = $py + $d;

//punto C
$cx = $px - $d;
$cy = $py;

//punto D
$dx = $px;
$dy = $py - $d;

echo 'Coordinate:</br>';
echo 'Punto P('. $px . ','. $py .')</br>';
echo 'Punto A('. $ax . ','. $ay .')</br>';
echo 'Punto B('. $bx . ','. $by .')</br>';
echo 'Punto C('. $cx . ','. $cy .')</br>';
echo 'Punto D('. $dx . ','. $dy .')</br>';
 

Discussioni simili