Una distribuzione casuale di punti si trova su una mappa.
Questi dati si trovano dietro un'API e voglio afferrare il set completo di punti all'interno di un determinato riquadro di delimitazione.
Posso interrogare l'API con il riquadro di delimitazione e l'API restituirà il set di punti che rientrano in quella casella.
Il problema è che l'API limiterà il risultato a 10 elementi, senza impaginazione e senza indicazione se ci sono più punti che sono stati omessi.
Quindi ho creato un algoritmo ricorsivo che prende un riquadro di delimitazione e richiede i punti che si trovano al suo interno. Se il set di risultati è esattamente di 10 elementi, allora divido il riquadro di delimitazione in quattro quadranti e ricorri.
Funziona bene ma la mia domanda è questa: se vuoi minimizzare il numero di chiamate API, qual è il modo ottimale per dividere il riquadro di delimitazione?
Dividerlo in quadranti era solo una decisione arbitraria. Quando ci sono molti punti sulla mappa, devo approfondire molti livelli prima di iniziare a ottenere risultati significativi. Quindi immagino che potrebbe essere più veloce dividere la scatola in, diciamo, 9, 16 o più sezioni. Ma se lo faccio, allora alla fine arriva a un punto in cui molte richieste restituiscono 0 risultati che non sono così efficienti.
Inoltre, la dimensione del limite sul set di risultati influisce sulla risposta?
(Questo è tutto presupponendo che io non abbia conoscenza preliminare della densità nominale del punto nel riquadro di delimitazione)