Existuje otázka, která porovnává možnosti různých prostorových databází, GIS:PostGIS/PostgreSQL vs. MySql vs. SQL Server? , kde Postgis zcela jasně vítězí nad MySQL.
Ať už používáte MySQL nebo Postgis, bylo by pro vás mnohem lepší, pokud můžete, uložit své hodnoty zeměpisné šířky a délky jako geometrii/geografii (Point), jako funkce, které lze použít k vyhledání věcí v okolí, ST_Distance , ST_Distance_Sphere a nejasnější operátor <-> , viz Najít n nejbližší sousedy pro daný bod pomocí PostGIS? (například použití) pracovat přímo na sloupcích geometrie/geografie. Ještě důležitější je, že můžete přidat prostorový index , které tyto funkce potřebují, aby správně fungovaly, což výrazně překoná vyhledávání v odděleně indexovaných sloupcích zeměpisné šířky a délky (to bude záviset na velikosti tabulky, ale bude se zvětšovat s rostoucí velikostí tabulky),
V Postgis můžete převést zeměpisnou šířku a délku na geometrii pomocí:
alter table mytable add column geom (Geometry, 4326);
update mytable set geom = ST_SetSRID(ST_MakePoint(lon, lat), 4326)
create index ix_spatial_mytable_geom on mytable using gist(geom);
V tomto okamžiku budete moci velmi efektivně vyhledávat body poblíž jiných bodů pomocí některého z příkladů ve výše uvedených odkazech.
Podobné věci můžete dělat v MySQL, i když nepodporuje prostorový referenční systém, tj. 4326 výše, což znamená lat/lon, a postrádá funkci ST_MakePoint, takže budete muset použít STGEomFromText a zřetězit lat/ lon společně udělat BOD. Vše také dělá v rovinných souřadnicích, jak uvedl Claudio a další, což u Postgis není problém.
Omlouvám se za dlouhou a poněkud okrajovou odpověď, ale protože jsem provedl různé migrace mezi databázemi na velkém množství dat (MySQL, SQL Server a Postgres/GIS) a na cestě jsem udělal spoustu chyb, doufám, že vás mohu vyvést z omylu. správným směrem (a přidejte trochu budoucího nátisku, pokud chcete začít používat nějakou další prostorovou funkcionalitu, kterou má Postigs v pravém slova smyslu).