Как сгруппировать маркеры для отображения на Google Map, iOS?

Я регистрирую каждую координату, полученную от менеджера местоположения в iOS. Я рисую пользовательские фигуры на другом слое (UIView) и не добавляю маркеры в объект Google Map View. Я использую проекцию для рисования фигур. Когда число координат увеличивается в количестве, я не должен пытаться рисовать каждую из них в цикле из-за производительности.

Итак, я пытаюсь найти способ отфильтровать координаты и даже не проверять вещи в цикле, чтобы увидеть, находятся ли они в текущих границах представления карты или экрана.

Существует ли алгоритм или известная техника для такой кластеризации?

ОБНОВЛЕНИЕ:

введите здесь описание изображения

Яркие части состоят из множества кругов "четкого цвета". Красный прямоугольник представляет собой видимую часть Google Map View. При рисовании кругов в области, отмеченной буквой «В», я также рисую круги в области «А». Я пытаюсь найти хороший способ сгруппировать их в самый первый раз сохранения этих точек. (Поэтому я не хочу перебирать все точки (A+B) и проверять, включает ли прямоугольник B точку с этим индексом цикла, потому что это не приведет к серьезным улучшениям. Точки в Z, например, могут быть в очень далеком месте, и я не должен перебирать миллионы координат. Если я пытаюсь нарисовать точки для Сан-Франциско, у меня не должно быть даже точек для Японии, Токио в цикле...


person frankish    schedule 24.07.2014    source источник


Ответы (1)


Кластеризация — неправильный термин.

Вы хотите упростить кривые, я думаю, см., например.

Как упростить кубическую кривую Безье?

person Has QUIT--Anony-Mousse    schedule 24.07.2014
comment
Спасибо @Anony-Mousse. Это полезно, но не совсем то, что мне нужно. Я обновил свой вопрос. - person frankish; 24.07.2014
comment
Звучит так, как будто вы хотите, с одной стороны, использовать индексы, такие как R*-дерево, чтобы избежать этих очень далеких точек, а с другой стороны, объединить почти идентичные точки (опять же, что-то, что можно хорошо ускорить с помощью R). *-деревья). - person Has QUIT--Anony-Mousse; 24.07.2014