Область техники, к которой относится изобретение
[1] Настоящее техническое решение относится к системе и способу организации в кластеры точек интереса с использованием сетки.
Уровень техники
[2] В современных условиях пользователи электронных устройств сталкиваются с обилием информации, которую они получают из сети Интернет либо из иных источников. К информации, получаемой пользователями, могут быть отнесены точки интереса, представленные на географических картах, которые могут быть показаны пользователям на дисплеях электронных устройств.
[3] Отображение всей доступной информации на дисплеях электронных устройств может оказаться не лучшим решением в связи с трудностью восприятия. Во многих случаях, при изображении графических символов точек интереса на карте, возможны полные или частичные наложения. Это может происходить в связи с различными факторами. Одним из таких факторов является количество имеющихся в наличии точек интереса. Другим фактором может являться масштаб, в котором представлена карта. Чем меньше масштаб изображения и чем более точек интереса имеется в пределах определенной территории, тем больше может быть наложений графических символов точек интереса. В таких ситуациях может оказаться целесообразным отказ от отображения на дисплее электронного устройства всех графических символов, представляющих все точки интереса. Вместо этого возможно объединение всех или некоторых графических символов, представляющих точки интереса, в кластеры. Таким образом, на карте, изображаемой на дисплее электронного устройства, могут быть показаны либо только графические символы точек интереса, либо только графические символы кластеров, то есть объединенные в группы точки интереса, либо одновременно могут быть показаны графические символы кластеров и графические символы необъединенных в кластеры точек интереса.
[4] В настоящее время существует несколько методов объединения графических символов в кластеры.
[5] Один из методов представляет собой нанесение на карту сетки, содержащей ячейки, и объединение в один кластер всех точек интереса, содержащихся в данной ячейке, и помещение такого кластера в центр ячейки. Сформированные таким образом кластеры могут не вполне точно отображать на карте места действительного сосредоточения основной массы объектов, объединенных в кластер.
[6] Другой метод объединения графических символов в кластеры заключается в использовании плотностного алгоритма кластеризации пространственных данных с присутствием шума, известного также как DBSCAN (от англ.: Density Based Spatial Clustering of Applications with Noise). Данный метод позволяет объединять графические символы в кластеры вне зависимости от наличия или отсутствия сетки. Объединение происходит в данном случае с учетом удаленности объектов между собой. Объединяться могут, например, графические символы, расстояние между которыми не превышает определенного значения (например, 10 пикселей или 30 пикселей и т.п.). Данный метод требует относительно высоких затрат ресурсов сервера.
[7] Таким образом, в то время как существующие обычные компьютерные системы являются приемлемыми, улучшение таких систем, тем не менее, возможно.
Раскрытие изобретения
[8] Целью настоящего технического решения является устранение или смягчение по меньшей мере некоторых из неудобств, присутствующих на существующем уровне техники.
[9] В соответствии с вариантами осуществления настоящего технического решения, предусматривается способ организации в кластеры точек интереса для показа на фрагменте карты. Способ организации в кластеры точек интереса исполняется на сервере. Способ включает: получение с электронного устройства запроса на предоставление вида фрагмента карты; получение множества точек интереса, которые потенциально могут быть показаны на указанном фрагменте карты, причем каждая из точек интереса имеет позицию на фрагменте карты; размещение на фрагменте карты первой сетки, состоящей из первого множества ячеек первой сетки, образованных множеством пересекающихся линий первой сетки, первая сетка имеет первый размер шага сетки, первая сетка имеет опорную точку, причем опорная точка совпадает с точкой пересечения двух пересекающихся линий первой сетки из множества пересекающихся линий первой сетки; генерирование множества кластеров первого уровня путем замещения, в ячейках первой сетки, соответствующего подмножества точек интереса, расположенных в пределах соответствующей ячейки первой сетки, на кластер первого уровня; размещение на фрагменте карты второй сетки, состоящей из второго множества ячеек второй сетки, образованных множеством пересекающихся линий второй сетки, вторая сетка имеет второй размер шага сетки, второй размер шага сетки превышает первый размер шага сетки, первый размер шага сетки и второй размер шага сетки имеют значения взаимно простых чисел, причем одна точка пересечения двух пересекающихся линий второй сетки из множества пересекающихся линий второй сетки совпадает с опорной точкой первой сетки; генерирование множества кластеров второго уровня путем замещения, в каждой ячейке второй сетки, соответствующего множества объектов, расположенных в пределах соответствующей ячейки второй сетки, на кластер второго уровня, причем объектом из соответствующего множества объектов может быть любое из: необъединенная точка интереса и кластер первого уровня; генерирование вида фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня.
[10] В некоторых вариантах осуществления способа генерирование вида фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня является генерированием вида фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня и по меньшей мере одним объектом.
[11] В некоторых вариантах осуществления способа сервер передает на электронное устройство вид фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня.
[12] В некоторых вариантах осуществления способа сервер передает на электронное устройство вид фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня и по меньшей мере одним объектом.
[13] В некоторых вариантах осуществления способа по меньшей мере одно из: кластер второго уровня, кластер первого уровня, точка интереса, отмечено на виде фрагмента карты графическим символом.
[14] В некоторых вариантах осуществления способа графический символ точки интереса отличается от по меньшей мере одного из: графического символа первого кластера, графического символа второго кластера.
[15] В некоторых вариантах осуществления способа сервер дополнительно определяет первый размер шага сетки и второй размер шага сетки.
[16] В некоторых вариантах осуществления способа сервер, одновременно с получением с электронного устройства запроса на предоставление вида фрагмента карты, получает по меньшей мере одно из: (а) параметры веб-браузера, установленного на электронном устройстве, (б) параметры операционной системы, установленной на электронном устройстве, (в) параметры видеокарты, установленной на электронном устройстве.
[17] В некоторых вариантах осуществления способа сервер определяет первый размер шага сетки и второй размер шага сетки с учетом по меньшей мере одного из (а) параметра веб-браузера, установленного на электронном устройстве, (б) параметра операционной системы, установленной на электронном устройстве, (в) параметра видеокарты, установленной на электронном устройстве.
[18] В некоторых вариантах осуществления способа каждый из: (а) кластер первого уровня и (б) кластер второго уровня имеет позицию на фрагменте карты, и в котором сервер (а) определяет позицию кластера первого уровня в центре масс соответствующего подмножества точек интереса, объединенных в первый кластер в пределах соответствующей ячейки первой сетки, и (б) определяет позицию кластера второго уровня в центре масс соответствующего множества объектов, объединенных во второй кластер в пределах соответствующей ячейки второй сетки.
[19] В некоторых вариантах осуществления способа центр масс определяется математически.
[20] В некоторых вариантах осуществления способа замещение подмножеств точек интереса в ячейках первой сетки осуществляется последовательно, ячейка за ячейкой из множества ячеек первой сетки, и точка интереса, расположенная на границе по меньшей мере двух ячеек первой сетки, может использоваться при генерации только одного кластера первого уровня, и (б) замещение множеств объектов в ячейках второй сетки осуществляется последовательно, ячейка за ячейкой из множества ячеек второй сетки, и объект, расположенный на границе по меньшей мере двух ячеек второй сетки, может использоваться при генерации только одного кластера второго уровня.
[21] В некоторых вариантах осуществления способа запрос на предоставление вида фрагмента карты является поисковым запросом по сервису карт.
[22] Другим объектом настоящего технического решения является сервер. Сервер включает в себя интерфейс сетевой связи. Сервер включает в себя процессор. Процессор операционно связан с интерфейсом связи. Конфигурация процессора настроена таким образом, чтобы сервер мог осуществлять: получение с электронного устройства запроса на предоставление вида фрагмента карты; получение множества точек интереса, которые потенциально могут быть показаны на указанном фрагменте карты, причем каждая из точек интереса имеет позицию на фрагменте карты; (3) размещение на фрагменте карты первой сетки, состоящей из первого множества ячеек первой сетки, образованных множеством пересекающихся линий первой сетки, первая сетка имеет первый размер шага сетки, первая сетка имеет опорную точку, причем опорная точка совпадает с точкой пересечения двух пересекающихся линий первой сетки из множества пересекающихся линий первой сетки; генерирование множества кластеров первого уровня путем замещения, в ячейках первой сетки, соответствующего подмножества точек интереса, расположенных в пределах соответствующей ячейки первой сетки, на кластер первого уровня; размещение на фрагменте карты второй сетки, состоящей из второго множества ячеек второй сетки, образованных множеством пересекающихся линий второй сетки, вторая сетка имеет второй размер шага сетки, второй размер шага сетки превышает первый размер шага сетки, первый размер шага сетки и второй размер шага сетки имеют значения взаимно простых чисел, причем одна точка пересечения двух пересекающихся линий второй сетки из множества пересекающихся линий второй сетки совпадает с опорной точкой первой сетки; генерирование множества кластеров второго уровня путем замещения, в каждой ячейке второй сетки, соответствующего множества объектов, расположенных в пределах соответствующей ячейки второй сетки, на кластер второго уровня, причем объектом из соответствующего множества объектов может быть любое из: необъединенная точка интереса и кластер первого уровня; генерирование вида фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня.
[23] В некоторых вариантах осуществления сервера конфигурация процессора настроена таким образом, чтобы сервер мог осуществлять генерирование вида фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня и по меньшей мере одним объектом.
[24] В некоторых вариантах осуществления сервера сервер выполнен с возможностью передачи на электронное устройство вида фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня.
[25] В некоторых вариантах осуществления сервера сервер выполнен с возможностью передачи на электронное устройство вида фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня и по меньшей мере одним объектом.
[26] В некоторых вариантах осуществления сервера по меньшей мере одно из: кластер второго уровня, кластер первого уровня, точка интереса, отмечено на виде фрагмента карты графическим символом.
[27] В некоторых вариантах осуществления сервера графический символ точки интереса отличается от по меньшей мере одного из: графического символа первого кластера, графического символа второго кластера.
[28] В некоторых вариантах осуществления сервера конфигурация процессора настроена таким образом, чтобы сервер дополнительно мог осуществлять определение первого размера шага сетки и второго размера шага сетки.
[29] В некоторых вариантах осуществления сервера, в котором конфигурация процессора настроена таким образом, чтобы сервер мог одновременно с получением с электронного устройства запроса на предоставление вида фрагмента карты, получать по меньшей мере одно из: параметры веб-браузера, установленного на электронном устройстве, параметры операционной системы, установленной на электронном устройстве, параметры видеокарты, установленной на электронном устройстве.
[30] В некоторых вариантах осуществления сервера конфигурация процессора настроена таким образом, чтобы сервер мог определять первый размер шага сетки и второй размер шага сетки с учетом по меньшей мере одного из параметра веб-браузера, установленного на электронном устройстве, параметра операционной системы, установленной на электронном устройстве, параметра видеокарты, установленной на электронном устройстве.
[31] В некоторых вариантах осуществления сервера каждый из: кластер первого уровня и кластер второго уровня, имеет позицию на фрагменте карты, и в котором конфигурация процессора настроена таким образом, чтобы сервер мог: определять позицию кластера первого уровня в центре масс соответствующего подмножества точек интереса, объединенных в первый кластер в пределах соответствующей ячейки первой сетки, и определять позицию кластера второго уровня в центре масс соответствующего множества объектов, объединенных во второй кластер в пределах соответствующей ячейки второй сетки.
[32] В некоторых вариантах осуществления сервера центр масс определяется математически.
[33] В некоторых вариантах осуществления сервера замещение подмножеств точек интереса в ячейках первой сетки осуществляется последовательно, ячейка за ячейкой из множества ячеек первой сетки, и точка интереса, расположенная на границе по меньшей мере двух ячеек первой сетки, может использоваться при генерации только одного кластера первого уровня, и замещение множеств объектов в ячейках второй сетки осуществляется последовательно, ячейка за ячейкой из множества ячеек второй сетки, и объект, расположенный на границе по меньшей мере двух ячеек второй сетки, может использоваться при генерации только одного кластера второго уровня.
[34] В некоторых вариантах осуществления сервера запрос на предоставление вида фрагмента карты является поисковым запросом по сервису карт.
[35] В контексте описания настоящего технического решения, «сервер» представляет собой программу, выполняемую на соответствующем оборудовании и способную осуществлять прием запросов (например, подаваемых электронными устройствами), передаваемых по сети, и выполнять эти запросы или обеспечивать их выполнение. Оборудование может представлять собой один компьютер или одну компьютерную систему, однако ни одно, ни другое не является обязательным в отношении предлагаемого технического решения. В данном контексте термин «сервер» не означает, что каждая задача (например, предусмотренная принятыми инструкциями или запросами) или какая-либо конкретная задача будет принята, выполнена или ее выполнение будет обеспечено тем же самым сервером (то есть тем же самым программным обеспечением и/или оборудованием); предполагается, что прием и передача, выполнение или обеспечение выполнения любой задачи или запроса либо обработка результатов задачи или запроса может осуществлять любое число компонентов программного обеспечения или устройств и все эти компоненты программного обеспечения или оборудования могут быть представлены одним сервером или несколькими серверами, причем термин «сервер» охватывает оба указанных варианта.
[36] В контексте описания настоящего технического решения, термин «информация» включает в себя информацию любого характера или типа, которая может быть записана в базе данных. Таким образом, информация охватывает, среди прочего, аудиовизуальную информацию (изображения, видео, аудио и т.д.), данные (картографические данные, данные местоположения, числовые данные и т.д.), текстовую информацию (указатели, наименования, описания, предупреждения, текстовые сообщения и т.д.), документы, электронные таблицы и т.д.
[37] В контексте описания настоящего технического решения, термин «компонент программного обеспечения» охватывает программное обеспечение (соответствующее конкретному оборудованию), которое является одновременно необходимым и достаточным для выполнения конкретной указанной функции (функций).
[38] В контексте описания настоящего технического решения, термин «точка интереса» (POI, англ. «point of interest») обозначает объект или группу объектов, которые могут представлять интерес для пользователя. Например, точками интереса могут являться учреждения здравоохранения, учреждения культуры и досуга, достопримечательности, заведения общественного питания, объекты транспортной инфраструктуры (например, автозаправочные станции) и т.д.
[39] В контексте описания настоящего технического решения, термин «графический символ» обозначает графическое изображение, представляющее на карте точку интереса, либо представляющее на карте кластер, включающий в себя несколько точек интереса. Графический символ может являться площадным объектом, отображаемым на карте и видимым пользователю. Графические символы могут иметь различную геометрическую форму, различный размер. Графический символ может включать в себя также буквенную, цифровую или буквенно-цифровую информацию. Графические символы могут быть выполнены в различных цветах.
[40] В контексте описания настоящего технического решения, термин «сетка» («grid») обозначает сетку, включающую в себя множество ячеек, которая используется для условного разбиения карты на секторы и для анализа пространственных данных, в том числе данных о точках интереса, данных о кластерах как находящихся внутри ячеек, так и на границах смежных ячеек сетки.
[41] В настоящем описании выражение «носитель информации, предназначенный для использования компьютером» (также кратко именуемый «носитель информации») охватывает носители любого характера и типа, в том числе оперативные запоминающие устройства, постоянные запоминающие устройства, диски (компакт-диски, DVD-диски, гибкие диски, жесткие диски и т.д.), USB-ключи, твердотельные накопители, ленточные накопители и т.д.
[42] В контексте описания настоящего технического решения, «база данных» представляет собой любой структурированный набор данных, независимо от конкретной структуры, программы управления базой данных или оборудования, на котором осуществляется хранение данных, реализована память или иным способом обеспечивается возможность использования данных. База данных может быть реализована на том же оборудовании, что и процесс, осуществляющий хранение или использование информации, записанной в базе данных, или на отдельном оборудовании, таком как выделенный сервер или множество серверов.
[43] В настоящем описании слова «первый», «второй», «третий» и т.д. используются только в качестве описательных элементов для целей разделения существительных, отличающихся друг от друга, а не с целью определения какого-либо конкретного соотношения между указанными существительными. Таким образом, например, следует понимать, что термины «первая точка интереса» и «третья точка интереса» не означают введения конкретной последовательности, типа, хронологии, иерархии или ранжирования (например) конкретной точки интереса или нескольких точек интереса, а их использование (само по себе) не означает, что в какой-либо конкретной ситуации должна обязательно существовать какая-либо «вторая точка интереса». Кроме того, как указано в данном описании относительно других примеров осуществления настоящего технического решения, ссылка на «первый» элемент и «второй» элемент не означает, что два элемента не могут представлять собой в реальном мире фактически один и тот же элемент. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой один компонент программного обеспечения и (или) оборудования, а в других ситуациях могут быть реализованы на различном программном обеспечении и (или) оборудовании.
[44] Каждый из вариантов осуществления настоящего технического решения имеет по меньшей мере одну из вышеупомянутых целей, но не обязательно все их. Следует иметь в виду, что некоторые варианты осуществления настоящего технического решения, которые стали результатом попытки достичь вышеупомянутой цели, могут достигать и других целей, не упомянутых здесь.
[45] Дополнительные и/или альтернативные особенности, цели и преимущества настоящего технического решения станут очевидны из нижеследующего описания, сопровождающих чертежей и прилагаемой формулы изобретения.
Краткое описание чертежей
[46] Для лучшего понимания настоящего технического решения, а также других его особенностей и вариантов осуществления, предлагается обратиться к нижеследующему описанию, которым следует пользоваться совместно с прилагаемыми чертежами, на которых:
[47] Фиг. 1 является схематическим изображением варианта осуществления сетевой компьютерной системы, реализованной в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.
[48] Фиг. 2 является блок-схемой способа 200, выполняемого на сервере, схематически изображенном на Фиг. 1, выполняемого в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.
[49] Фиг. 3 является схематическим изображением фрагмента карты, сформированного сервером в ходе выполнения шагов способа 200, с отмеченными на фрагменте карты точками интереса.
[50] Фиг. 4 является схематическим изображением фрагмента карты, сформированного сервером в ходе выполнения шагов способа 200, с отмеченными на фрагменте карты точками интереса и с первой сеткой, нанесенной на фрагмент карты.
[51] Фиг. 5 является схематическим изображением фрагмента карты, сформированного сервером в ходе выполнения шагов способа 200, с отмеченными на фрагменте карты точками интереса и кластерами первого уровня, и с первой сеткой, нанесенной на фрагмент карты.
[52] Фиг. 6 является схематическим изображением фрагмента карты, сформированного сервером в ходе выполнения шагов способа 200, с отмеченными на фрагменте карты точками интереса и кластерами первого уровня, а также с нанесенными на фрагмент карты первой сеткой и второй сеткой.
[53] Фиг. 7 является схематическим изображением фрагмента карты, сформированного сервером в ходе выполнения шагов способа 200, с отмеченными на фрагменте карты точками интереса и кластерами первого уровня, и со второй сеткой, нанесенной на фрагмент карты.
[54] Фиг. 8 является схематическим изображением фрагмента карты, сформированного сервером в ходе выполнения шагов способа 200, с нанесенными на фрагмент карты кластерами второго уровня, точкой интереса, и кластером первого уровня, и со второй сеткой, нанесенной на фрагмент карты.
[55] Фиг. 9 является схематическим изображением фрагмента карты, отображаемым на дисплее электронного устройства, сформированным сервером в ходе выполнения шагов способа 200, с нанесенными на фрагмент карты 300 графическими символами, отображающими кластеры второго уровня, точку интереса и кластер первого уровня.
Осуществление изобретения
[56] На Фиг. 1 изображена принципиальная схема различных компьютерных систем 100, находящихся в связи друг с другом с помощью сети 110 передачи данных. Важно иметь в виду, что различные компьютерные системы 100 представлены как наглядный вариант осуществления настоящего технического решения. Таким образом, нижеследующее их описание должно рассматриваться исключительно как описание наглядных примеров настоящего технического решения. Это описание не предназначено для определения объема или установления границ настоящего технического решения. Некоторые полезные примеры модификаций компьютерных систем 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящего технического решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где это еще не было сделано, т.е. там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным способом осуществления этого элемента настоящего технического решения. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что компьютерные системы 100 представляют собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящего технического решения, и в подобных случаях представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящего технического решения будут обладать гораздо большей сложностью.
[57] Система 100 включает в себя сервер 102.
[58] Сервер 102 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящего технического решения сервер 102 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™.
[59] Излишне говорить, что сервер 102 может представлять собой любое другое подходящее аппаратное, и/или прикладное программное, и/или системное программное обеспечение, или их комбинацию. В представленном варианте осуществления настоящего технического решения, не ограничивающем его объем, сервер 102 является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих его объем, функциональность сервера 102 может быть разделена и может выполняться с помощью нескольких серверов.
[60] В целом, варианты осуществления сервера 102 хорошо известны в данной области техники. Таким образом, достаточно отметить, что сервер 102 содержит, среди прочего, интерфейс сетевой связи (не изображен) для двусторонней связи по сети 110 передачи данных; и процессор (не изображен), соединенный с интерфейсом сетевой связи, который выполнен с возможностью выполнять различные процедуры, включая те, что описаны ниже. С этой целью процессор может сохранять или иметь доступ к машиночитаемым инструкциям, выполнение которых инициирует процессор, и выполнять различные описанные здесь процедуры.
[61] Сервер 102 включает в себя носитель информации 104, который может использоваться сервером 102. В принципе, данный носитель информации 104 может быть носителем абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д., а также их комбинации.
[62] Носитель информации 104 сервера 102 предназначен для хранения данных, в том числе машиночитаемых инструкций и баз данных 106.
[63] Носитель информации 104 сервера 102 осуществляет хранение баз данных 106, в которых осуществляется хранение картографического материала и информации о множестве точек интереса.
[64] В альтернативных вариантах осуществления настоящего технического решения, носитель информации 104 может хранить в базах данных 106 либо только картографический материал, либо только информацию о точках интереса. В других альтернативных вариантах осуществления настоящего технического решения носитель информации 104 может не хранить базы данных 106, а пользоваться внешними источниками данных.
[65] Реализация баз данных 106 может быть осуществлена любым подходящим способом, известным из уровня техники. То, как именно реализованы базы данных 106, не имеет принципиального значения. Конкретная реализация той или иной базы данных может определяться характеристиками хранимых данных. Формат хранения данных также может определяться характеристиками хранимых данных. Например, в качестве формата хранения географических данных может быть использован формат YMapsML.
[66] В альтернативных вариантах осуществления настоящего технического решения в качестве формата хранения географических данных может быть использован формат GML - Geographic Markup Language. GML разрабатывается и поддерживается консорциумом OGC (Open Geospatial Consortium) и является международным стандартом ISO.
[67] Носитель информации 104 сервера 102 осуществляет хранение машиночитаемых инструкций, обеспечивающих управление базами данных 106, их обновление, пополнение, модификации. В частности, машиночитаемые инструкции, сохраненные на носителе информации 104, позволяют серверу 102 получать с электронного устройства 112 запросы о предоставлении точек интереса. Машиночитаемые инструкции, сохраненные на носителе информации 104, позволяют серверу 102 также получать иные необходимые данные из внутренних и внешних источников. Например, они могут позволить серверу 102 обмениваться картографическими данными с внешними источниками. Такой обмен может осуществляться любым подходящим способом, известным из уровня техники.
Например, такой обмен может осуществляться с сервисом Яндекс™ Карты компании Яндекс путем обмена данными в формате YMapsML.
[68] В некоторых вариантах осуществления настоящего технического решения, сервер 102 находится под контролем и/или управлением поставщика сервиса карт, такого, например, как провайдер Яндекс™. В других вариантах осуществления настоящего технического решения сервер 102 может иметь доступ к сервису карт, предоставленному сторонним провайдером.
[69] Машиночитаемые инструкции, сохраненные на носителе информации 104, могут предоставлять серверу 102 возможность выполнять шаги способа 200, выполняемого в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем, как это описано ниже со ссылками на блок-схему способа 200, представленную на Фиг. 2.
[70] В частности, машиночитаемые инструкции, сохраненные на носителе информации 104, могут предоставлять серверу 102 возможность получать с электронного устройства 112 запросы пользователя 120 на предоставление вида фрагмента карты 300, схематически представленной на Фиг. 3, Фиг. 4, Фиг. 5, Фиг. 6, Фиг. 7, Фиг. 8 и Фиг. 9. Запрос пользователя 120 на предоставление вида фрагмента карты 300 может выполняться любым подходящим способом. Например, такой запрос может быть сделан как запрос пользователя 120 по сервису карт. Например, такой запрос может быть сформулирован как «нотариальные конторы рядом со мной», введен в поисковую строку веб-браузера и отправлен на сервер 102 для выполнения поиска по сервису карт.
[71] Фиг. 3 является схематическим изображением фрагмента карты 300, сформированного сервером 102 в ходе выполнения шагов способа 200, с отмеченными на фрагменте карты 300 точками интереса 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326 и 328.
[72] Фиг. 4 является схематическим изображением фрагмента карты 300, сформированного сервером 102 в ходе выполнения шагов способа 200, с отмеченными на фрагменте карты 300 точками интереса 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326 и 328, и с первой сеткой 400, нанесенной на фрагмент карты 300. На Фиг. 4 также показаны опорная точка 404 и первый размер 402 шага сетки.
[73] Фиг. 5 является схематическим изображением фрагмента карты 300, сформированного сервером 102 в ходе выполнения шагов способа 200, с отмеченными на фрагменте карты 300 точками интереса 308, 314 и 324 и кластерами первого уровня 502, 504, 506, 508 и 510, и с первой сеткой 400, нанесенной на фрагмент карты 300. На Фиг. 5 также показана опорная точка 404.
[74] Фиг. 6 является схематическим изображением фрагмента карты 300, сформированного сервером 102 в ходе выполнения шагов способа 200, с отмеченными на фрагменте карты 300 точками интереса 308, 314 и 324 и кластерами первого уровня 502, 504, 506, 508 и 510, а также с нанесенными на фрагмент карты 300 первой сеткой 400 (отмечена пунктиром) и второй сеткой 600. На Фиг. 6 также показаны опорная точка 404, первый размер 402 шага сетки и второй размер 602 шага сетки.
[75] Фиг. 7 является схематическим изображением фрагмента карты 300, сформированного сервером 102 в ходе выполнения шагов способа 200, с отмеченными на фрагменте карты 300 точками интереса 308, 314 и 324 и кластерами первого уровня 502, 504, 506, 508 и 510, и со второй сеткой 600, нанесенной на фрагмент карты 300. На Фиг. 7 также показаны опорная точка 404 и второй размер 602 шага сетки.
[76] Фиг. 8 является схематическим изображением фрагмента карты 300, сформированного сервером 102 в ходе выполнения шагов способа 200, с нанесенными на фрагмент карты 300 кластерами второго уровня 802 и 804, точкой интереса 324, и кластером первого уровня 510, и со второй сеткой 600, нанесенной на фрагмент карты 300. На Фиг. 8 также показана опорная точка 404.
[77] Фиг. 9 является схематическим изображением фрагмента карты 300, отображаемым на дисплее 119 электронного устройства 112, сформированным сервером 102 в ходе выполнения шагов способа 200, с нанесенными на фрагмент карты 300 графическими символами, отображающими кластеры второго уровня 802 и 804, точку интереса 324 и кластер первого уровня 510.
[78] Машиночитаемые инструкции, сохраненные на носителе информации 104, могут предоставлять серверу 102 возможность получать с электронного устройства 112, изображенного на Фиг. 1, информацию о параметрах электронного устройства 112. В частности, информация о параметрах электронного устройства 112 может включать в себя информацию о параметрах веб-браузера 116, установленного на электронном устройстве 112, параметры операционной системы, параметры видеокарты 118, IP-адрес электронного устройства 112, информацию о местонахождении электронного устройства 112 и другую информацию.
[79] Машиночитаемые инструкции, сохраненные на носителе информации 104, могут предоставлять серверу 102 возможность получать из баз данных 106 множество точек интереса, которые потенциально могут быть показаны на виде фрагмента карты 300, причем каждая из точек интереса имеет позицию на фрагменте карты 300. Например, позиция здания кафе «Пушкинъ» в Москве может быть определена географическими координатами: 55°45'49.3'' с. ш. 37°36'18.0'' в. д. Таким же образом может быть определена позиция любого другого объекта, например памятника архитектуры, нотариальной конторы, железнодорожного вокзала.
[80] В примере, представленном на Фиг. 3, множество точек интереса состоит из точек интереса 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326 и 328, которые потенциально могут быть показаны на фрагменте карты 300. В примере, представленном на Фиг. 3, данное множество точек интереса было найдено сервером 102 в ответ на поисковый запрос пользователя 120 «нотариальные конторы рядом со мной», сделанный по сервису карт.
[81] Машиночитаемые инструкции могут предоставлять серверу 102 возможность генерировать фрагмент карты 300 с отмеченными на нем одной или несколькими точками интереса. При этом точки интереса могут быть представлены на виде фрагмента карты 300 графическими символами.
[82] Машиночитаемые инструкции могут предоставлять серверу 102 возможность генерировать кластеры первого уровня путем замещения двух и более точек интереса, расположенных в пределах одной ячейки первой сетки 400, на один кластер первого уровня.
[83] Машиночитаемые инструкции, сохраненные на носителе информации 104, могут предоставлять серверу 102 возможность рассчитывать центры масс точек интереса.
[84] Центры масс могут рассчитываться для двух и более точек интереса. [85] Центры масс могут рассчитываться математически. В качестве неограничивающих примеров, для двух и более меток точек интереса, центр масс может рассчитываться как центр масс системы материальных точек в классической механике. Одним из применимых способов расчета центра масс является определение центра масс с использованием плотностного алгоритма кластеризации пространственных данных с присутствием шума, известного также как DBSCAN (Density-based spatial clustering of applications with noise).
[86] Соответственно, когда в соответствующей ячейке первой сетки 400 не имеется точек интереса, либо имеется только одна точка интереса, сервер 102 не генерирует кластер первого уровня в соответствующей ячейке, поскольку для генерации кластера первого уровня необходимо наличие по меньшей мере двух точек интереса в одной ячейке первой сетки 400. В некоторых вариантах осуществления настоящего технического решения сервер 102 определяет позицию кластера первого уровня в центре масс тех точек интереса, которые были объединены в первый кластер (то есть в центр масс точек интереса, расположенных в пределах соответствующей ячейки первой сетки 400). В некоторых вариантах осуществления настоящего технического решения сервер 102 определяет центр масс точек интереса, объединяемых в кластер первого уровня, математически.
[87] Машиночитаемые инструкции могут предоставлять серверу 102 возможность генерировать фрагмент карты 300 с отмеченными на нем одним или несколькими кластерами первого уровня.
[88] Машиночитаемые инструкции могут предоставлять серверу 102 возможность генерировать кластеры второго уровня путем замещения, в каждой ячейке второй сетки 600, изображенной на Фиг. 6, Фиг. 7 и Фиг. 8, соответствующего множества объектов, расположенных в пределах соответствующей ячейки второй сетки 600, на кластер второго уровня. При этом под объектом понимается любое из: (а) необъединенная точка интереса, или (б) кластер первого уровня. Соответственно, когда в соответствующей ячейке второй сетки 600 не имеется объектов, либо имеется только один объект (или одна необъединенная точка интереса, или один кластер первого уровня), сервер 102 не генерирует кластер второго уровня в соответствующей ячейке второй сетки 600, поскольку для генерации кластера второго уровня необходимо наличие по меньшей мере двух объектов в одной ячейке второй сетки 600. В некоторых вариантах осуществления настоящего технического решения сервер 102 определяет позицию кластера второго уровня в центре масс тех точек интереса, которые находились в той части фрагмента карты 300, который приходится на соответствующую ячейку второй сетки 600. В некоторых вариантах осуществления настоящего технического решения сервер 102 определяет центр масс указанных точек интереса математически.
[89] Машиночитаемые инструкции могут предоставлять серверу 102 возможность генерировать фрагмент карты 300 с отмеченными на нем одним или несколькими кластерами второго уровня.
[90] Машиночитаемые инструкции могут предоставлять серверу 102 возможность генерировать фрагмент карты 300 с любыми возможными комбинациями точек интереса, первых кластеров и вторых кластеров. Так, в качестве неограничивающего примера, сервер 102 может сформировать фрагмент карты 300 с отмеченными на нем пятью точками интереса и одним кластером второго уровня. В другом неограничивающем варианте осуществления настоящего технического решения сервер 102 может сформировать фрагмент карты 300 с отмеченными на нем двумя кластерами первого уровня и тремя кластерами второго уровня.
[91] Машиночитаемые инструкции могут предоставлять серверу 102 возможность размещать на фрагменте карты первую сетку 400, изображенную на Фиг. 4 и на Фиг. 5 сплошными линиями и на Фиг. 6 - пунктирной линией. Первая сетка 400 состоит из первого множества ячеек первой сетки 400. Ячейки первой сетки образуются множеством пересекающихся линий первой сетки 400.
[92] Первая сетка имеет первый размер 402 шага сетки. Первый размер 402 шага сетки определяет размер ячеек первой сетки. Чем больше первый размер 402 шага сетки, тем больше точек интереса может оказаться в одной ячейке. Первый размер 402 шага сетки выражен в пикселях; однако, как это будет понятно специалистам в данной области техники, первый размер 402 шага сетки может быть выражен в любых других подходящих единицах измерения.
[93] Машиночитаемые инструкции могут предоставлять серверу 102 возможность генерировать множества кластеров первого уровня путем замещения, в ячейках первой сетки, соответствующего подмножества точек интереса, расположенных в пределах соответствующей ячейки первой сетки, на кластер первого уровня. Кластер первого уровня представляет собой метку, имеющую позицию на фрагменте карты 300 и ассоциированную с данными о точках интереса, которые были объединены в соответствующий кластер первого уровня. Позиция соответствующего кластера первого уровня на фрагменте карты 300 может быть определена сервером 102 в центре масс подмножества точек интереса, объединенных в первый кластер в пределах соответствующей ячейки первой сетки. При этом сервер 102 может рассчитать центр масс подмножества точек интереса, объединенных в первый кластер, математически.
[94] Машиночитаемые инструкции могут предоставлять серверу 102 возможность размещать на фрагменте карты вторую сетку 600. Вторая сетка 600 состоит из второго множества ячеек второй сетки 600. Ячейки второй сетки 600 образуются множеством пересекающихся линий второй сетки 600.
[95] Вторая сетка 600 имеет второй размер 602 шага сетки. Второй размер 602 шага сетки определяет размер ячеек второй сетки. Чем больше второй размер 602 шага сетки, тем больше объектов (необъединенных точек интереса и кластеров первого уровня) может оказаться в одной ячейке. Второй размер 602 шага сетки выражен в пикселях; однако, как это будет понятно специалистам в данной области техники, второй размер 602 шага сетки может быть выражен в любых других подходящих единицах измерения.
[96] Машиночитаемые инструкции могут предоставлять серверу 102 возможность определять первый размер 402 шага сетки и второй размер 602 шага сетки таким образом, чтобы второй размер 602 шага сетки всегда был больше первого размера 402 шага сетки. При этом минимально возможный первый размер 402 шага сетки должен позволять размещение в одной ячейке первой сетки по меньшей мере двух точек интереса, а максимально возможный размер второго шага сетки ограничен размером фрагмента карты 300.
[97] Кроме того, машиночитаемые инструкции могут предоставлять серверу 102 возможность определять первый размер 402 шага сетки и второй размер 602 шага сетки таким образом, чтобы оба эти размера имели значения взаимно простых чисел. Под взаимно простыми числами понимаются такие целые числа, которые не имеют никаких общих делителей, кроме ±1. Таким образом, например, взаимно простыми числами являются числа: 3 и 5; 7 и 11; 31 и 43 и так далее.
[98] В некоторых вариантах осуществления настоящего технического решения машиночитаемые инструкции могут предоставлять серверу 102 возможность определять первый размер 402 шага сетки и второй размер 602 шага сетки с учетом параметров веб-браузера 116, установленного на электронном устройстве 112, и/или параметров операционной системы, установленной на электронном устройстве 112, и/или параметров видеокарты 118, установленной на электронном устройстве 112. При этом второй размер 602 шага сетки должен быть больше, чем второй шаг сетки, и оба этих размера должны иметь значения взаимно простых чисел.
[99] Машиночитаемые инструкции могут предоставлять серверу 102 возможность генерировать множества кластеров второго уровня путем замещения, в ячейках второй сетки, соответствующего множества объектов (необъединенных точек интереса и/или кластеров первого уровня), расположенных в пределах соответствующей ячейки первой сетки 400, на кластеры второго уровня. Кластер второго уровня представляет собой метку, имеющую позицию на фрагменте карты 300 и ассоциированную с данными о точках интереса, которые были объединены в соответствующий кластер второго уровня (в том числе точки интереса, которые до этого были объединены в кластер первого уровня, который затем был объединен в кластер второго уровня). Позиция соответствующего кластера второго уровня на фрагменте карты 300 может быть определена сервером 102 в центре масс подмножества точек интереса, объединенных во второй кластер в пределах соответствующей ячейки второй сетки. При этом сервер 102 может рассчитать центр масс подмножества точек интереса, объединенных в первый кластер, математически.
[100] Машиночитаемые инструкции, сохраненные на носителе информации 104, могут предоставлять серверу 102 возможность, в ответ на запросы пользователя 120 на предоставление вида фрагмента карты 300, направлять на электронное устройство 112 пользователя 120 запрошенный фрагмент карты 300, на котором могут быть отмечены точки интереса, кластеры первого уровня и кластеры второго уровня. Передача информации может осуществляться по сети 110 передачи данных, и фрагменты карт 300 с расположенными на них графическими символами, обозначающими точки интереса и/или кластеры первого и/или второго уровня, могут отражаться на дисплее 119 электронного устройства 112.
[101] Запросы пользователя 120 на предоставление точек интереса для показа на карте 300 сервер 102 может получать с электронного устройства 112 по сети передачи данных 110.
[102] Технический результат достигается за счет уменьшения вычислительной нагрузки по отображению графических символов на карте 300 для электронного устройства 112, когда на нем установлена малопроизводительная видеокарта 118. Кроме того, технический результат достигается за счет направления на электронное устройство 112, когда на нем установлена высокопроизводительная видеокарта 118, фрагмента карты 300 с большим количеством точек интереса и/или кластеров, подлежащих показу пользователю 120, поскольку высокопроизводительная видеокарта 118 способна с приемлемой скоростью отобразить большее количество графических символов, чем видеокарта 118 с меньшей производительностью. Таким образом, сервер 102 способен определить технические характеристики видеокарты 118 и/или других параметров (например, характеристики операционной системы и/или веб-браузера 116) и направить на электронное устройство 112 пользователя 120 фрагмент карты 300 с таким количеством графических символов, представляющих необъединенные точки интереса и кластеры первого и второго уровня, которое соответствующее электронное устройство 112 способно обработать с приемлемой скоростью и с приемлемым потреблением вычислительных ресурсов электронного устройства 112.
[103] Хранимые на носителе информации 104 сервера 102 программные инструкции могут обеспечивать инициирование процессора и выполнение им этапов способа 200, как это указано ниже при описании Фиг. 2.
[104] Как это показано на Фиг. 1, сервер 102 соединен с сетью 110 передачи данных через линию связи (не пронумерована). В некоторых вариантах осуществления настоящего технического решения, не ограничивающих его объем, сеть 110 передачи данных связи может представлять собой Интернет. В других вариантах осуществления настоящего технического решения сеть 110 передачи данных может быть реализована иначе - в виде глобальной сети передачи данных, локальной сети передачи данных, частной сети передачи данных и т.п.
[105] Реализация линии связи не ограничена и будет зависеть от того, какие устройства присоединены к сети 110 передачи данных. В качестве примера, но не ограничения, подключение сервера 102 к сети 110 передачи связи может быть осуществлено по проводной связи (соединение на основе сети Ethernet). В то же время, другие устройства могут быть подключены иными способами. Так, в случаях, в которых подключенное устройство представляет собой беспроводное устройство связи (например, электронное устройство 112, реализованное как смартфон), подключение представляет собой беспроводную сеть связи (например, среди прочего, линия связи сети 3G, линия связи сети 4G, беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п.). В тех примерах, где устройство представляет собой настольный компьютер (как, например, электронное устройство 112), линия связи может быть как беспроводной, так и проводной (соединение на основе сети Ethernet).
[106] Важно иметь в виду, что различные варианты осуществления сервера 102, электронного устройства 112, линий связи для подсоединения к сети 110 передачи данных даны исключительно в иллюстрационных целях. Таким образом, специалисты в данной области техники смогут понять подробности других конкретных вариантов осуществления сервера 102, электронного устройства 112, линий связи для подсоединения к сети 110 передачи данных. Таким образом, представленные здесь примеры не ограничивают объем настоящего технического решения.
[107] Через сеть 110 передачи данных сервер 102 может быть соединен с упомянутым выше электронным устройством 112. Электронное устройство 112 обычно связано с пользователем 120. Пользователем 120 является лицо, заинтересованное в получении информации об объектах, имеющих пространственные координаты. В данном варианте осуществления настоящего технического решения пользователь 120 является лицом, осуществляющим с помощью электронного устройства 112 поиск нотариальных контор в непосредственной близости от своего места жительства.
[108] В альтернативных вариантах осуществления настоящего технического решения, пользователь 120 может осуществлять поиск объектов иной категории. Например, в качестве нескольких неограничивающих примеров пользователей 120, из множества возможных примеров, можно назвать: (а) человек, который ищет гостиницы в Санкт-Петербурге; б) автомобилист, который ищет поблизости автозаправочную станцию в центре г. Торонто.
[109] Следует отметить, что тот факт, что электронное устройство 112 связано с пользователем 120, не подразумевает какого-либо конкретного режима работы, равно как и необходимости входа в систему, быть зарегистрированным, или чего-либо подобного.
[110] Варианты электронного устройства 112 конкретно не ограничены, но в качестве примера электронного устройства 112 могут использоваться персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), устройства беспроводной связи (мобильные телефоны, смартфоны, планшеты и т.п.), а также сетевое оборудование (маршрутизаторы, коммутаторы или шлюзы).
[111] Схематически изображенное на Фиг. 1 электронное устройство 112 реализовано в виде персонального компьютера Dell Dimension 4000 с установленной на нем операционной системой Windows ХР Home SP3, с процессором Intel Pentium 4 с частотой 1.60 Ghz, с оперативной памятью 1 Гб, жестким диском 60 Гб, с видеокартой 118 Nvidia GeForce2 MX/MX 400, с тремя портами USB, приводом CD-RW, с портами VGA, DVI и S-Video, с модемом и Ethernet.
[112] В других вариантах осуществления настоящего технического решения электронное устройство 112 может быть реализовано, например, в виде смартфона Apple™ iPhone 5S с установленной на нем и действующей операционной системой iOS 7, с Bluetooth™, Wi-Fi, 3G, LTE, системой позиционирования GPS. [113] Следует отметить, что видеокарта 118 (Nvidia GeForce2 MX/MX 400) является устаревшей видеокартой, имеющей относительно низкую производительность, по сравнению с более современными видеокартами, такими как, например, Intel HD Graphics 4600, NVidia GeForce GTX 970.
[114] Следует также отметить, что операционная система Windows™ ХР Ноте SP3, установленная на электронном устройстве 112, также уступает многим другим операционным системам в производительности. Например, она уступает в производительности операционной системе Windows™ Vista, и еще более уступает в производительности операционным системам Windows 7™ и Windows 8™.
[115] Электронное устройство 112 включает в себя также носитель информации 114. В принципе, данный носитель информации может быть носителем абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д., а также их комбинации.
[116] В электронном устройстве 112, схематически изображенном на Фиг. 1, носитель информации 114 реализован как жесткий диск объемом 16 Гб.
[117] Носитель информации 114 может сохранять файлы пользователя и программные инструкции.
[118] В частности, носитель информации 114 может хранить программное обеспечение, реализующее функции браузера 116. В общем случае, целью браузера 116 является предоставление возможности пользователю 120 загружать на электронное устройство 112 файлы через сеть 110 передачи данных с сервера 102 и показывать загруженные изображения (видео) на дисплее 119, который будет подробнее описан ниже.
[119] Реализация браузера 116 никак конкретно не ограничена. В качестве неограничивающих примеров, такими браузерами могут быть Google Chrome™, Internet Explorer™, Яндекс™ браузер, различные мобильные поисковые приложения и так далее. В электронном устройстве 112 браузер 116 реализован как Internet Explorer 6. Следует отметить, что веб-браузер Internet Explorer 6 уступает в производительности другим более современным браузерам, таким, например, как Internet Explorer 11 или Opera 16.
[120] Важно иметь в виду, что любое другое коммерчески доступное или собственное приложение может быть использовано для реализации вариантов осуществления настоящего технического решения, не ограничивающих его объем. [121] Электронное устройство 112 включает в себя также дисплей 119, являющийся монитором Dell™ Е2214Н 2214-7803, диагональ 21,5'', с разрешением 1920×1080, позволяющий представлять пользователю 120 изображение карт и другую видеоинформацию. Таким образом, пользователь 120 имеет возможность видеть на дисплее 119 в интерфейсе браузера 116 электронного устройства 112 карты и отмеченные на них объекты, а также видеть веб-интерфейсы сервисов карт.
[122] Таким образом, как видно из вышеизложенного описания электронного устройства 112, электронное устройство 112 является устаревшей моделью персонального компьютера, отличающегося посредственной производительностью (по сравнению с современными моделями) и, в частности, с невысокой производительностью при обработке графики.
[123] В ходе демонстрации шагов, выполняемых в ходе выполнения способа 200, будут делаться ссылки на схематическое изображение варианта осуществления сетевой компьютерной системы 100, как это представлено на Фиг. 1, а также для наглядности ссылки будут делаться на Фиг. 2, Фиг. 3, Фиг. 4, Фиг. 5, Фиг. 6, Фиг. 7, Фиг. 8 и Фиг. 9.
[124] Фиг. 2 является блок-схемой способа 200, выполняемого на сервере 102, изображенном на Фиг. 1, выполняемого в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.
[125] Этап 202 - получение с электронного устройства 112 запроса на предоставление вида фрагмента карты 300.
[126] На этапе 202 сервер 102 осуществляет получение с электронного устройства 112 запроса пользователя 120 на предоставление вида фрагмента карты 300. В данном варианте осуществления настоящего технического решения запрос пользователя 120 на предоставление вида фрагмента карты 300 является поисковым запросом по сервису карт. Для осуществления такого запроса, пользователь 120, с использованием веб-браузера 116, подключается к сервису карт. В данном варианте осуществления настоящего технического решения таким сервисом карт является онлайн сервис Яндекс.Карты™. Затем пользователь в поисковой строке веб-браузера 116 вводит поисковый запрос.
[127] В данном варианте осуществления настоящего технического решения поисковый запрос был сформулирован пользователем 120 как «нотариальные конторы рядом со мной». Веб-браузер 116 электронного устройства 112 направляет этот поисковый запрос на сервер 102 для осуществления поиска вместе с информацией об электронном устройстве 112.
[128] Технология направления информации об электронном устройстве 112 в целом известна специалистам в данной области техники. В данном варианте осуществления настоящего технического решения в состав такой информации может входить информация о местоположении электронного устройства 112. Информация о местоположении электронного устройства 112 может быть получена любым подходящим способом; например по IP-адресу. Таким образом, поисковый запрос «нотариальные конторы рядом со мной» будет выполнен с учетом того, что на сервер 102 поступила информация о местонахождении электронного устройства 112 и, следовательно, пользователя 120.
[129] Помимо информации о местоположении электронного устройства 112, в состав информации об электронном устройстве 112, передаваемой вместе с поисковым запросом, могут включаться параметры веб-браузера 116, установленного на электронном устройстве 112, параметры операционной системы, установленной на электронном устройстве 112, параметры видеокарты 118, установленной на электронном устройстве 112. Вся эта информация о веб-браузере 116, об операционной системе, и о видеокарте 118, либо часть этой информации, может быть в дальнейшем использована сервером 102 при определении первого размера 402 шага сетки и второго размера 602 шага сетки. [130] Далее способ 200 переходит к этапу 204.
[131] Этап 204 - получение точек интереса 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326 и 328, которые потенциально могут быть показаны на фрагменте карты 300, причем каждая из данных точек интереса имеет позицию на фрагменте карты 300.
[132] На этапе 204 сервер 102 осуществляет получение множества точек интереса, которые потенциально могут быть показаны на фрагменте карты 300. Получение производится в ответ на получение поискового запроса пользователя 120, направленного на сервер 102 электронным устройством 112.
[133] Поскольку поисковый запрос пользователя 120 состоял в запросе на предоставление информации о нотариальных конторах, расположенных поблизости от пользователя 120, сервер 102 осуществляет такой поиск по сервису карт и получает множество точек интереса, которые потенциально могут быть показаны на фрагменте карты 300. В данном примере это множество состоит из точек интереса 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326 и 328, представленных на Фиг. 3. В случае, если бы пользователь сделал иной поисковый запрос, количество получаемых точек интереса и/или их местоположение было бы, вероятно, другим.
[134] Каждая из полученных точек интереса 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326 и 328 потенциально может быть показана на фрагменте карты 300, поскольку каждая из этих точек интереса имеет географические координаты, расположенные в пределах пространства, отображаемого на фрагменте карты 300.
[135] Наличие определенного количества точек интереса, которые могут быть потенциально показаны в пределах фрагмента карты 300, не означает, что все эти точки интереса обязательно будут показаны.
[136] В случае, когда количество точек является слишком большим, показ всех точек интереса, которые потенциально могут быть показаны, может быть неоправданным по меньшей мере по одной из двух причин. Во-первых, чрезмерно большое количество точек интереса, отображаемых на дисплее 119, может плохо восприниматься пользователем 120. Во-вторых, отображение значительного количества точек интереса на дисплее 119 может потребовать значительных затрат ресурсов электронного устройства 112. По этой (второй) причине, в ряде случаев бывает целесообразным уменьшить количество элементов, которые должны быть изображены. При принятии решения об уменьшении количества отображаемых объектов могут приниматься в расчет вычислительные способности электронного устройства 112. В частности, в расчет могут приниматься либо параметры веб-браузера 116, установленного на электронном устройстве 112, либо параметры операционной системы, установленной на электронном устройстве 112, либо параметры видеокарты (118), установленной на электронном устройстве (112), либо сочетание нескольких параметров или всех этих параметров. Список этих параметров не является исчерпывающим; дополнительно или альтернативно, в расчет могут приниматься и другие параметры. Соответственно, чем слабее вычислительные способности электронного устройства 112, тем меньшее количество элементов, подлежащих показу пользователю 120 на дисплее 119, может быть направлено сервером 102 на электронное устройство 112. Например, как это показано на Фиг. 9, на электронном устройстве 112, вычислительные характеристики которого являются посредственными, может быть показано малое количество элементов: показана только одна точка интереса 324, а все остальные точки интереса сгруппированы в кластеры второго уровня 802 и 804 и в кластер первого уровня 510.
[137] Далее, способ 200 переходит к этапу 206.
[138] Этап 206 - размещение на фрагменте карты 300 первой сетки 400.
[139] На этапе 206 сервер 102 осуществляет размещение на фрагменте карты 300 первой сетки 400, как это показано на Фиг. 4, 5 и 6. Первая сетка 400 изображена на Фиг. 4 и на Фиг. 5 сплошными линиями, а на Фиг. 6 - пунктирной линией.
[140] Первая сетка 400 состоит из первого множества ячеек. На Фиг. 4 и Фиг. 5 ссылки на конкретные ячейки первой сетки 400 представляют собой буквенно-цифровые ссылки, где буквами латинского алфавита А, В, С и D обозначены столбцы, а цифрами 1, 2, 3 и 4 обозначены «строки» первой сетки 400. Соответственно, на Фиг. 4 и на Фиг. 5 изображены следующие ячейки сетки 400: А1, В1, С1, D1, А2, В2, С2, D2, A3, В3, С3, D3, А4, В4, С4, D4, начиная с верхней левой ячейки А1 и, двигаясь каждый раз слева направо и сверху вниз, заканчивая нижней правой ячейкой D4.
[141] Как это видно на Фиг. 4 - Фиг. 6, ячейки первой сетки 400 образованы множеством пересекающихся линий первой сетки 400.
[142] Поскольку сервер 102 размещает первую сетку 400 на фрагмент карты 300 и поскольку на карте 300 отмечено множество точек интереса 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, в результате такого наложения в по меньшей мере некоторых ячейках первой сетки (А1, В1, С1, D1, В2, С2, A3, В3) будут находиться точки интереса. Так, в ячейке А1 будут находиться точки интереса 302 и 304. В ячейке В1 будет находиться точка интереса 308. В ячейке С1 будут находиться точки интереса 310 и 312. В ячейке D1 будут находиться точка интереса 314. В ячейке В2 будут находиться точки интереса 316 и 318. В ячейке С2 будут находиться точки интереса 320 и 322. В ячейке A3 будет находиться точка интереса 324. В ячейке В3 будут находиться точки интереса 326 и 328. Кроме того, на пересечении линий первой сетки 400 расположена точка 306. Таким образом, точка 306 потенциально может относиться к любой из следующих четырех ячеек: А1, В1, А2, В2. Таким образом, сервер 102, путем наложения первой сетки 400 на фрагмент карты 300 разбивает множество точек интереса 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, имеющих позицию на фрагменте карты 300, и которые потенциально могут быть показаны на указанном фрагменте карты 300, на: (1) подмножества точек интереса (в пределах отдельных ячеек первой сетки - А1, С1, В2, С2, В3), (2) на отдельные точки интереса (в случае, если в соответствующей отдельной ячейке первой сетки имеется только одна точка интереса - D1 и A3), и (3) на пустые ячейки D2, С3, D3, А4, В4, С4, D4). Как было отмечено выше, точка интереса 306 расположена на пересечении линий сетки 400 и, соответственно, она может быть отнесена к одной из четырех ячеек.
[143] Первая сетка 400 имеет первый размер 402 шага сетки. Размер первого шага сетки может быть выражен в любой единице измерения, например в пикселях или в миллиметрах. Каждый раз при получении с любого электронного устройства, в том числе с электронного устройства 112, запроса на получение на предоставление вида фрагмента карты 300 сервер 102 определяет вычислительные способности электронного устройства 112 и, в зависимости от вычислительных способностей электронного устройства 112, определяет размер первого размера 402 шага сетки. Первый размер 402 шага сетки может быть тем больше, чем слабее вычислительные способности электронного устройства 112.
[144] Первая сетка 400 имеет опорную точку 404. Опорной точкой является одна из точек пересечения двух линий первой сетки 400. В данном варианте осуществления настоящего технического решения опорная точка 404 является точкой пересечения самой верхней горизонтальной линии первой сетки 400 и крайней левой вертикальной линии первой сетки 400. Выбор конкретной опорной точки 404 не имеет принципиального значения. В качестве опорной точки 404 может быть выбрана любая точка пересечения любых двух линий первой сетки 400. Цель опорной точки 404 будет описана ниже, при описании способа наложения на фрагмент карты 300 второй сетки 600.
[145] Затем способ 200 переходит к этапу 208.
[146] Этап 208 - генерирование кластеров 502, 504, 506, 508 и 510 первого уровня путем замещения, в ячейках первой сетки 400, соответствующего подмножества точек интереса, расположенных в пределах соответствующей ячейки первой сетки 400, на кластер первого уровня.
[147] На этапе 208 сервер 102 осуществляет генерирование кластеров первого уровня путем замещения, в ячейках первой сетки 400, соответствующего подмножества точек интереса, расположенных в пределах соответствующей ячейки первой сетки 400, на кластер первого уровня.
[148] Кластер первого уровня представляет собой метку, имеющую позицию на фрагменте карты 300 и ассоциированную с данными о точках интереса, которые были объединены в соответствующий кластер первого уровня. Позиция соответствующего кластера первого уровня на фрагменте карты 300 может быть определена сервером 102 в центре масс подмножества точек интереса, объединенных в первый кластер в пределах соответствующей ячейки первой сетки. При этом сервер 102 может рассчитать центр масс подмножества точек интереса, объединенных в первый кластер, математически.
[149] В данном варианте осуществления настоящего технического решения генерирование кластеров первого уровня (кластеризация точек интереса) осуществляется последовательно, ячейка за ячейкой, начиная с верхней левой ячейки А1 построчно вправо по ряду, переходя к нижеследующему ряду после завершения кластеризации в текущем ряду. Таким образом, в данном варианте осуществления настоящего технического решения последовательность кластеризации в ячейках будет следующей: А1, В1, С1, D1, А2, В2, С2, D2, A3, В3, С3, D3, А4, В4, С4, D4.
[150] Каждая точка интереса может быть использована для формирования только одного кластера первого уровня. При осуществлении кластеризации в ячейке А1 сервер 102 обнаружит точку интереса 306 в ячейке А1 и использует ее в процессе кластеризации. В ячейке А1 точки интереса 302, 304 и 306 будут объединены в кластер первого уровня 502, как это показано на Фиг. 5. Кластер первого уровня 502 располагается в центре масс точек интереса 302, 304 и 306, причем центр масс точек интереса 302, 304 и 306 рассчитывается сервером 102 математически, исходя из имеющихся координат точек интереса 302, 304 и 306 и исходя из того, что каждая точка интереса имеет одинаковую массу.
[151] Точка интереса 306 не будет использована, когда сервер 102 будет обрабатывать ячейки В1, А2 и В2, поскольку точка интереса 306 была уже использована при формировании кластера первого уровня 502.
[152] Далее будет определено, что в ячейке В1 нет двух точек интереса 306 и 308, которые могли бы быть объединены в кластер первого уровня, а есть только одна точка интереса 308, которая не может быть объединена, поскольку в данной ячейке не имеется других точек интереса. Соответственно, точка 308 останется необъединенной точкой интереса в ячейке В1.
[153] Затем в ячейке С1 точки интереса 310 и 312 будут объединены в кластер первого уровня 504, как это показано на Фиг. 5. Кластер первого уровня 504 располагается в центре масс точек интереса 310 и 312, причем центр масс точек интереса 310 и 312 рассчитывается сервером 102 математически, исходя из имеющихся координат данных точек интереса 310 и 312 и исходя из того, что каждая точка интереса имеет одинаковую массу.
[154] Далее будет определено, что в ячейке D1 есть только точка интереса 314, которая не может быть объединена, поскольку в данной ячейке не имеется других точек интереса. Соответственно, точка 314 останется необъединенной точкой интереса в ячейке D1.
[155] Затем сервер 102 определит, что в ячейке А2 нет точек интереса, поскольку точка интереса 306 уже была использована в ходе кластеризации в ячейке А1. Соответственно, в ячейке А1 сервер 102 не будет осуществлять кластеризацию и перейдет к следующей ячейке - ячейке В2.
[156] Далее будет определено, что в ячейке В2 нет трех точек интереса 306, 316 и 318, которые могли бы быть объединены в кластер первого уровня, а есть только две точки интереса 316 и 318, которые будут замещены одним кластером первого уровня 506, как это показано на Фиг. 5, причем центр масс точек интереса 316 и 318 рассчитывается сервером 102 математически, исходя из имеющихся координат данных точек интереса 316 и 318 и исходя из того, что каждая точка интереса имеет одинаковую массу.
[157] Аналогичные процедуры будут осуществлены во всех остальных ячейках первой сетки 400. В результате сервером 102 будут сформированы кластеры первого уровня 502, 504, 506, 508 и 510. [158] Затем способ 200 переходит к этапу 210.
[159] Этап 210 - размещение на фрагменте карты 300 второй сетки 600.
[160] На этапе 210 сервер 102 осуществляет размещение на фрагменте карты 300 второй сетки 600, как это показано на Фиг. 6 и на Фиг. 7. Вторая сетка 600 состоит из второго множества ячеек второй сетки 600, образованных множеством пересекающихся линий второй сетки 600. Для того, чтобы наглядно продемонстрировать отличия второй сетки 600 от первой сетки 400, на Фиг. 6 показана также первая сетка 400 (отмечена пунктиром).
[161] На Фиг. 7 ссылки на конкретные ячейки второй сетки 600 представляют собой буквенно-цифровые ссылки, где буквами греческого алфавита α, β и γ обозначены столбцы, а цифрами 1, 2 и 3 обозначены «строки» второй сетки 600. Соответственно, на Фиг. 7 изображены следующие ячейки сетки 400: α1, β1, γ1, α2, β2, γ2, α3, β3 и γ3, начиная с верхней левой ячейки α1 и, двигаясь каждый раз слева направо и сверху вниз, заканчивая нижней правой ячейкой γ3.
[162] В остальном Фиг. 6 и Фиг. 7 идентичны.
[163] На момент размещения сервером 102 второй сетки на фрагмент карты 300 на фрагменте карты 300 могут быть расположены: (а) кластеры первого уровня (образованные путем объединения в один кластер всех точек интереса, расположенных в пределах одной соответствующей ячейки первого уровня), и (б) необъединенные точки интереса (которые не были объединены, потому что в соответствующей ячейке первой сетки имелась только одна такая точка интереса). Соответственно, в результате такого размещения на фрагменте карты 300 второй сетки 600, в по меньшей мере некоторых ячейках второй сетки 600 могут находиться следующие объекты: кластеры первого уровня и/или необъединенные точки интереса. Кроме того, в результате такого размещения на фрагменте карты 300 второй сетки 600 некоторые ячейки второй сетки 600 могут оказаться пустыми. Таким образом, сервер 102 путем наложения второй сетки 600 на фрагмент карты 300 разбивает множество кластеров первого уровня и/или необъединенных точек интереса на (1) подмножества кластеров первого уровня и/или необъединенных точек интереса (в пределах отдельных ячеек второй сетки), и (2) на отдельные точки интереса или отдельные кластеры первого уровня (в случае, если в соответствующей отдельной ячейке второй сетки имеется только одна необъединенная точка интереса или только один необъединенный кластер первого уровня).
[164] Вторая сетка 600 используется для второго этапа кластеризации. На втором этапе кластеризации могут быть объединены в кластеры второго уровня (а) кластеры первого уровня, и (б) необъединенные точки интереса (то есть такие точки интереса, которые не были объединены в кластеры первого уровня). На этом втором этапе кластеры первого уровня и необъединенные точки интереса будут совместно именоваться «объектами».
[165] При наложении второй сетки 600 на фрагмент карты 300 сервер 102 накладывает вторую сетку 600 на фрагмент карты 300 таким образом, чтобы одно из пересечений двух линий второй сетки 600 совпало с опорной точкой 404. Как это видно на Фиг. 6, самая верхняя горизонтальная линия второй сетки 600 и крайняя левая вертикальная линия второй сетки 600 совпадают с самой верхней горизонтальной линией первой сетки 400 и крайней левой вертикальной линией первой сетки 400, также пересекаясь в опорной точке 404.
[166] Вторая сетка 600 имеет второй размер 602 шага сетки. Второй размер 602 шага сетки, так же как и первый размер 402 шага сетки, может быть выражен в любой единице измерения, например в пикселях или в миллиметрах.
[167] Второй размер 602 шага сетки определяется сервером 102. При этом второй размер 602 шага сетки превышает первый размер 402 шага сетки. В результате каждая ячейка второй сетки 600 будет охватывать большую площадь, чем каждая ячейка первой сетки 400.
[168] При определении второго размера 602 шага сетки, сервер 102 обеспечивает, чтобы первый размер 402 шага сетки и второй размер 602 шага сетки имели значения взаимно простых чисел. Под взаимно простыми числами понимаются такие целые числа, которые не имеют никаких общих делителей, кроме ±1. Таким образом, например, взаимно простыми числами являются числа: 3 и 5; 7 и 11; 31 и 43 и так далее.
[169] Затем способ 200 переходит к этапу 212.
[170] Этап 212 - генерирование кластеров 802 и 804 второго уровня путем замещения, в каждой ячейке второй сетки, соответствующего множества объектов, расположенных в пределах соответствующей ячейки второй сетки, на кластер второго уровня.
[171] На этапе 212 сервер 102 осуществляет генерирование множества кластеров второго уровня путем замещения, в каждой ячейке второй сетки 600, соответствующего множества объектов, расположенных в пределах соответствующей ячейки второй сетки 600, на кластер второго уровня, причем объектом из соответствующего множества объектов может быть любое из: (а) необъединенная точка интереса и (б) кластер первого уровня.
[172] Кластер второго уровня представляет собой метку, имеющую позицию на фрагменте карты 300, и ассоциированную с данными о точках интереса, которые были объединены в соответствующий кластер первого уровня. При этом учитываются как точки интереса, непосредственно объединенные в кластер второго уровня (то есть точки интереса, не объединенные в кластеры первого уровня), так и точки интереса, которые были замещены кластерами первого уровня.
[173] Позиция соответствующего кластера второго уровня на фрагменте карты 300 может быть определена сервером 102 в центре масс подмножества точек интереса, объединенных в первый кластер в пределах соответствующей ячейки второй сетки 600. При этом сервер 102 может рассчитать центр масс подмножества точек интереса, объединенных во второй кластер, математически.
[174] В данном варианте осуществления настоящего технического решения генерирование кластеров второго уровня (кластеризация необъединенных точек интереса и кластеров первого уровня) осуществляется последовательно, ячейка за ячейкой, начиная с верхней левой ячейки α1 построчно вправо по ряду, переходя к нижеследующему ряду после завершения кластеризации в текущем ряду. Таким образом, в данном варианте осуществления настоящего технического решения последовательность кластеризации в ячейках будет следующей: α1, β1, γ1, α2, β2, γ2, α3, β3 γ3.
[175] После наложения на фрагмент карты 300 второй сетки 600 на линии второй сетки 600 или на пересечении линий второй сетки 600 может оказаться необъединенная точка интереса и/или кластер первого уровня. В таком случае, такая необъединенная точка интереса может быть использована для формирования только одного кластера второго уровня. В таком случае такой кластер первого уровня может быть использован для формирования только одного кластера второго уровня.
[176] Как это видно на Фиг. 6 и на Фиг. 7, в данном варианте осуществления настоящего технического решения ни одна необъединенная точка интереса и ни один кластер первого уровня не оказался на линиях или на пересечении линий второй сетки 600.
[177] При осуществлении кластеризации в ячейке α1 сервер 102 обнаружит точку интереса 308 и два кластера первого уровня 502 и 506 и использует их в процессе кластеризации. В ячейке α1 точка интереса 308 и два кластера первого уровня 502 и 506 будут объединены в кластер второго уровня 802, как это показано на Фиг. 8. Кластер второго уровня 802 располагается в центре масс точки интереса 308, а также всех точек интереса, которые были ранее замещены кластерами 502 и 506, то есть сервер 102 рассчитывает центр масс следующих точек интереса: 302, 304, 306, 316, 318 и 308. Центр масс точек интереса 302, 304, 306, 316, 318 и 308 рассчитывается сервером 102 математически, исходя из координат точек интереса 302, 304, 306, 316, 318 и 308 и исходя из того, что каждая точка интереса имеет одинаковую массу.
[178] Далее будет определено, что в ячейке 61 нет ни необъединенных точек интереса, ни кластеров первого уровня. Соответственно, сервер 102 не будет осуществлять кластеризацию в данной ячейке.
[179] Затем в ячейке γ1 сервер 102 обнаружит точку интереса 314 и два кластера первого уровня 504 и 508 и использует их в процессе кластеризации. В ячейке у1 точка интереса 314 и два кластера первого уровня 504 и 508 будут объединены в кластер второго уровня 804, как это показано на Фиг. 8. Кластер второго уровня 804 располагается в центре масс точки интереса 314, а также всех точек интереса, которые были ранее замещены кластерами 504 и 508, то есть сервер 102 рассчитывает центр масс следующих точек интереса: 314, 310, 312, 320, 322. Центр масс точек интереса 314, 310, 312, 320 и 322 рассчитывается сервером 102 математически, исходя из координат точек интереса 314, 310, 312, 320 и 322 и исходя из того, что каждая точка интереса имеет одинаковую массу.
[180] Далее будет определено, что в ячейке α2 есть только точка интереса 324, которая не может быть объединена, поскольку в данной ячейке не имеется ни других точек интереса, ни кластеров первого уровня. Соответственно, точка 324 останется необъединенной точкой интереса в ячейке α2.
[181] Далее будет определено, что в ячейке β2 есть только один кластер первого уровня 510, который не может быть объединен, поскольку в данной ячейке не имеется ни других необъединенных точек интереса, ни кластеров первого уровня. Соответственно, кластер первого уровня 510 останется необъединенным объектом в ячейке β2.
[182] Далее сервер 102 определяет последовательно в ячейках γ2, α3, β3 и γЗ, что в данных ячейках нет ни необъединенных точек интереса, ни кластеров первого уровня. Соответственно, сервер 102 не будет осуществлять кластеризацию в данных ячейках.
[183] В результате осуществления кластеризации в ячейках второй сетки 600 будут сформированы следующие кластеры второго уровня: 802 и 804. Необъединенными в кластеры второго уровня останутся точка интереса 324 и кластер первого уровня 510.
[184] Затем способ 200 переходит к этапу 214.
[185] Этап 214 - генерирование вида фрагмента карты 300 с отмеченным на нем по меньшей мере одним кластером второго уровня.
[186] На этапе 214 сервер 102 осуществляет генерирование вида фрагмента карты 300 с отмеченным на нем по меньшей мере одним кластером второго уровня.
[187] В некоторых вариантах осуществления настоящего технического решения, генерирование вида фрагмента карты 300 с отмеченным на нем по меньшей мере одним кластером второго уровня является генерированием вида фрагмента карты 300 с отмеченным на нем по меньшей мере одним кластером второго уровня и по меньшей мере одной необъединенной точкой интереса и/или по меньшей мере одним кластером первого уровня.
[188] В данном варианте осуществления настоящего технического решения сервер 102 генерирует вид фрагмента карты 300 с отмеченными на нем двумя кластерами второго уровня 802 и 804, с кластером первого уровня 510, и с точкой интереса 324.
[189] В некоторых вариантах осуществления настоящего технического решения сервер 102 передает на электронное устройство 112 по сети передачи данных 110 вид фрагмента карты 300 с отмеченным на нем по меньшей мере одним кластером второго уровня и по меньшей мере одним объектом (кластером второго уровня и/или точкой интереса). Такая передача может включать в себя собственно передачу вида фрагмента карты 300, а также передачу инструкций разметить на виде фрагмента карты 300 по меньшей мере один кластер второго уровня и по меньшей мере один кластер первого уровня и/или по меньшей мере одну необъединенную точку интереса.
[190] Такие инструкции могут содержать координаты, соответственно, по меньшей мере одного кластера второго уровня и по меньшей мере одного кластера первого уровня и/или по меньшей мере одной необъединенной точки интереса.
[191] Дополнительно, такие инструкции могут содержать указания, какими графическими символами должны быть представлены на дисплее 119 соответствующие по меньшей мере один кластер второго уровня и по меньшей мере один кластер первого уровня и/или по меньшей мере одна необъединенная точка интереса.
[192] В данном варианте осуществления настоящего технического решения сервер 102 передает по сети передачи данных 110 вид фрагмента карты 300, а также передает инструкции разметить на виде фрагмента карты 300 кластер второго уровня 802, кластер второго уровня 804, кластер первого уровня 510 и необъединенную точку интереса 324.
[193] При этом сервер 102 передает координаты кластера второго уровня 802, кластера второго уровня 804, кластера первого уровня 510, и необъединенной точки интереса 324.
[194] В данном варианте осуществления настоящего технического решения сервер 102 передает инструкции, предписывающие показать кластеры второго уровня 802 и 804, а также кластер первого уровня 510 в виде графических символов.
[195] В контексте описания настоящего технического решения термин «графический символ» обозначает графическое изображение, представляющее на карте 300 точку интереса, либо представляющее на карте 300 кластер, включающий в себя несколько точек интереса. Графический символ может являться площадным объектом, отображаемым на карте 300 и видимым пользователю. Графические символы могут иметь различную геометрическую форму, различный размер. Графический символ может включать в себя также буквенную, цифровую или буквенно-цифровую информацию. Графические символы могут быть выполнены в различных цветах.
[196] В некоторых вариантах осуществления настоящего технического решения размеры графических символов могут отличаться. Например, в некоторых вариантах осуществления настоящего технического решения размер графических символов кластеров может отличаться в зависимости от того, сколько точек интереса объединено в соответствующий кластер. В данном варианте осуществления настоящего технического решения графические символы точек интереса представлены точками на карте 300, а графические символы кластеров первого уровня и кластеров второго уровня представлены небольшими кружками, внутри которых содержится номер, показывающий количество точек интереса, объединенных в соответствующий кластер. В других вариантах осуществления настоящего технического решения размер графических символов кластеров первого уровня и кластеров второго уровня одинаков, вне зависимости от количества объединенных в них точек интереса. В других вариантах осуществления настоящего технического решения размер графических символов может быть дифференцированным.
[197] При определении на карте 300 местоположения графических символов точек интереса и графических символов кластеров сервер 102 может размещать графические символы таким образом, чтобы центр массы площадной фигуры, представляющей собой графический символ точки интереса, совпадал с позицией точки интереса на карте 300. Однако это не является обязательным. В качестве неограничивающего примера, сервер 102 может размещать графические символы, имеющие форму перевернутой капли, таким образом, чтобы расположенное внизу острие капли совпадало с позицией метки точки интереса на карте.
[198] В данном варианте осуществления настоящего технического решения сервер 102 передает инструкции, предписывающие показать кластеры второго уровня 802 и 804, а также кластер первого уровня 510 в виде небольшого кружка, а необъединенную точку интереса 324 в виде точки на виде фрагмента карты 300. Кроме того, сервер 102 направляет на электронное устройство 112 инструкции поместить цифру 5 на графические символы кластеров второго уровня 802 и 804 и цифру 2 - на кластер первого уровня 510 (по числу точек интереса, которые были замещены соответствующими кластерами).
[199] В рамках настоящего описания следует понимать, что везде, где указано получение данных от любого электронного устройства и/или от любого почтового сервера, и/или от любого другого сервера, может использоваться получение электронного или иного сигнала от соответствующего электронного устройства (сервера, почтового сервера), а отображение на экране устройства может быть реализовано как подача сигнала экрану, в котором содержится определенная информация, которая в дальнейшем может быть интерпретирована определенными образами, и по меньшей мере частично отображена на экране электронного устройства. Подача и получение сигнала не везде указаны в рамках настоящего описания для упрощения изложения и облегчения понимания настоящего решения. Сигналы могут передаваться оптическими методами (по волоконно-оптической связи, например), электронными методами (по проводной или беспроводной связи), механическими методами (передача давления, температуры и/или других физических параметров, посредством которых возможна передача сигнала).
Группа изобретений относится к системе и способу организации в кластеры точек интереса с использованием сетки. Техническим результатом является снижение затрат ресурсов сервера. Способ включает получение с электронного устройства запроса на предоставление вида фрагмента карты; получение множества точек интереса, которые потенциально могут быть показаны на указанном фрагменте карты, причем каждая из точек интереса имеет позицию на фрагменте карты; размещение на фрагменте карты первой сетки; генерирование множества кластеров первого уровня путем замещения, в ячейках первой сетки, соответствующего подмножества точек интереса, расположенных в пределах соответствующей ячейки первой сетки, на кластер первого уровня; размещение на фрагменте карты второй сетки; генерирование множества кластеров второго уровня путем замещения, в каждой ячейке второй сетки, соответствующего множества объектов, расположенных в пределах соответствующей ячейки второй сетки, на кластер второго уровня, причем объектом из соответствующего множества объектов может быть любое из: (а) необъединенная точка интереса и (б) кластер первого уровня; генерирование вида фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня. 2 н. и 21 з.п. ф-лы, 9 ил.
1. Исполняемый на сервере способ организации точек интереса в кластеры для показа на фрагменте карты, включающий:
получение с электронного устройства запроса на предоставление вида фрагмента карты;
получение множества точек интереса, которые потенциально могут быть показаны на указанном фрагменте карты, причем каждая из точек интереса имеет позицию на фрагменте карты;
размещение на фрагменте карты первой сетки, состоящей из первого множества ячеек первой сетки, образованных множеством пересекающихся линий первой сетки, первая сетка имеет первый размер шага сетки, первая сетка имеет опорную точку, причем опорная точка совпадает с точкой пересечения двух пересекающихся линий первой сетки из множества пересекающихся линий первой сетки;
генерирование множества кластеров первого уровня путем замещения, в ячейках первой сетки, соответствующего подмножества точек интереса, расположенных в пределах соответствующей ячейки первой сетки, на кластер первого уровня;
размещение на фрагменте карты второй сетки, состоящей из второго множества ячеек второй сетки, образованных множеством пересекающихся линий второй сетки, вторая сетка имеет второй размер шага сетки, второй размер шага сетки превышает первый размер шага сетки, первый размер шага сетки и второй размер шага сетки имеют значения взаимно простых чисел, причем одна точка пересечения двух пересекающихся линий второй сетки из множества пересекающихся линий второй сетки совпадает с опорной точкой первой сетки;
генерирование множества кластеров второго уровня путем замещения, в каждой ячейке второй сетки, соответствующего множества объектов, расположенных в пределах соответствующей ячейки второй сетки, на кластер второго уровня, причем объектом из соответствующего множества объектов может быть любое из: необъединенная точка интереса и кластер первого уровня; генерирование вида фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня.
2. Способ по п. 1, в котором при генерировании вида фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня выполняют генерирование вида фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня и по меньшей мере одним объектом.
3. Способ по п. 1, в котором сервер передает на электронное устройство вид фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня.
4. Способ по п. 2, в котором сервер передает на электронное устройство вид фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня и по меньшей мере одним объектом.
5. Способ по п. 4, в котором по меньшей мере одно из: кластер второго уровня, кластер первого уровня, точка интереса, отмечают на виде фрагмента карты графическим символом.
6. Способ по п. 5, в котором графический символ точки интереса отличается от по меньшей мере одного из: графического символа первого кластера, графического символа второго кластера.
7. Способ по любому из пп. 1-6, в котором сервер дополнительно определяет первый размер шага сетки и второй размер шага сетки.
8. Способ по любому из пп. 1-6, в котором сервер, одновременно с получением с электронного устройства запроса на предоставление вида фрагмента карты, получает по меньшей мере одно из:
параметры веб-браузера, установленного на электронном устройстве, параметры операционной системы, установленной на электронном устройстве,
параметры видеокарты, установленной на электронном устройстве.
9. Способ по п. 8, в котором сервер определяет первый размер шага сетки и второй размер шага сетки с учетом по меньшей мере одного из:
параметра веб-браузера, установленного на электронном устройстве, параметра операционной системы, установленной на электронном устройстве,
параметра видеокарты, установленной на электронном устройстве.
10. Способ по любому из пп. 1-6, в котором каждый из:
кластер первого уровня и
кластер второго уровня
имеет позицию на фрагменте карты и в котором сервер определяет позицию кластера первого уровня в центре масс соответствующего подмножества точек интереса, объединенных в первый кластер в пределах соответствующей ячейки первой сетки, и определяет позицию кластера второго уровня в центре масс соответствующего множества объектов, объединенных во второй кластер в пределах соответствующей ячейки второй сетки.
11. Способ по п. 10, в котором центр масс определяют математически.
12. Способ по любому из пп. 1-6, в котором
замещение подмножеств точек интереса в ячейках первой сетки осуществляют последовательно, ячейка за ячейкой из множества ячеек первой сетки, и точка интереса, расположенная на границе по меньшей мере двух ячеек первой сетки, может использоваться при генерации только одного кластера первого уровня, и
замещение множеств объектов в ячейках второй сетки осуществляют последовательно, ячейка за ячейкой из множества ячеек второй сетки, и объект, расположенный на границе по меньшей мере двух ячеек второй сетки, может использоваться при генерации только одного кластера второго уровня.
13. Способ по любому из пп. 1-6, в котором запрос на предоставление вида фрагмента карты является поисковым запросом по сервису карт.
14. Сервер, включающий в себя процессор, в котором конфигурация процессора настроена таким образом, чтобы сервер мог осуществлять:
получение с электронного устройства запроса на предоставление вида фрагмента карты;
получение множества точек интереса, которые потенциально могут быть показаны на указанном фрагменте карты, причем каждая из точек интереса имеет позицию на фрагменте карты;
размещение на фрагменте карты первой сетки, состоящей из первого множества ячеек первой сетки, образованных множеством пересекающихся линий первой сетки, первая сетка имеет первый размер шага сетки, первая сетка имеет опорную точку, причем опорная точка совпадает с точкой пересечения двух пересекающихся линий первой сетки из множества пересекающихся линий первой сетки;
генерирование множества кластеров первого уровня путем замещения, в ячейках первой сетки, соответствующего подмножества точек интереса, расположенных в пределах соответствующей ячейки первой сетки, на кластер первого уровня;
размещение на фрагменте карты второй сетки, состоящей из второго множества ячеек второй сетки, образованных множеством пересекающихся линий второй сетки, вторая сетка имеет второй размер шага сетки, второй размер шага сетки превышает первый размер шага сетки, первый размер шага сетки и второй размер шага сетки имеют значения взаимно простых чисел, причем одна точка пересечения двух пересекающихся линий второй сетки из множества пересекающихся линий второй сетки совпадает с опорной точкой первой сетки;
генерирование множества кластеров второго уровня путем замещения, в каждой ячейке второй сетки, соответствующего множества объектов, расположенных в пределах соответствующей ячейки второй сетки, на кластер второго уровня, причем объектом из соответствующего множества объектов может быть любое из: необъединенная точка интереса и кластер первого уровня;
генерирование вида фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня.
15. Сервер по п. 14, в котором конфигурация процессора настроена таким образом, чтобы сервер мог осуществлять генерирование вида фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня и по меньшей мере одним объектом.
16. Сервер по п. 14, выполненный с возможностью передачи на электронное устройство вида фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня.
17. Сервер по п. 15, выполненный с возможностью передачи на электронное устройство вида фрагмента карты с отмеченным на нем по меньшей мере одним кластером второго уровня и по меньшей мере одним объектом.
18. Сервер по любому из пп. 14-17, в котором конфигурация процессора настроена таким образом, чтобы сервер дополнительно мог осуществлять определение первого размера шага сетки и второго размера шага сетки.
19. Сервер по любому из пп. 14-17, в котором конфигурация процессора настроена таким образом, чтобы сервер мог одновременно с получением с электронного устройства запроса на предоставление вида фрагмента карты получать по меньшей мере одно из:
параметры веб-браузера, установленного на электронном устройстве, параметры операционной системы, установленной на электронном устройстве,
параметры видеокарты, установленной на электронном устройстве.
20. Сервер по п. 19, в котором конфигурация процессора настроена таким образом, чтобы сервер мог определять первый размер шага сетки и второй размер шага сетки с учетом по меньшей мере одного из:
параметра веб-браузера, установленного на электронном устройстве,
параметра операционной системы, установленной на электронном устройстве,
параметра видеокарты, установленной на электронном устройстве.
21. Сервер по любому из пп. 14-17, в котором конфигурация процессора настроена таким образом, чтобы сервер мог:
определять позицию кластера первого уровня в центре масс соответствующего подмножества точек интереса, объединенных в первый кластер в пределах соответствующей ячейки первой сетки, и определять позицию кластера второго уровня в центре масс соответствующего множества объектов, объединенных во второй кластер в пределах соответствующей ячейки второй сетки.
22. Сервер по п. 21, в котором конфигурация процессора настроена таким образом, чтобы сервер мог определять центр масс математически.
23. Сервер по любому из пп. 14-17, в котором запрос на предоставление вида фрагмента карты является поисковым запросом по сервису карт.
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
Авторы
Даты
2017-03-01—Публикация
2015-03-31—Подача