Как стать автором
Обновить

Комментарии 15

А где же ответ на вопрос в заголовке?
Из всего вышеизложенного следует вывод, что у меня не получилось,
Там не написано «получилось ли у меня автоматически разгадать головоломку Меркатор Гугла»
ок, тогда ответ да в 73.(3)% случаях.
А географию в школе учить не пробовали?
Это же хабр, а не кружок любителей географии.
Да, географию в школе не учил, но уверяю Вас, что побывал там, где бывает крайне мало людей. Моя география (BBOX) нынче от от 70 в.д. до 140 з.д.и от 60 ю.ш. до 75 с.шю
Пробовал. Не понравилось.
20 минут!? Ужас…
На самом деле это конечно же не 20 минут, но и не 2. В эти 20 минут включены все отвлекания, хождения и так далее. Точного времени, что я провел за сопоставлением у меня нет, знаю точно, что большую часть времени заняли Таиланд и Мавритания.
Прикольно. У меня теже самые страны нужно было разместить, как и тут на картинке :).
(я думал у всех разные генерируются)
Нет, страны для всех одинаковые, и позиции одинаковые. Все одинаковое :)
Сразу предупреждаю, что я это API в глаза не видел, так что идея может быть глупой.

Головоломка умеет определять, если страна подошла (она становится зеленой).
Что если для каждого полигона тупо перебирать все страны? Можно как-то узнать координаты страны через API? Тогда полигон можно попробовать вписать в страну (пока не ясно, как)
Можно заглянуть в код страницы и узнать ответы сразу, тут дело не в этом. А в том что именно решить эту задачу через сравнение с границами из других шейпов.
Мне видится такой алгоритм подхода к решению задачки:
1. Взять карту в графическом виде и распознать области (границы Кенни), выделив из них многоугольники в массив.
2. Привести все получившиеся области к одному размеру (ресайз с фиксированным одним размером — например, высотой)
3. Взять области из задачки и сделать тоже самое в другой массив.
4. Останется сделать проверку совпадений всех областей под разными углами.
5. Чтобы проще было: можно найти «вес» центра области и вписать область в наименьший прямоугольник (для всех 2-х массивов) — получим массив векторов (центр «веса» — центр прямоугольника), по-которому мы будем «точно» (за исключением вектора нулевой длины — совпадение точки «веса» и центра прямоугольника) знать угол для сравнения с другими областями. («нулевые» вектора — только правильные фигуры, таких границ вроде бы нет...)
6. Сравниваем и выставляем по-координатно.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации