Sto sviluppando un back-end per un'app per taxi in Laravel 5.
Fino ad ora, le aree servite sono definite dagli amministratori ma vorrei cambiare il modo in cui funziona. Vorrei che ogni tassista definisse le aree di lavoro impostando un punto di partenza e un raggio (creando così un'area circolare) e l'area finale viene calcolata considerando tutti i cerchi e unendo quelli che si sovrappongono in un'area più grande e unica. / p>
In effetti, ho bisogno di dire agli utenti in anticipo se le loro richieste provengono da un'area supportata o non supportata e, unendo le aree, sarebbe molto più facile farlo (ad esempio, usando Poligoni in MySQL).
Come progettereste un tale algoritmo, possibilmente usando le funzioni geospaziali incorporate di MySQL? Posso solo pensare a formula di Haversine e Strumenti di topologia PHP per semplificare le cose.
Grazie:)