/ / GeoIP найближча (найближча) країна - геолокація, країна, геоіп

Найближча (найближча) країна GeoIP - географічне розташування, країна, географія

Хлопці, у мене є невелика проблема, я намагався знайтикілька прикладів на основі системи GeoIP, яка розширює пошук на основі найближчих сусідніх країн. Наприклад, відвідувач з Великобританії та намагається знайти IP-адреси з Франції, Іспанії, Бельгії тощо, а не Бразилії, Аргентини, Китаю. Тож як я можу дістати найближчі країни з даної країни / ІС та розширити збільшення кроку?

Редагувати: Я використовую безкоштовну версію Макс-розуму, оскільки мені так не хвилюються міста. І мій проект базується на C #.

Відповіді:

1 для відповіді № 1

Ну, першим кроком для зменшення проблеми є використання базової географії та класифікація країн за континенти.

Звідти ви можете скласти список відстаней у межах певного континенту та сортувати на основі цих "відстаней" чи "ваг".

Географічна відстань (напр. км або милі) між столицями має бути "достатньо хорошим" наближенням, щоб розпочати роботу, якщо ви хочете бути фантазією. Б'юсь об заклад, що ви навіть можете знайти такий список з невеликим пошуком в Інтернеті.

Звідси у вас "проблема після поштових відділень" (Knuth) або "пошук найближчого сусіда"проблема оптимізації, і в цьому випадку я підозрюю, що ви можете [НАПИСАНО] просто піти з a лінійний пошук у розділах континентів. Якщо вам потрібна краща продуктивність, то приблизного підходу до алгоритму має бути достатньо. (відповіді не гарантовано є найкраще рішення, але має бути розумним більшу частину часу)

Зауважте, така географічна форма "маршрутизації" єслабкий у кількох виняткових випадках, таких як Куба, яка не отримує доступу до Інтернету від свого (наївного) очевидного географічного сусіда, США та деяких країн типу «чорна діра» через політичні відносини. У Північній Кореї та Тибеті, я підозрюю, подібні випадки.


0 для відповіді № 2

Maxmind дає вам ширину / довготу кожної країни, тож ви можете просто обчислити різницю своєї країни в порівнянні з іншими, і ви готові. ця нитка для обчислення відстані геолокації або використовувати бібліотеку на ваш вибір.

Але майте на увазі, що географічне розташування країни просто a Єдиний пункт десь у цій країні, а не той найближчий вказують на вас.