Il modo migliore per dividere il sito web in città/paesi?
-
27-10-2019 - |
Domanda
Gestisco un sito di incontri, o per meglio dire, ci provo.Voglio essere il più generico
possibile in termini di copertura per i paesi.
Dato che è un sito web orientato agli appuntamenti locali, devo tenere traccia delle città
e così via, quindi sto riscontrando alcuni problemi:
Ho bisogno di informazioni sulle città da cui le persone potrebbero iscriversi
(un paese di cui non so nulla, non riesco proprio a decidere riguardo alla città
o qualsiasi cosa)Quando le persone si uniscono da paesi diversi, vorrebbero vedere persone
nelle vicinanze.Come affronteresti questo tipo di problema?
Potrebbero sembrare 2 punti facili ma questi mi creano davvero qualche problema
giorni.** Prova ad affrontarli come problemi relativi al database **
Ho fatto il giro di SE e ho trovato che questo sia il punto migliore da chiedere, non nessun altro
Sito SE.
Grazie mille
Soluzione
Il nome completo di una città negli Stati Uniti è {country_name, state_name, city_name}.Lo dico presupponendo che, su scala globale, ciò che chiamo nome_stato non sia unico.Posso facilmente immaginare una regione di un paese dell'America Latina chiamata "Nevada" o "Colorado".
Hai anche il problema dell'ortografia.Un americano che vive in Germania potrebbe dire di aver vissuto a Colonia, nel Nord Reno-Westfalia, in Germania.Un tedesco che vive lì la chiamerebbe "Köln".
"Nelle vicinanze" è una questione ancora più dura da risolvere.Vivevo in una grande città.Non era insolito guidare un'ora su un'autostrada interstatale per andare a prendere il mio appuntamento.Lo consideravo "nelle vicinanze".Adesso vivo in una piccola città.Adesso 30 minuti sembrano un lungo viaggio, ma probabilmente sono solo 15 o 20 miglia invece di 65 o 70.
Se vivi in una città di confine, 15 miglia potrebbero essere in un altro paese.Forse due paesi diversi.
Penso che la soluzione migliore sia utilizzare un'API o un servizio di geolocalizzazione per ottenere la latitudine e la longitudine delle nuove città quando vengono inserite.Il calcolo della distanza dati due punti è semplice, ma porta a query con prestazioni scadenti a meno che non si utilizzi un riquadro di delimitazione.(Non vuoi calcolare la distanza di ogni città del Texas per trovare persone "vicine" a Waco.)
Altri suggerimenti
Ottieni la latitudine/longitudine per tutte le città. Non preoccuparti delle distanze esatte.
Gioca con Excel e trova la massima variazione per latitudine e/o longitudine (Δlat o ΔLong) per determinate distanze (10 miglia, 25 miglia, 50 miglia), e poi quando cerchi altri, basta cercare nel database (FirstUser'slongitude +/- Δlong) e all'interno (firstuser'slatitude +/- Δlong).
Non credo che alla gente dispiacerà la differenza tra 10 miglia e 10*2^0,5 miglia.