Ссылка Дэниела касается выбора всех почтовых индексов в пределах 50 км от заданной широты / долготы. Как только вы это сделаете, вы можете создать отфильтрованный список почтовых индексов, как это ...
- Выберите случайный почтовый индекс и добавьте его в отфильтрованный список
- Удалить все почтовые индексы, которые находятся в пределах 50 км от выбранного почтового индекса
- Выберите новый почтовый индекс случайным образом из оставшихся почтовых индексов, повторяйте, пока не останется больше.
Вы знаете, что выбираете только почтовые индексы, которые> 50 км от уже выбранных, и знаете, что, если исходная таблица пуста, это должно быть потому, что все почтовые индексы находятся в пределах 50 км от хотя бы одного из выбранных вами. почтовые индексы.
Это не гарантирует наименьший возможный список почтовых индексов, а размер результата будет зависеть от случайного выбора. Тем не менее, я думаю, что этот простой алгоритм, вероятно, будет «достаточно хорошим», и что сохранение нескольких поисков не оправдывает дополнительных усилий, связанных с поиском действительно оптимального решения.