Jörg Reinholz: MySQL und GEO-Location, Umkreissuche

Beitrag lesen

હેલો

Aber ja doch. Du findest dazu aber (sogar hier im Forum unter dem Stichwort "Umkreissuche") reichlich Diskussionen über das wie und die Effekte hinsichtlich der Genauigkeit.

Die meisten Ansätze sind ja ganz anders als meiner. Ich beschneide die Koordinaten beim speichern einfach auf 5 stellen nach dem Komma. So brauche ich im Grunde ein ziemlich einfaches Statement, welches seinerseits kaum rechnen müsste. Keine Radius-rechnereien oder dergleichen.

Aber ich denke ich werde es einfach mal angehen, kann ja nicht viel schief gehen.

Naja. Also die ultraeinfache und superungenaue Viereck-Variante:

$umkreis_l = $umkreis/71.12;
$umkreis_b = $umkreis/87.27;
$b_max     = $b + $umkreis_b;
$b_min     = $b - $umkreis_b;
$l_max     = $l + $umkreis_l;
$l_min     = $l - $umkreis_l;
$sql = "SELECT
         nr,ort,breite,laenge
        FROM geo
        WHERE
           laenge > "$l_min "
        AND laenge <  "$l_max "
        AND breite >  "$b_min "
        AND breite <  "$b_max "
ORDER BY ort";

In einem von meinen asbach-älteren Projekten gibt's danach noch einen Durchlauf, der auf den Radius prüft. Ich habs verlinkt, Damit Du siehst mit was für Geschwindigkeiten zu rechnen ist. Liegt auf einem shared host, Allerdings ist der Hoster gerade hinsichtlich Datenbanken einer von der brauchbaren Sorte.

Jörg Reinholz