Il s'agit d'une version MySQL des provinces sri-lankaises => Districts => Données liées aux villes.
Il y a trois fichiers SQL,
### statiss
### SAMMPLE Tables Structure avec des données
Provinces
identifiant | Name_en | Name_si | Name_ta |
---|---|---|---|
1 | Ouest | සස්නාිර | மேல |
2 | Central | මධ් යම | மத்தி |
Districts
identifiant | Province_id | Name_en | Name_si | Name_ta |
---|---|---|---|---|
1 | 6 | Ampara | අම්පාර | அம்பாறை |
2 | 8 | anuradhapura | අනුරාධපුරය | அனுராதபுரம் |
Villes
identifiant | District_id | Name_en | Name_si | Name_ta | Sub_name_en | Sub_name_si | Sub_name_ta | Code postal | Latitude | Longitude |
---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | Akkaraipattu | අක්කරපත්තුව | Nul | Nul | Nul | Nul | 32400 | 7.2167 | 81.85 |
2 | 1 | Ambagahawatta | අඹගහවත්ත | Nul | Nul | Nul | Nul | 90322 | 7.4 | 81.3 |
Afin d'éviter les erreurs d'erreur inutiles, commencez à importer ou à exécuter des provinces.sql, puis travaille.
Avantages de la latitude et de la longitude
Voici l'instruction SQL qui trouvera les emplacements les plus proches qui se trouvent dans un rayon de 25 kilomètres par rapport à la coordonnée 7.358849, 81.280133. Il calcule la distance en fonction de la latitude / longitude de cette ligne et de la latitude / longitude cible, puis ne demande que des lignes où la valeur de distance est inférieure à 25, ordonne la requête entière par distance.
SELECT id, name_en, name_si, name_ta, ( 6371 * ACOS(COS(RADIANS( 7 . 358849 )) * COS(RADIANS(latitude)) * COS(RADIANS(longitude) - RADIANS( 81 . 280133 )) + SIN(RADIANS( 7 . 358849 )) * SIN(RADIANS(latitude)))) AS distance
FROM cities
HAVING distance < 25
ORDER BY distance
Provinces
සිංහල தமிழ 100% 100%
Districts
සිංහල தமிழ 100% 100%
Villes
සිංහල தமிழ 4% 0%