Rubriky
Programování

MySQL vzdálenost GPS souřadnic

Jak v MySQL spočítat vzdálenost mezi 2 body? Použijeme uloženou proceduru:

DROP FUNCTION IF EXISTS `gps_distance`;

DELIMITER $$
CREATE FUNCTION `gps_distance` (lat1 float, lng1 float, lat2 float, lng2 float) RETURNS float
BEGIN
 
    SET lat1 = lat1 * pi() / 180;
    SET lng1 = lng1 * pi() / 180;
    SET lat2 = lat2 * pi() / 180;
    SET lng2 = lng2 * pi() / 180;
 
    RETURN acos
    (   cos(lat1)*cos(lng1)*cos(lat2)*cos(lng2)
      + cos(lat1)*sin(lng1)*cos(lat2)*sin(lng2)
      + sin(lat1)*sin(lat2)
    ) * 6372.795;
 
END$$

DELIMITER ;

 

Rubriky
Programování

Jak uložit Google ID do MySql databáze?

Pokud děláte přihlášení uživatelů přes sociální sítě, dejte si pozor na správný formát ukládání jejich ID ze sociální sítě. Například při ukládání Google ID (ze sociální sítě G+) se mi osvědčil:

decimal(21,0)

Pokud zvolíte nevhodný formát, může nastat situace ve které se ID nevejde do nastaveného datového typu. Ztratíte uživatelovo ID! Ještě hůře bude když se zaregistruje více uživatelů (kterým se jejich ID nevejde do nastaveného datového typu) -> všichni uživatelé budou mít stejné ID (ale to už by mělo být vyřešené přes unikátní klíč ) 🙂

A pak mám mít vlasy…