СПОСОБ И СЕРВЕР ДЛЯ КЛАСТЕРИЗАЦИИ ОБЛАСТЕЙ КАРТЫ ЦИФРОВОГО ИЗОБРАЖЕНИЯ
METHOD AND SERVER FOR CLUSTERIZING MAP AREAS OF DIGITAL IMAGE

Область техники
[01] Описанные здесь способы и системы относятся к обработке цифровых изображений.
Уровень техники
[02] Пользователи геоинформационных сервисов могут быть заинтересованы в просмотре популярных точек интереса (POI). Например, некоторые пользователи могут хотеть увидеть на карте конкретный памятник и/или реку и/или статую. Тем не менее, в некоторых случаях, другие пользователи могут хотеть просмотреть на карте области интереса (AOI), в которых сгруппировано несколько различных точек интереса. Действительно, зная где расположены все области интереса на карте, пользователь может получить более наглядную информацию о том, какую область на карте стоит посетить, чтобы увидеть максимальное количество точек интереса за ограниченный период времени. Следовательно, в геоинформационных сервисах существует несколько известных задач, связанных с кластеризацией картографических данных, например задача кластеризации точек интереса в области интереса.
[03] Обычный подход к кластеризации точек интереса включает в себя применение сетки к карте и агрегацию точек интереса, которые расположены в каждой ячейке сетки, в кластер точек интереса. Проблемы при этом подходе возникают при ошибочной кластеризации точек интереса, связанных с общей областью интереса, в различные кластеры точек интереса. Обычная кластеризация может привести к тому, что кластеры будут отличаться от «фактических кластеров» (т.е. фактических областей интереса), если две близко расположенных точки интереса расположены в соседних ячейках сетки. В этом случае, несмотря на то, что две точки интереса расположены близко друг к другу, они в итоге могут оказаться агрегированными в два различных кластера точек интереса.
[04] Для решения этой проблемы обычно к карте применяется новая сетка с 50% смещением по отношению к оригинальной сетке, создаются новые кластеры, которые далее сравниваются с кластерами, связанными с оригинальной сеткой. Подобный подход приводит к необходимости сохранять данные в отношении первой сетки, а также координаты каждой области карты и данные в отношении второй сетки, что в обычном случае требует в два раза больше памяти и нагружает вычислительные мощности компьютера - из-за необходимости обрабатывать две сетки.
Раскрытие
[05] Задачей настоящего технического решения является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники.
[06] Варианты осуществления настоящего технического решения были разработаны на основе желания изобретателей снизить объем памяти и вычислительные мощности компьютера, которые необходимы для обработки картографических сеток на текущем уровне техники. Без установления каких-либо ограничений или рамок конкретной теории, настоящее техническое решение, по меньшей мере в некоторых вариантах своего осуществления, позволяет кластеризовать точки интереса на карте без вычисления и/или обработки и/или создания нескольких сеток для определения областей интереса на карте для пользователя, который желает просмотреть области интереса.
[07] В некоторых вариантах осуществления настоящего технического решения, предлагается способ кластеризации областей на карте, в котором картографические данные представляют собой цифровое изображение. Способ выполняется на сервере и включает в себя сегментирование цифрового изображения на картографические области, каждая из которых обладает конкретной позицией на цифровом изображении. Каждая позиция определяется первой координатой и второй координатой, причем первая и вторая координата являются соответственно первой и второй строкой кодов Грея. Способ также включает в себя вычисление сервером уникальной последовательности битов для каждой области карты на основе первой и второй координаты соответствующей позиции в каждой области карты. Вычисление включает в себя конкатенацию через одного сервером битов в первой строке кодов Грея каждой области карты с битами во второй строке кодов Грея каждой области карты. Способ также включает в себя определение сервером кластера первого поколения для областей карты на основе соответствующей уникальной последовательности битов для каждой области карты и заранее определенного значения размера. Заранее определенное значение размера указывает на число областей карты, которое будет включено в кластер первого поколения. Определение кластера первого поколения включает в себя применение сервером первой маски к каждой уникальной последовательности битов. Первая маска основывается на заранее определенном значении размера. Определение кластера первого поколения также включает в себя идентификацию сервером уникальной последовательности битов для каждой области карты, которая будет включена в кластер первого поколения. Способ также включает в себя определение сервером кластера второго поколения для областей карты на основе соответствующей уникальной последовательности битов для каждой области карты в кластере первого поколения заранее определенного значения размера и заранее определенного значения смещения. Определение кластера второго поколения включает в себя применение сервером второй маски к уникальной последовательности битов из каждой области карты в кластере первого поколения. Вторая маска основывается на заранее определенном значении размера и заранее определенном значении смещения. Применение второй маски включает в себя, для каждой области карты в кластере первого поколения: (i) деконкатенацию через одного сервером уникальной последовательности битов на соответствующие первую и вторую координаты; (ii) перевод сервером первой координаты и второй координаты в первую и вторую строку двоичных значений соответственно; (iii) вычисление сервером первой модифицированной и второй модифицированной строки двоичных значений на основе первой и второй строк двоичных значений и заранее определенного значения размера и заранее определенного значения смещения; (iv) перевод сервером первой модифицированной строки и второй модифицированной строки двоичных значений в первую модифицированную строку и вторую модифицированную строку кодов Грея соответственно; (v) конкатенацию через одного сервером битов в первой модифицированной строке кодов Грея и битов во второй модифицированной строке кодов Грея. Конкатенация через одного включает в себя идентификацию сервером уникальной последовательности битов, связанных с соответствующими областями карты, которые будут включены в кластер второго поколения.
[08] В некоторых вариантах осуществления, способ дополнительно включает в себя определение сервером количества битов в первой и второй строке битов на основе числа областей карты в цифровом изображении.
[09] В некоторых вариантах осуществления способа, число областей на карте является четным числом.
[10] В некоторых вариантах осуществления способа, число областей на карте, которые будут включены в кластер первого поколения, является четным числом.
[11] В некоторых вариантах осуществления способа, применение первой маски включает в себя идентификацию сервером постоянной последовательности битов и переменной последовательности битов в уникальной последовательности битов каждой области карты на основе заранее определенного значения размера. Применение первой маски также включает в себя идентификацию сервером уникальной последовательности битов для каждой области карты, которая будет включена в кластер первого поколения. Уникальные последовательности битов в областях карты, которые будут включены в кластер первого поколения, обладают одинаковыми постоянными последовательностями битов и различными переменными последовательностями битов.
[12] В некоторых вариантах осуществления, способ дополнительно включает в себя сохранение сервером связи между уникальной последовательностью битов для каждой области карты, которые будут включены в кластер первого поколения, и кластером первого поколения.
[13] В некоторых вариантах осуществления, способ дополнительно включает в себя сохранение сервером связи между уникальной последовательностью битов для каждой области карты, которые будут включены в кластер второго поколения, и кластером второго поколения.
[14] В некоторых вариантах осуществления способа, он дополнительно включает в себя: получение сервером первого набора данных и второго набора данных. Первый набор данных связан с первой точкой интереса и включает в себя картографические координаты первой точки интереса. Второй набор данных связан со второй точкой интереса и включает в себя картографические координаты второй точки интереса. Способ дополнительно включает в себя, если картографические координаты первой точки интереса и второй точки интереса включены в позицию любой области карты в кластере первого поколения, связывание первой точки интереса и второй точки интереса с общей областью интереса.
[15] В некоторых вариантах осуществления, способ дополнительно включает в себя, если картографические координаты первой точки интереса включены в позицию любой области карты в кластере первого поколения, и если картографические координаты второй точки интереса включены в позицию любой области карты в соответствующем кластере второго поколения, связывание первой точки интереса и второй точки интереса с общей областью интереса.
[16] В некоторых вариантах осуществления, способ дополнительно включает в себя размещение сервером первой точки интереса и второй точки интереса на цифровом изображении на основе картографических координат первой точки интереса и второй точки интереса соответственно. Способ дополнительно включает в себя размещение сервером общей области интереса на цифровом изображении на основе картографических координат первой точки интереса и второй точки интереса. Способ дополнительно включает в себя, в ответ на указание на то, что пользователь клиентского устройства желает увидеть цифровое изображение, инициирование сервером отображения цифрового изображения на клиентском устройстве. Цифровое изображение включает в себя первую точку интереса, вторую точку интереса и общую область интереса.
[17] В некоторых вариантах осуществления способа, сегментирование цифрового изображения на области карты включает в себя выполнение сервером процедуры сегментирования и процедуры идентификации позиции.
[18] В некоторых вариантах осуществления способа, кластер первого поколения и кластер второго поколения включают в себя одинаковое число областей карты.
[19] В некоторых вариантах осуществления настоящего технического решения, предлагается сервер для кластеризации областей на карте, в котором картографические данные представляют собой цифровое изображение. Сервер выполнен с возможностью осуществлять сегментирование цифрового изображения на картографические области, каждая из которых обладает конкретной позицией на цифровом изображении. Каждая позиция определяется первой координатой и второй координатой. Первая и вторая координата являются соответственно первой и второй строкой кодов Грея. Сервер выполнен с возможностью осуществлять вычисление уникальной последовательности битов для каждой области карты на основе первой и второй координаты соответствующей позиции в каждой области карты. Для вычисления уникальной последовательности битов для каждой области карты, сервер выполнен с возможностью осуществлять конкатенацию через одного битов в первой строке кодов Грея каждой области карты с битами во второй строке кодов Грея каждой области карты. Сервер выполнен с возможностью осуществлять определение сервером кластера первого поколения для областей карты на основе соответствующей уникальной последовательности битов для каждой области карты и заранее определенного значения размера. Заранее определенное значение размера указывает на число областей карты, которое будет включено в кластер первого поколения. Для определения кластера первой генерации сервер выполнен с возможностью осуществлять применение первой маски для каждой уникальной последовательности битов. Первая маска основывается на заранее определенном значении размера. Для определения кластера первого поколения сервер выполнен с возможностью осуществлять идентификацию уникальной последовательности битов для каждой области карты, которая будет включена в кластер первого поколения. Сервер выполнен с возможностью осуществлять определение сервером кластера второго поколения для областей карты на основе соответствующей уникальной последовательности битов для каждой области карты в кластере первого поколения, заранее определенного значения размера и заранее определенного значения смещения. Для определения кластера второго поколения сервер выполнен с возможностью осуществлять применение второй маски к уникальной последовательности битов из каждой области карты в кластере первого поколения. Вторая маска основывается на заранее определенном значении размера и заранее определенном значении смещения Для применения второй маски сервер выполнен с возможностью осуществлять, для каждой области карты в кластере первого поколения: (i) деконкатенацию через одного уникальной последовательности битов на соответствующие первую и вторую координаты; (ii) перевод первой координаты и второй координаты в первую и вторую строку двоичных значений соответственно; (iii) вычисление первой модифицированной и второй модифицированной строки двоичных значений на основе первой и второй строк двоичных значений и заранее определенного значения размера и заранее определенного значения смещения; (iv) перевод первой модифицированной строки и второй модифицированной строки двоичных значений в первую модифицированную строку и вторую модифицированную строку кодов Грея соответственно; (v) конкатенацию через одного битов в первой модифицированной строке кодов Грея и битов во второй модифицированной строке кодов Грея. Для конкатенации через одного сервер выполнен с возможностью осуществлять идентификацию уникальной последовательности битов, связанных с соответствующими областями карты, которые будут включены в кластер второго поколения.
[20] В некоторых вариантах осуществления, сервер дополнительно выполнен с возможностью осуществлять определение количества битов в первой и второй строке битов на основе числа областей карты в цифровом изображении.
[21] В некоторых вариантах осуществления сервера, число областей на карте является четным числом.
[22] В некоторых вариантах осуществления сервера, число областей на карте, которые будут включены в кластер первого поколения, является четным числом.
[23] В некоторых вариантах осуществления сервера, для применения первой маски сервер выполнен с возможностью осуществлять идентификацию постоянной последовательности битов и переменной последовательности битов в уникальной последовательности битов каждой области карты на основе заранее определенного значения размера. Сервер также выполнен с возможностью осуществлять идентификацию уникальной последовательности битов для каждой области карты, которая будет включена в кластер первого поколения. Уникальные последовательности битов в областях карты, которые будут включены в кластер первого поколения, обладают одинаковыми постоянными последовательностями битов и различными переменными последовательностями битов.
[24] В некоторых вариантах осуществления, сервер дополнительно выполнен с возможностью осуществлять сохранение сервером связи между уникальной последовательностью битов для каждой области карты, которые будут включены в кластер первого поколения, и кластером первого поколения.
[25] В некоторых вариантах осуществления, сервер дополнительно выполнен с возможностью осуществлять сохранение связи между уникальной последовательностью битов для каждой области карты, которые будут включены в кластер второго поколения, и кластером второго поколения.
[26] В некоторых вариантах осуществления, сервер дополнительно выполнен с возможностью осуществлять получение первого набора данных и второго набора данных. Первый набор данных связан с первой точкой интереса и включает в себя картографические координаты первой точки интереса. Второй набор данных связан со второй точкой интереса и включает в себя координаты второй точки интереса. Сервер дополнительно выполнен с возможностью осуществлять, если картографические координаты первой точки интереса и второй точки интереса включены в позицию любой области карты в кластере первого поколения, связывание первой точки интереса и второй точки интереса с общей областью интереса.
[27] В некоторых вариантах осуществления, сервер дополнительно выполнен с возможностью осуществлять, если картографические координаты первой точки интереса включены в позицию любой области карты в кластере первого поколения, и если картографические координаты второй точки интереса включены в позицию любой области карты в соответствующем кластере второго поколения, связывание первой точки интереса и второй точки интереса с общей областью интереса.
[28] В некоторых вариантах осуществления, сервер дополнительно выполнен с возможностью осуществлять размещение первой точки интереса и второй точки интереса на цифровом изображении на основе картографических координат первой точки интереса и второй точки интереса соответственно. Сервер дополнительно выполнен с возможностью осуществлять размещение общей области интереса на цифровом изображении на основе картографических координат первой точки интереса и второй точки интереса. Сервер дополнительно выполнен с возможностью осуществлять, в ответ на указание на то, что пользователь клиентского устройства желает увидеть цифровое изображение, инициирование отображения цифрового изображения на клиентском устройстве, цифровое изображение включает в себя первую точку интереса, вторую точку интереса и общую область интереса.
[29] В некоторых вариантах осуществления сервера, для сегментирования цифрового изображения на области карты сервер выполнен с возможностью осуществлять выполнение процедуры сегментирования и процедуры идентификации позиции.
[30] В некоторых вариантах осуществления сервера, кластер первого поколения и кластер второго поколения включают в себя одинаковое число областей карты.
[31] В контексте настоящего описания, если конкретно не указано иное, «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для настоящего технического решения. В контексте настоящего технического решения использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».
[32] В контексте настоящего описания, если конкретно не указано иное, "клиентское устройство" подразумевает под собой аппаратное обеспечение, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Примерами клиентских устройств, среди прочего, являются персональные компьютеры (настольные компьютеры, ноутбуки и т.д.), смартфоны и планшеты. Следует иметь в виду, что устройство, ведущее себя как клиентское устройство в настоящем контексте, может вести себя как сервер по отношению к другим клиентским устройствам. Использование выражения «клиентское устройство» не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного способа.
[33] В контексте настоящего описания, если конкретно не указано иное, термин «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, который сохраняет или использует информацию, хранящуюся в базе данных, или же она может находиться на отдельном оборудовании, например выделенном сервере или множестве серверов.
[34] В контексте настоящего описания, если конкретно не указано иное, термин «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).
[35] В контексте настоящего описания, если конкретно не указано иное, термин «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
[36] В контексте настоящего описания, если конкретно не указано иное, термин «интерактивный» подразумевает под собой, что нечто (или по меньшей мере его часть) может реагировать на пользовательский ввод.
[37] В контексте настоящего описания, если четко не указано иное, «указание» информационного элемента может представлять собой сам информационный элемент или указатель, отсылку, ссылку или другой косвенный способ, позволяющий получателю указания найти сеть, память, базу данных или другой машиночитаемый носитель, из которого может быть извлечен информационный элемент. Например, указание на файл может включать в себя сам файл (т.е. его содержимое), или же оно может являться уникальным дескриптором файла, идентифицирующим файл по отношению к конкретной файловой системе, или каким-то другими средствами передавать получателю указание на сетевую папку, адрес памяти, таблицу в базе данных или другое место, в котором можно получить доступ к файлу. Как будет понятно специалистам в данной области техники, степень точности, необходимая для такого указания, зависит от степени первичного понимания того, как должна быть интерпретирована информация, которой обмениваются получатель и отправитель указателя. Например, если до установления связи между отправителем и получателем понятно, что указатель информационного элемента принимает вид ключа базы данных для записи в конкретной таблице заранее установленной базы данных, содержащей информационный элемент, то передача ключа базы данных - это все, что необходимо для эффективной передачи информационного элемента получателю, несмотря на то, что сам по себе информационный элемент не передавался между отправителем и получателем указания. Каждый вариант осуществления настоящего технического решения преследует по меньшей мере одну из вышеупомянутых целей и/или объектов. Следует иметь в виду, что некоторые объекты настоящего технического решения, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять и другим целям, отдельно не указанным здесь.
[38] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
Краткое описание чертежей
[39] Для лучшего понимания настоящего технического решения, а также других его аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:
[40] на Фиг. 1 представлена принципиальная схема системы для кластеризации областей карты из картографических данных, выполненной в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.
[41] На Фиг. 2 представлена принципиальная схема обработки картографических данных сервером, показанным на Фиг. 1.
[42] На Фиг. 3 представлено первое цифровое изображение, а также принципиальная схема обработки первого цифрового изображения, в соответствии с некоторыми неограничивающими вариантами осуществления настоящего технического решения, модулем сегментирования, показанном на Фиг. 1.
[43] На Фиг. 4 представлено второе цифровое изображение, а также принципиальная схема обработки второго цифрового изображения, в соответствии с некоторыми неограничивающими вариантами осуществления настоящего технического решения, модулем сегментирования, показанном на Фиг. 1.
[44] На Фиг. 5 представлены данные об областях карты в пакете данных об областях карты, показанном на Фиг. 2, которые связывают каждую область карты второго цифрового изображения с соответствующей уникальной последовательностью битов.
[45] На Фиг. 6 представлены данные кластера первого поколения в пакете данных кластера первого поколения, показанного на Фиг. 2, которые связывают каждую область карты второго цифрового изображения с соответствующей уникальной последовательностью битов, а также каждую уникальную последовательность битов с одним из кластеров первого поколения.
[46] На Фиг. 7 представлено визуальное представление кластеров первого поколения и соответствующих кластеров второго поколения второго изображения, показанного на Фиг. 4.
[47] На Фиг. 8 представлены данные кластера второго поколения в пакете данных кластера второго поколения, показанного на Фиг. 2, которые связывают каждую область карты второго цифрового изображения с соответствующей уникальной последовательностью битов, а также каждую уникальную последовательность битов с одним из кластеров первого поколения и соответствующим кластером второго поколения.
[48] На Фиг. 9 представлена первая точка интереса, вторая точка интереса и общая область на втором цифровом изображении, показанном на Фиг. 4, в соответствии с некоторыми неограничивающими вариантами осуществления настоящего технического решения.
[49] На Фиг. 10 представлена первая точка интереса, вторая точка интереса и общая область на втором цифровом изображении, показанном на Фиг. 4, в соответствии с некоторыми другими неограничивающими вариантами осуществления настоящего технического решения.
[50] На Фиг. 11 представлена блок-схема способа кластеризации областей карты из картографических данных, в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.
Осуществление
[51] На Фиг. 1 представлена принципиальная схема системы 100, которая функционально соединена через сеть 110, как показано в некоторых вариантах осуществления настоящего технического решения. Важно иметь в виду, что нижеследующее описание системы 100 представляет собой описание иллюстративных вариантов осуществления настоящего технического решения. Таким образом, следующее описание должно рассматриваться только как описание иллюстративного варианта осуществления настоящего технического решения. Это описание не предназначено для определения объема или установления границ настоящего технического решения. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящего технического решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, те случаи, в которых не были представлены примеры модификаций, не должны интерпретироваться как то, что никакие модификации невозможны, и/или что то, что было описано, является единственным вариантом осуществления этого элемента настоящего технического решения. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящего технического решения, и в подобных случаях представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящего технического решения будут обладать гораздо большей сложностью.
[52] В некоторых вариантах осуществления настоящего технического решения, система 100 может включать в себя клиентское устройство 102, связанное с пользователем 104, сервер 106, базу 108 данных и картографические сервисы 112, все вышеперечисленное будет далее описано более подробно с использованием некоторых примерных вариантов осуществления настоящего технического решения. Как представлено на Фиг. 1, клиентское устройство 102, сервер 106 и картографические сервисы 112 функционально соединены через сеть 110. В других вариантах осуществления настоящего технического решения, картографические сервисы 112 могут быть соединены напрямую с сервером 106, не выходя за границы настоящего технического решения.
[53] Реализация соединения через сеть 110 никак конкретно не ограничена и будет зависеть от того, какие устройства подключены к сети 110. В качестве неограничивающего примера, соединение сервера 106 с сетью 110 может быть выполнено с помощью проводного соединения (например, соединение на основе сети Ethernet). В то же время другие устройства могут быть соединены другим способом. В тех примерах, где клиентское устройство 102 представляет собой беспроводное устройство связи (например, смартфон), соединение представляет собой беспроводную сеть передачи данных (например, среди прочего, линию передачи данных 3G, линию передачи данных 4G, беспроводной интернет Wireless Fidelity или коротко WiFi, Bluetooth и т.п.). В тех примерах, где клиентское устройство 102 представляет собой стационарный компьютер, линия передачи данных может быть как беспроводной так и проводной (соединение на основе сети Ethernet).
[54] Как было упомянуто ранее, система 100 может включать в себя сервер 106. Сервер 106 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящего технического решения, сервер 106 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 106 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящего технического решения, не ограничивающем его объем, сервер 106 является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих его объем, функциональность сервера 106 может быть разделена, и может выполняться с помощью нескольких серверов. В некоторых вариантах осуществления настоящего технического решения, сервер 106 может быть выполнен с возможностью сохранять машиночитаемые инструкции, и их использование упрощает достижение и/или выполнение некоторых или всех функциональностей настоящего технического решения.
[55] Варианты осуществления сервера 106 хорошо известны в данной области техники. Таким образом, достаточно отметить, что сервер 106 может включать в себя, среди прочего, интерфейс сетевой связи (например, модем, сетевую карту и тому подобное) для двусторонней связи по сети 110; и процессор (не изображен), соединенный с интерфейсом сетевой связи, который выполнен с возможностью выполнять различные процедуры, включая те, что описаны ниже. С этой целью, процессор может сохранять и/или обладать доступом к машиночитаемым инструкциям, которые упоминались ранее.
[56] Как показано на Фиг. 1, база 108 данных функционально соединена с сервером 106, но, в альтернативных вариантах осуществления настоящего технического решения, база 108 данных может быть функционально соединена с сервером 106 через сеть 110, не выходя за пределы настоящего технического решения. Несмотря на то что база 108 данных представлена здесь схематически как одиночный элемент, подразумевается, что база 108 данных может быть реализована в распределенном виде, например, база 108 данных может обладать различными компонентами, каждый компонент выполнен под конкретный тип извлечения или хранения. База 108 данных может представлять собой любой структурированный набор данных, не зависящий от конкретной структуры или аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом становятся доступны для использования. База 108 данных может находиться на том же оборудовании, что выполняет процесс, который сохраняет или использует информацию, хранящуюся в базе 108 данных, или же она может находиться на отдельном оборудовании, например сервере 106. В общем случае, база 108 данных может получать данные от сервера 106 для их сохранения и может предоставлять сохраненные данные серверу 106 для их использования.
[57] Как показано на Фиг. 1, клиентское устройство 102 связано с пользователем 104. Тем не менее клиентское устройство 102, которое связано с пользователем 104, не обязательно требует от пользователя 104 входа в систему. Варианты аппаратного осуществления клиентского устройства 102 никак конкретно не ограничены. Клиентское устройство 102 может, например, без установления ограничений, представлять собой настольный компьютер, ноутбук, смартфон (например, Apple iPhone™ or a Samsung Galaxy S5™), персональный цифровой органайзер (PDA) или другое устройство, включающее в себя функциональность вычисления и возможности передачи данных. Клиентское устройство 102 может включать в себя, среди прочего, внутренние аппаратные компоненты, включая один или несколько одно - или мультиядерных процессоров, которые коллективно представлены здесь как процессор (не показан), ОЗУ (не показано), сетевой интерфейс (не показано) для коммуникативной связи и сетью 110.
[58] В некоторых вариантах осуществления настоящего технического решения, клиентское устройство 102 может быть выполнено с возможностью выполнять браузерное приложение (не показано). В общем случае, задачей браузерного приложения является предоставление пользователю 104, связанному с клиентским устройством 102, доступа к одному или нескольким веб-ресурсам. Реализация браузерного приложения никак конкретно не ограничена. Например, браузерное приложение 104 может быть реализовано как Яндекс™ браузер. В неограничивающих вариантах осуществления настоящего технического решения, один или несколько ресурсов, к которым пользователь 104 получает доступ, могут быть расположены на сервере 106. Например, в ответ на то, что пользователь 104 желает получить доступ к одному или нескольким ресурсам, расположенным на сервере 106, через браузерное приложение, клиентское устройство 102 может быть выполнено с возможностью передавать запрос 150 серверу 106 через сеть 110. В ответ на получение запроса 150, сервер 106 может быть выполнен с возможностью создавать и передавать пакет 160 клиентских данных клиентскому устройству 102 через сеть 110. Запрос 150 и пакет 160 клиентских данных, а также их содержимое, будут подробнее описаны далее. В других вариантах осуществления настоящего технического решения, один или несколько ресурсов, к которым пользователь 104 получает доступ, могут локально храниться на клиентском устройстве 102.
[59] Система 100 может включать в себя картографические сервисы 112. Как было упомянуто ранее, картографические сервисы могут быть функционально соединены с сервером 106 напрямую и/или через сеть 110. В дополнительных вариантах осуществления настоящего технического решения, на сервере 106 могут быть расположены картографические сервисы 112. В общем случае, картографические сервисы 112 могут быть выполнены с возможностью предоставлять картографические данные клиентскому устройству 102 и/или серверу 106 для дальнейшей обработки. Например, картографические сервисы 112 могут быть выполнены с возможностью создавать пакет 170 картографических данных, содержащий картографические данные, и передавать пакет 170 картографических данных серверу 106.
[60] Картографические сервисы 112 могут быть выполнены с возможностью создавать пакет 170 картографических данных, содержащий картографические данные, и передавать пакет 170 картографических данных серверу 106 в ответ на запрос (не показано) от сервера 106. В других вариантах осуществления настоящего технического решения, картографические сервисы 112 могут быть выполнены с возможностью создавать пакет 170 картографических данных, содержащий картографические данные, и передавать пакет 170 картографических данных серверу 106 без запроса от сервера 106.
[61] Картографические данные могут представлять собой цифровое изображение, например карту физической области. В некоторых вариантах осуществления настоящего технического решения, картографические данные также могут содержать первый набор данных, связанный с первой точкой интереса (POI), и второй набор данных, связанный со второй точкой интереса (POI). В общем случае, данная точка интереса представляет собой данную позицию на карте, которую пользователи картографических сервисов 112 могут счесть полезной или интересной. Например, данная точка интереса может представлять собой город, мегаполис, деревню, строение, дорогу, железную дорогу, озеро, реку, лесной массив, памятник, гору и так далее. Первый набор данных может включать в себя картографические координаты первой точки интереса на карте и дополнительные данные, связанные с первой точкой интереса. Второй набор данных может включать в себя картографические координаты второй точки интереса на карте (т.е. цифровом изображении) и дополнительные данные, связанные со второй точкой интереса. Дополнительные данные, связанные с первой точкой интереса и второй точкой интереса, могут относиться к описанию соответствующей первой точки интереса и второй точки интереса, фотографиям соответствующей первой точки интереса и второй точки интереса и/или любой другой информации о соответствующей первой точке интереса и второй точке интереса, которая может быть полезна пользователю 104.
[62] В данной области техники известно, что некоторые точки интереса при совместной кластеризации могут представлять собой область интереса для пользователя 104. Например, парк может включать в себя набор точек интереса, например реку, памятник и дорогу. В результате, пользователь 104 может быть заинтересован в просмотре указания на данную область интереса, включающую данный набор точек интереса на карте (т.е. цифровом изображении).
[63] В некоторых вариантах осуществления настоящего технического решения, сервер 106 может быть выполнен с возможностью сохранять картографические данные, содержащиеся в пакете 170 картографических данных в базе 108 данных при получении пакета 170 картографических данных.
[64] Сервер 106 может быть выполнен с возможностью получать пакет 170 картографических данных для обработки картографических данных. Для обработки картографических данных, сервер 106 может быть выполнен с возможностью выполнять операцию 120 сегментирования, операцию 130 первой обработки и операцию 140 второй обработки, как показано на Фиг. 2.
[65] На Фиг. 2 представлена принципиальная схема обработки картографических данных сервером 106, а также взаимодействия между операцией 120 сегментирования, операцией 130 первой обработки и операцией 140 второй обработки, которые применяются при обработке картографических данных сервером 106.
[66] В общем случае, операция 120 сегментирования может осуществлять, для обработки картографических данных: (i) сегментирование координат цифрового изображения на области карты и (ii) вычисление уникальной последовательности битов для каждой области карты. Для выполнения операции 120 сегментирования, сервер 106 может быть выполнен с возможностью получать пакет 170 картографических данных и данные 202 сегментирования. Данные 202 сегментирования могут указывать на число областей карты, которое будет включено в цифровое изображение. В некоторых вариантах осуществления настоящего технического решения, число областей карты может представлять собой четное число. Число областей карты, которые будут включены в цифровое изображение, может представлять собой заранее определенное значение, хранящееся на сервере 106.
[67] Для целей описания предполагается, что цифровое изображение в картографических данных является первым цифровым изображением 300, представленным на Фиг. 3, и что число областей карты, которые будут включены в первое цифровое изображение 300, составляет 16. Таким образом, операция 120 сегментирования может выполнять процедуру 302 сегментирования таким образом, что координаты первого цифрового изображения 300 делятся поровну на 16 областей карты, как показано на Фиг. 3.
[68] Данные 202 сегментирования могут позволить определить уровень дробления при процедуре 302 сегментирования. Например, уровень дробления процедуры 302 сегментирования может быть выше, если число областей карты, которые будут включены в первое цифровое изображение 300, является большим числом. Аналогично, уровень дробления процедуры 302 сегментирования может быть ниже, если число областей карты, которые будут включены в первое цифровое изображение 300, является небольшим числом. В некоторых вариантах осуществления настоящего технического решения, число областей карты, которые будут включены в первое цифровое изображение 300, может быть заранее определено на основе числа вычислительных ресурсов, которые доступны серверу 106. На самом деле, более высокий уровень дробления при процедуре 302 сегментирования может потребовать больше вычислительных мощностей от сервера 106, чем более низкий уровень дробления при процедуре 302 сегментирования.
[69] Операция 120 сегментирования может быть выполнена с возможностью сегментировать координаты первого цифрового изображения 300 на области карты таким образом, что каждая область карты обладает соответствующей позицией на первом цифровом изображении 300. С этой целью, операция 120 сегментирования может выполнять процедуру 304 идентификации позиции для определения соответствующей позиции каждой области карты. Модуль 120 сегментирования может определять каждую позицию с помощью первой координаты и второй координаты.
[70] Для определения соответствующей позиции каждой области карты на первом цифровом изображении 300, операция 120 сегментирования может определять необходимое число двоичных значений для первой координаты и для второй координаты каждой позиции так, чтобы каждая область карты на первом цифровом изображении 300 обладала отдельной позицией. В этом случае, операция 120 сегментирования может определять, что каждая из первой координаты и второй координаты требует 2 бита, таким образом, каждая область карты на первом цифровом изображении 300 обладает отдельной позицией. Например, как показано на Фиг. 3, операция 120 сегментирования может определять, что первая координата и вторая координата верхней левой области карты на первом цифровом изображении 300 являются первой строкой двоичных значений [00] и второй строкой двоичных значений [00] соответственно. В качестве другого примера, как показано на Фиг. 3, операция 120 сегментирования может определять, что первая координата и вторая координата верхней правой области карты на первом цифровом изображении 300 являются первой строкой двоичных значений [00] и второй строкой двоичных значений [11] соответственно.
[71] Данная строка из двух битов может представлять собой четыре разных номера. Следовательно, в этом случае, операция 120 сегментирования может определять, что каждая из первой координаты и второй координаты требует 2 бита, поскольку представление 16 различных позиций на первом цифровом изображении 300 требует комбинации четырех отдельных первых координат и четырех отдельных вторых координат.
[72] В некоторых вариантах осуществления настоящего технического решения, операция 120 сегментирования может быть выполнена с возможностью переводить каждую строку двоичных значений в соответствующую строку кодов Грея. Как известно в данной области техники, код Грея является двоичной системой счисления, в которой два последовательных значения отличаются только на один бит. В Таблице 1 представлен перевод из строк двоичных значений, обладающих двумя битами, в строки кодов Грея, обладающих двумя битами.
[73] Например, как показано на Фиг. 3, операция 120 сегментирования может переводить, на основе алгоритма перевода битов, первую координату и вторую координату верхней левой области карты на первом цифровом изображении 300 в первую строку кодов Грея [00] и вторую строку кодов Грея [00] соответственно. В качестве другого примера, как показано на Фиг. 3, операция 120 сегментирования может переводить первую координату и вторую координату верхней правой области карты на первом цифровом изображении 300 в первую строку кодов Грея [00] и вторую строку кодов Грея [10] соответственно.
[74] В других вариантах осуществления настоящего технического решения, операция 120 сегментирования выполнена с возможностью осуществлять вычисление уникальной последовательности битов для каждой области карты на основе первой координаты и второй координаты соответствующей позиции в каждой области карты. С этой целью, операция 120 сегментирования может выполнять процедуру 306 формирования уникальной последовательности. Процедура 306 формирования уникальной последовательности может позволить назначить соответствующую уникальную последовательность бит каждой области карты для выполнения последующей обработки первого цифрового изображения 300 на основе соответствующих уникальных последовательностей битов вместо соответствующих первых координат и вторых координат каждой области карты на первом цифровом изображении 300.
[75] В альтернативных вариантах осуществления настоящего технического решения, для вычисления уникальной последовательности битов для каждой области карты, операция 120 сегментирования выполнена с возможностью осуществлять конкатенацию через одного битов в первой строке кодов Грея каждой области карты с битами во второй строке кодов Грея каждой области карты. Например, как показано на Фиг. 3, конкатенация через одного битов в первой строке кодов Грея верхней правой области карты (т.е. [00]) первого цифрового изображения 300 с битами второй строки кодов Грея верхней правой области карты (т.е. [10]) первого цифрового изображения 300 может привести к уникальной последовательности битов для правой верхней области первого цифрового изображения 300, являющейся [0100].
[76] В другом примере, как показано на Фиг. 3, конкатенация через одного битов в первой строке кодов Грея нижней левой области карты (т.е. [10]) первого цифрового изображения 300 с битами второй строки кодов Грея нижней левой области карты (т.е. [00]) первого цифрового изображения 300 может привести к уникальной последовательности битов для нижней левой области первого цифрового изображения 300, являющейся [1000].
[77] В еще одном примере, как показано на Фиг. 3, конкатенация через одного битов в первой строке кодов Грея нижней правой области карты (т.е. [10]) первого цифрового изображения 300 с битами второй строки кодов Грея нижней правой области карты (т.е. [10]) первого цифрового изображения 300 может привести к уникальной последовательности битов для нижней правой области первого цифрового изображения 300, являющейся [1010].
[78] Для целей описания предполагается, что цифровое изображение в картографических данных является вторым цифровым изображением 400, представленным на Фиг. 4, и что число областей карты, которые будут включены во второе цифровое изображение 400, составляет 64. Таким образом, операция 120 сегментирования может выполнять процедуру 402 сегментирования таким образом, что координаты второго цифрового изображения 400 делятся поровну на 64 области карты, как показано на Фиг. 4.
[79] В этом случае уровень дробления процедуры 402 сегментирования второго цифрового изображения 400 выше, чем уровень дробления процедуры 302 сегментирования первого цифрового изображения 300 (показано на Фиг. 3).
[80] Операция 120 сегментирования (показана на Фиг. 2) может быть выполнена с возможностью сегментировать второе цифровое изображение 400 на области карты таким образом, что каждая область карты обладает соответствующей позицией на втором цифровом изображении 400. С этой целью, операция 120 сегментирования может выполнять процедуру 404 идентификации позиции для определения соответствующей позиции каждой области карты. Операция 120 сегментирования может определять каждую позицию с помощью первой координаты и второй координаты.
[81] Для определения соответствующей позиции каждой области карты на втором цифровом изображении 400, операция 120 сегментирования может определять необходимое число двоичных значений для первой координаты и для второй координаты каждой позиции, так, чтобы каждая область карты на втором цифровом изображении 400 обладала отдельной позицией. В этом случае, операция 120 сегментирования может определять, что каждая из первой координаты и второй координаты требует 3 бита, таким образом, каждая область карты на втором цифровом изображении 400 обладает отдельной позицией. Например, как показано на Фиг. 4, операция 120 сегментирования может определять, что первая координата и вторая координата верхней левой области карты на втором цифровом изображении 400 являются первой строкой двоичных значений [000] и второй строкой двоичных значений [000] соответственно. В качестве другого примера, как показано на Фиг. 4, операция 120 сегментирования может определять, что первая координата и вторая координата верхней правой области карты на втором цифровом изображении 400 являются первой строкой двоичных значений [000] и второй строкой двоичных значений [111] соответственно.
[82] Как было описано ранее, модуль 120 сегментирования может быть выполнен с возможностью переводить каждую строку двоичных значений в соответствующую строку кодов Грея. В другом примере, в Таблице 2 ниже представлен перевод строк двоичных значений, обладающих тремя битами (вместо двух битов в предыдущем случае) в строки кодов Грея, обладающих тремя битами (вместо двух битов в предыдущем случае).
[83] Например, как показано на Фиг. 4, операция 120 сегментирования может переводить первую координату и вторую координату верхней правой области карты на втором цифровом изображении 400 в первую строку кодов Грея [000] и вторую строку кодов Грея [000] соответственно. В качестве другого примера, как показано на Фиг. 4, операция 120 сегментирования может переводить первую координату и вторую координату верхней правой области карты на втором цифровом изображении 400 в первую строку кодов Грея [000] и вторую строку кодов Грея [100] соответственно.
[84] В других вариантах осуществления настоящего технического решения, операция 120 сегментирования выполнена с возможностью осуществлять вычисление уникальной последовательности битов для каждой области карты на основе первой координаты и второй координаты соответствующей позиции в каждой области карты. С этой целью, операция 120 сегментирования может выполнять процедуру 406 формирования уникальной последовательности.
[85] В альтернативных вариантах осуществления настоящего технического решения, для вычисления уникальной последовательности битов для каждой области карты, операция 120 сегментирования выполнена с возможностью осуществлять конкатенацию через одного битов в первой строке кодов Грея каждой области карты с битами во второй строке кодов Грея каждой области карты. Например, как показано на Фиг. 4, конкатенация через одного битов в первой строке кодов Грея верхней правой области карты (т.е. [000]) второго цифрового изображения 400 с битами второй строки кодов Грея верхней правой области карты (т.е. [100]) второго цифрового изображения 400 может привести к уникальной последовательности битов для правой верхней области второго цифрового изображения 400, являющейся [010000].
[86] В другом примере, как показано на Фиг. 4, конкатенация через одного битов в первой строке кодов Грея нижней левой области карты (т.е. [100]) второго цифрового изображения 400 с битами второй строки кодов Грея нижней левой области карты (т.е. [000]) второго цифрового изображения 400 может привести к уникальной последовательности битов для нижней левой области второго цифрового изображения 400, являющейся [100000].
[87] В еще одном примере, как показано на Фиг. 4, конкатенация через одного битов в первой строке кодов Грея нижней правой области карты (т.е. [100]) второго цифрового изображения 400 с битами второй строки кодов Грея нижней правой области карты (т.е. [100]) второго цифрового изображения 400 может привести к уникальной последовательности битов для нижней правой области второго цифрового изображения 400, являющейся [110000].
[88] В некоторых вариантах осуществления настоящего технического решения, операция 120 сегментирования может быть выполнена с возможностью создавать пакет 204 данных области карты, показанный на Фиг. 2. Пакет 204 данных области карты может включать в себя данные 500 области карты (показано на Фиг. 5), которые связывают каждую область карты второго цифрового изображения, например, с соответствующей уникальной последовательностью битов. В дополнительном варианте осуществления настоящего технического решения, пакет 204 данных области карты может включать в себя соответствующую уникальную последовательно битов вместо информации, связанной с первой координатой и второй координатой каждой области карты.
[89] В других вариантах осуществления настоящего технического решения, операция 120 сегментирования может быть выполнена с возможностью передавать пакет 204 данных области карты базе 108 данных, показанной на Фиг. 1, для сохранения данных 500 области карты. В других вариантах осуществления настоящего технического решения, сервер 106 может быть выполнен с возможностью передавать пакет 204 данных области карты от операции 120 сегментирования на операцию 130 первой обработки для его последующей обработки.
[90] В общем случае, операция 130 первой обработки может быть выполнена с возможностью определять кластеры первого поколения областей карты цифрового изображения (например, второго цифрового изображения 400). С этой целью, операция 130 первой обработки может быть выполнена с возможностью получать заранее определенное значение 206 размера, показанное на Фиг. 2. Заранее определенное значение 206 размера может указывать на число областей карты, которое будет включено в каждый кластер первого поколения областей карты. В некоторых вариантах осуществления настоящего технического решения, для того, чтобы определить кластеры первого поколения, операция 130 первой обработки может быть выполнена с возможностью применять первую маску 220 к каждой уникальной последовательности битов в данных 500 области карты, как показано на Фиг. 5.
[91] Для применения первой маски 220, операция 130 первой обработки также может быть выполнена с возможностью осуществлять идентификацию постоянной последовательности битов и переменной последовательности битов в уникальной последовательности битов каждой области карты на основе заранее определенного значения 206 размера. Например, если заранее определенное значение 206 размера равно 4, операция 130 первой обработки может определять, что переменная последовательность битов в уникальной последовательности битов каждой области карты должна содержать только два последних бита уникальной последовательности битов. Действительно, для того, чтобы в каждом кластере первого поколения было 4 области карты, уникальная последовательность битов, связанная с соответствующими областями карты, которые будут включены в данный кластер первого поколения, должны обладать только последними двумя битами, отличающимися между собой. Все остальные биты в каждой соответствующей последовательности битов могут быть идентифицированы операцией 130 первой обработки как постоянная последовательность битов.
[92] В этом случае, операция 130 первой обработки может определять два последних бита каждой уникальной последовательности битов как соответствующую переменную последовательность битов, поскольку заранее определенное значение 206 размера равно 4, и требует два бита для представления четырех различных комбинаций битов.
[93] Для простоты описания предполагается, что уникальная последовательность битов - [100010] области 7 карты в данных 500 областей карты, как показано на Фиг. 5. В этом случае, постоянная последовательность битов рассматриваемой уникальной последовательности битов - [1000], а переменная последовательность битов рассматриваемой уникальной последовательности битов может быть - [10]. В другом примере предполагается, что уникальная последовательность битов - [110111] области 47 карты в данных 500 областей карты, как показано на Фиг. 5. В этом случае, постоянная последовательность битов рассматриваемой уникальной последовательности битов - [1101], а переменная последовательность битов рассматриваемой уникальной последовательности битов может быть - [11].
[94] В дополнительном примере, если заранее определенное значение 206 размера равно 16, модуль 130 первой обработки может определять, что переменная последовательность битов в уникальной последовательности битов каждой области карты должна содержать только четыре последних бита уникальной последовательности битов. Действительно, для того, чтобы в каждом кластере первого поколения было 16 области карты, уникальная последовательность битов, связанная с соответствующими областями карты, которые будут включены в данный кластер первого поколения, должны обладать только последними четырьмя битами, отличающимися между собой. Все остальные биты в каждой соответствующей последовательности битов могут быть идентифицированы модулем 130 первой обработки как постоянная последовательность битов.
[95] В этом примере, операция 130 первой обработки может определять четыре последних бита каждой уникальной последовательности битов как соответствующую переменную последовательность битов, поскольку заранее определенное значение 206 размера равно 16, и требует четыре бита для представления 16 различных комбинаций битов.
[96] В этом случае, когда заранее определенное значение 206 размера равно 16, постоянная последовательность битов уникальной последовательности битов области 7 карты может представлять собой [10], а переменная последовательность битов уникальной последовательности битов области 7 карты может представлять собой [0010]. Также, если заранее определенное значение 206 размера равно 16, постоянная последовательность битов уникальной последовательности битов области 47 карты может представлять собой [11], а переменная последовательность битов уникальной последовательности битов области 47 карты может представлять собой [0111].
[97] В дополнительных вариантах осуществления настоящего технического решения, при применении первой маски 220, операция 130 первой обработки может быть выполнена с возможностью идентифицировать уникальную последовательность битов каждой области карты на цифровом изображении (т.е. второе цифровое изображение 400), которые будут включены в каждый кластер первого поколения. Операция 130 первой обработки может определять, что области карты, которые будут включены в данный кластер первого поколения, должны быть связаны с уникальными последовательностями битов, которые обладают одинаковыми постоянными последовательностями битов и различными переменными последовательностями битов.
[98] Как было упомянуто ранее, если заранее определенное значение 206 размера равно 4, операция 130 первой обработки может определять, что переменная последовательность битов в уникальной последовательности битов каждой области карты должна содержать только два последних бита уникальной последовательности битов, а все остальные биты в соответствующей уникальной последовательности битов могут быть идентифицированы операцией 130 первой обработки как постоянная последовательность битов. В данном случае, операция 130 первой обработки может идентифицировать уникальные последовательности битов областей 1, 2, 9 и 10 карты как уникальные последовательности битов, которые обладают одинаковыми постоянными последовательностями битов и различными переменными последовательностями битов. В самом деле, уникальные последовательности битов областей 1, 2, 9 и 10 карты представляют собой [000000], [000010], [000001] и [000011] соответственно, и все они обладают одинаковыми постоянными последовательностями битов [0000]. Далее, все уникальные последовательности битов областей 1, 2, 9 и 10 карты обладают различными переменными последовательностями битов, конкретнее [00], [10], [01] и [11] соответственно.
[99] В другом примере и в случае, когда заранее определенное значение размера равно 4, операция 130 первой обработки может идентифицировать уникальные последовательности битов областей 37, 38, 45 и 46 карты как уникальные последовательности битов, которые обладают одинаковыми постоянными последовательностями битов и различными переменными последовательностями битов. В самом деле, уникальная последовательность битов областей 37, 38, 45 и 46 карты представляет собой [111100], [111110], [111101] и [111111] соответственно, и все обладают одинаковыми постоянными последовательностями битов [1111] (т.е. первыми четырьмя битами). Далее, все уникальные последовательности битов областей 37, 38, 45 и 46 карты обладают различными переменными последовательностями битов, конкретнее [00], [10], [01] и [11] (т.е. последними двумя битами) соответственно.
[100] В некоторых вариантах осуществления настоящего технического решения, операция 130 сегментирования может быть выполнена с возможностью создавать пакет 208 данных кластера первого поколения, показанный на Фиг. 2. Пакет 208 данных кластера первого поколения может включать в себя данные 600 кластеров первого поколения (показано на Фиг. 6), которые связывают каждую область карты второго цифрового изображения 400, например, с соответствующей уникальной последовательностью битов, а также каждую уникальную последовательность битов с одним из кластеров первого поколения.
[101] В других вариантах осуществления настоящего технического решения, операция 130 первой обработки может быть выполнена с возможностью передавать пакет 208 данных кластера первого поколения базе 108 данных, показанной на Фиг. 1, для сохранения данных 600 кластеров первого поколения. В других вариантах осуществления настоящего технического решения, сервер 106 может быть выполнен с возможностью передавать пакет 208 данных кластера первого поколения от операции 130 первой обработки на операцию 140 второй обработки для его последующей обработки. Операция 140 второй обработки может быть выполнена с возможностью выполнять дальнейшую обработку данных 600 кластеров первого поколения, без картографических данных из пакета 170 картографических данных.
[102] В общем случае, операция 140 второй обработки может быть выполнена с возможностью определять кластеры второго поколения областей карты цифрового изображения (например, второго цифрового изображения 400). С этой целью, операция 140 второй обработки может быть выполнена с возможностью получать заранее определенное значение 206 размера и заранее определенное значение 210 смещения, как показано на Фиг. 2. Заранее определенное значение 210 смещения может указывать на смещение позиции между кластером первого поколения и соответствующим ему кластером второго поколения. Другими словами, данный кластер второго поколения, соответствующий кластеру первого поколения, является кластером второго поколения со смещением позиции по отношению к кластеру первого поколения. В некоторых вариантах осуществления настоящего технического решения, для того, чтобы определить кластеры второго поколения, операция 140 второй обработки может быть выполнена с возможностью применять вторую маску 230 к каждой уникальной последовательности битов в данных 600 кластеров первого поколения, как показано на Фиг. 6.
[103] Для применения второй маски 230, операция 140 второй обработки выполнена с возможностью осуществлять, для каждой области карты в каждом кластере первого поколения, деконкатенацию через одного соответствующей уникальной последовательности битов на первую координату и вторую координату области карты.
[104] Для облегчения понимания рассматриваются области 21, 22, 29 и 30 карты седьмого кластера первого поколения, как показано на Фиг. 6. Уникальная последовательность битов областей 21, 22, 29 и 30 карты представляет собой [101101], [101111], [101100] и [101110] соответственно. В данном случае, операция 140 второй обработки может осуществлять деконкатенацию через одного уникальной последовательности битов [101101] области 21 карты на первую строку кодов Грея [110] и вторую строку кодов Грея [011]. Операция 140 второй обработки может осуществлять деконкатенацию через одного уникальной последовательности битов [101111] области 22 карты на первую строку кодов Грея [111] и вторую строку кодов Грея [011]. Операция 140 второй обработки может осуществлять деконкатенацию через одного уникальной последовательности битов [101100] области 29 карты на первую строку кодов Грея [110] и вторую строку кодов Грея [010]. Операция 140 второй обработки может осуществлять деконкатенацию через одного уникальной последовательности битов [101110] области 30 карты на первую строку кодов Грея [111] и вторую строку кодов Грея [010].
[105] В некоторых неограничивающих вариантах осуществления настоящего технического решения, операция 140 второй обработки может быть также выполнена с возможностью переводить первую строку кодов Грея и вторую строку кодов Грея каждой области карты в данном кластере первого поколения в первую и вторую строки двоичных значений (т.е. первую координату и вторую координату). Например, первая строка кодов Грея [110] и вторая строка кодов Грея [011] области 21 карты может быть переведена соответственно в [100] - первую строку двоичных значений (т.е. первую координату области 21 карты) - и в [010] - вторую строку двоичных значений (т.е. вторую координату области 21 карты). Первая строка кодов Грея [111] и вторая строка кодов Грея [011] области 22 карты может быть переведена соответственно в [101] - первую строку двоичных значений - и в [010] - вторую строку двоичных значений. Первая строка кодов Грея [110] и вторая строка кодов Грея [010] области 29 карты может быть переведена соответственно в [100] - первую строку двоичных значений - и в [011] - вторую строку двоичных значений. Первая строка кодов Грея [111] и вторая строка кодов Грея [010] области 30 карты может быть переведена соответственно в [101] - первую строку двоичных значений - и в [011] - вторую строку двоичных значений.
[106] В некоторых вариантах осуществления настоящего технического решения, операция 140 второй обработки может быть также выполнена с возможностью вычислять первую модифицированную строку двоичных значений и вторую модифицированную строку двоичных значений каждой области карты в данном кластере первого поколения на основе первой и второй строк двоичных значений и заранее определенного значения размера и заранее определенного значения смещения.
[107] На Фиг. 7 представлено визуальное представление 700 кластеров первого поколения второго цифрового изображения 400. Каждый кластер первого поколения обладает размером 2 области карты на 2 области карты, поскольку заранее определенное значение размера равно 4. Далее предполагается, что заранее определенное значение смещения равно 50%. Это означает, что каждый соответствующий кластер второго поколения должен обладать смещением позиции - одна область карты направо и одна область карты вниз по отношению к кластеру первого поколения (т.е. 50% размера каждого кластера первого поколения).
[108] В данном случае, операция 140 второй обработки может быть выполнена с возможностью добавлять значение, равное 1 каждой первой строке двоичных значений, для вычисления соответствующей первой модифицированной строке двоичных значений, и значение, равное 1 каждой второй строке двоичных значений, для вычисления соответствующей второй модифицированной строке двоичных значений. Другими словами, значение данной строки двоичных значений может быть увеличено на 1 для вычисления соответствующей данной модифицированной строки двоичных значений. Исключительно в качестве примера, если данная строка двоичных значений представляет собой [000], соответствующая данная модифицированная строка двоичных значений может представлять собой [001]. В качестве другого примера, если данная строка двоичных значений представляет собой [001], соответствующая данная модифицированная строка двоичных значений может представлять собой [010].
[109] Например, представлено визуальное представление 710 седьмого кластера первого поколения. Как упоминалось ранее, седьмой кластер первого поколения включает в себя области 21, 22, 29 и 30 карты. Поскольку область 21 карты связана с первой строкой двоичных значений [100] и второй строкой двоичных значений [010], операция 140 второй обработки может вычислять первую модифицированную строку двоичных значений области 21 карты в виде [101] и вторую модифицированную строку двоичных значений области 21 карты в виде [011]. Поскольку область 22 карты связана с первой строкой двоичных значений [101] и второй строкой двоичных значений [010], операция 140 второй обработки может вычислять первую модифицированную строку двоичных значений области 22 карты в виде [111] и вторую модифицированную строку двоичных значений области 22 карты в виде [011]. Поскольку область 29 карты связана с первой строкой двоичных значений [100] и второй строкой двоичных значений [011], операция 140 второй обработки может вычислять первую модифицированную строку двоичных значений области 29 карты в виде [101] и вторую модифицированную строку двоичных значений области 29 карты в виде [100]. Поскольку область 30 карты связана с первой строкой двоичных значений [101] и второй строкой двоичных значений [011], операция 140 второй обработки может вычислять первую модифицированную строку двоичных значений области 30 карты в виде [110] и вторую модифицированную строку двоичных значений области 30 карты в виде [100].
[110] В дополнительных вариантах осуществления настоящего технического решения, операция 140 второй обработки может быть выполнена с возможностью переводить первую модифицированную строку двоичных значений каждой области карты в первую модифицированную строку кодов Грея и вторую модифицированную строку двоичных значений каждой области карты во вторую модифицированную строку кодов Грея.
[111] Продолжая с предыдущим примером, операция 140 второй обработки может быть выполнена с возможностью переводить первую модифицированную строку двоичных значений области 21 карты [101] в [111] - т.е. первую модифицированную строку кодов Грея области 21 карты, и вторую модифицированную строку двоичных значений области 21 карты [011] в [010] - т.е. вторую модифицированную строку кодов Грея области 21 карты. Операция 140 второй обработки может быть выполнена с возможностью переводить первую модифицированную строку двоичных значений области 22 карты [111] в [100] - т.е. первую модифицированную строку кодов Грея области 22 карты, и вторую модифицированную строку двоичных значений области 22 карты [011] в [010] - т.е. во вторую модифицированную строку кодов Грея области 22 карты. Операция 140 второй обработки может быть выполнена с возможностью переводить первую модифицированную строку двоичных значений области 29 карты [101] в [111] - т.е. первую модифицированную строку кодов Грея области 29 карты, и вторую модифицированную строку двоичных значений области 29 карты [100] в [110] - т.е. во вторую модифицированную строку кодов Грея области 29 карты. Операция 140 второй обработки может быть выполнена с возможностью переводить первую модифицированную строку двоичных значений области 30 карты [110] в [101] - т.е. первую модифицированную строку кодов Грея области 30 карты, и вторую модифицированную строку двоичных значений области 30 карты [100] в [110] - т.е. во вторую модифицированную строку кодов Грея области 30 карты.
[112] В некоторых вариантах осуществления настоящего технического решения, операция 140 второй обработки может быть выполнена с возможностью идентифицировать уникальные последовательности битов, связанные с областями карты, которые будут включены в каждый кластер второго поколения. С этой целью, операция 140 второй обработки может быть выполнена с возможностью осуществлять конкатенацию через одного битов в каждой первой модифицированной строке кодов Грея с битами каждой области карты в соответствующей второй модифицированной строке кодов Грея каждой области карты.
[113] Продолжая с предыдущим примером, операция 140 второй обработки может осуществлять конкатенацию через одного [111] и [010] для области 21 карты, что в результате дает [101110]. Операция 140 второй обработки может осуществлять конкатенацию через одного [100] и [010] для области 22 карты, что в результате дает [100110]. Операция 140 второй обработки может осуществлять конкатенацию через одного [111] и [110] для области 29 карты, что в результате дает [111110]. Операция 140 второй обработки может осуществлять конкатенацию через одного [101] и [110] для области 29 карты, что в результате дает [110110]. В результате, операция 140 второй обработки может быть выполнена с возможностью идентифицировать области карты, соответственно связанные с уникальными последовательностями битов [101110], [100110], [111110] и [110110] как области карты, которые будут включены в кластер второго поколения, соответствующий седьмому кластеру первого поколения.
[114] На Фиг. 7 представлено визуальное представление 750 кластеров второго поколения второго цифрового изображения 400. Также представлено визуальное представление 760 кластера второго поколения, соответствующего седьмому кластеру первого поколения. Как показано, кластер второго поколения, соответствующий седьмому кластеру первого поколения, включает в себя области карты, связанные с уникальной последовательностью битов [101110], [100110], [111110] и [110110]. Следует отметить, что кластер второго поколения, соответствующий седьмому кластеру первого поколения, обладает смещением позиции - одна область карты направо и одна область карты вниз по отношению к седьмому кластеру первого поколения.
[115] В некоторых вариантах осуществления настоящего технического решения, операция 140 второй обработки может быть выполнена с возможностью создавать пакет 212 данных кластера второго поколения, показанный на Фиг. 2. Пакет 212 данных кластера второго поколения может включать в себя данные 800 кластера второго поколения (показано на Фиг. 8), которые связывают каждую область карты второго цифрового изображения 400, например, с соответствующей уникальной последовательностью битов, а также каждую уникальную последовательность битов с одним из кластеров первого поколения и соответствующим кластером второго поколения.
[116] Следует иметь в виду, что на Фиг. 7 представлен визуальный результат кластеризации областей карты на втором цифровом изображении 400 на соответствующие кластеры первого поколения и соответствующие им кластеры второго поколения. В самом деле, определение данных 800 кластера второго поколения может выполняться при операции 140 второй обработки на основе данных 600 кластеров первого поколения и величины 206 заранее определенного размера, без картографических данных из пакета 170 картографических данных.
[117] В дополнительных вариантах осуществления настоящего технического решения, некоторые области карты на цифровом изображении могут быть не связаны с каким-либо кластером второго поколения. Например, как показано на Фиг. 7 и 8, области карты, которые находятся на периметре второго цифрового изображения 400 не связаны с каким-либо кластером второго поколения. В самом деле, операция 140 второй обработки может быть выполнена с возможностью определять данный кластер второго поколения, если число областей карты, которое будет включено в данный кластер второго поколения, равно числу областей карты, включенных в каждый кластер первого поколения.
[118] Например, после применения второй маски 230 модуль 140 второй обработки может определять, что 64-я область карты будет единственной областью карты в данном кластере второго поколения, если операция 140 второй обработки создаст данный кластер второго поколения. Следовательно, поскольку данный кластер второго поколения будет обладать только одной областью карты, включенной в него, вместо четырех областей карты, как в каждом кластере первого поколения, операция 140 второй обработки может определить, что данный кластер второго поколения не должен существовать. В результате, 64-я область карты не будет связана с каким-либо кластером второго поколения.
[119] В других вариантах осуществления настоящего технического решения, операция 140 второй обработки может быть выполнена с возможностью передавать пакет 212 данных кластера второго поколения базе 108 данных, показанной на Фиг. 1, для сохранения данных 800 кластера второго поколения.
[120] Со ссылкой на Фиг. 9, картографические данные могут включать в себя первый набор данных и второй набор данных, первый набор данных связан с первой точкой 902 интереса и включает в себя картографические координаты первой точки 902 интереса, а второй набор данных связан со второй точкой 904 интереса и включает в себя картографические координаты второй точки 904 интереса. Следует отметить, что на Фиг. 9 представлен неограничивающий вариант осуществления второго цифрового изображения 400 с первой точкой 902 интереса и второй точкой 904 интереса, изображенными на нем.
[121] Схематично представлены четыре области карты, которые соответствуют 19-й области карты, 20-й области карты, 27-й области карты и 28-й области карты в данных 600 кластеров первого поколения, и все эти области были определены как принадлежащие 6-у кластеру первого поколения, как показано на Фиг. 6.
[122] Как будет более подробно описано далее, анализ информации из данных 600 кластеров первого поколения приводит к тому, что сервер 106 объединяет первую точку 902 интереса и вторую точку 904 интереса в общую область 906 интереса на основе того факта, что картографические координаты первой точки 902 интереса и картографические координаты второй точки 904 интереса принадлежат общему кластеру первого поколения (который является 6-м кластером первого поколения на Фиг. 6), что сохранено в данных 600 кластеров первого поколения. Следует иметь в виду, что следующее описание примера, представленного на Фиг. 9, служит только для иллюстративных целей, и определение общей области 906 интереса выполняется сервером 106 с помощью данных 600 кластеров первого поколения.
[123] В данном случае сервер 106 может быть выполнен с возможностью определить, что картографические координаты первой точки 902 интереса и картографические координаты второй точки 904 интереса включены в позиции областей карты в данном кластере первого поколения. Другими словами, на основе картографических координат первой точки 902 интереса и картографических координат второй точки 902 интереса, сервер 106 может быть выполнен с возможностью связывать первую точку 902 интереса с данной областью карты в данном кластере первого поколения, и вторую точку 904 интереса с другой данной областью карты в данном кластере первого поколения.
[124] Например, на основе по меньшей мере первого набора данных, второго набора данных и данных 600 кластеров первого поколения, сервер 106 может определять, что первая точка 902 интереса находится в конкретной области 912 карты (показано на Фиг. 9), которая является 19-й областью карты в данных 600 кластеров первого поколения. Сервер 106 также может определять, что вторая точка 904 интереса находится в другой конкретной области 914 карты, которая является 28-й областью карты в данных 600 кластеров первого поколения. Следовательно, сервер 106 может определять, что первая точка 902 интереса и вторая точка 904 интереса находятся в областях карты конкретного кластера 910 первого поколения, который является 6-м кластером первого поколения в данных 600 кластеров первого поколения. В результате, сервер 106 может быть выполнен с возможностью создавать общую область 906 интереса и связывать с ней первую точку 902 интереса и вторую точку 904 интереса. В некоторых вариантах осуществления настоящего технического решения, общая область 906 интереса может быть далее связана сервером 106 с 6-м кластером первого поколения в данных 600 кластеров первого поколения. Несмотря на то что связь визуально показана на Фиг. 9, анализ картографических данных сервером 106, описанный выше, может позволить серверу 106 связать данные точки интереса с данным кластером первого поколения без использования сетки, как это показано на Фиг. 9.
[125] В качестве визуального результата анализа и определения, выполняемых сервером 106 при использовании данных 600 кластеров первого поколения, представленного на Фиг. 6, первая точка 902 интереса и вторая точка 904 интереса могут быть представлены как общая область 906 интереса в дополнение или вместо первой точки 902 интереса и второй точки 904 интереса, как показано на Фиг. 9.
[126] Со ссылкой на Фиг. 10, картографические данные могут включать в себя первый набор данных и второй набор данных, причем первый набор данных связан с первой точкой 1002 интереса и включает в себя картографические координаты первой точки 1002 интереса, а второй набор данных связан со второй точкой 1004 интереса и включает в себя картографические координаты второй точки 1004 интереса. Следует отметить, что на Фиг. 10 представлен неограничивающий вариант осуществления второго цифрового изображения 400 с первой точкой 1002 интереса и второй точкой 1004 интереса, изображенными на нем.
[127] Схематически представлены два кластера первого поколения (т.е. конкретный кластер 1010 первого поколения и дополнительный кластер 1030 первого поколения) и один кластер второго поколения (т.е. конкретный кластер 1020 второго поколения), эти два кластера первого поколения соответствуют 6-му кластеру первого поколения и 11-у кластеру первого поколения соответственно, данные 800 кластеров второго поколения и конкретный кластер 1020 второго поколения соответствуют 6*-у кластеру второго поколения в данных 800 кластеров второго поколения. Конкретный кластер 1020 второго поколения, который является 6*-м кластером второго поколения в данных 800 кластеров второго поколения, является кластером второго поколения, соответствующим конкретному кластеру 1010 первого поколения, который является 6-м кластером первого поколения в данных 800 кластеров второго поколения (см. Фиг. 8).
[128] Как будет более подробно описано далее, анализ информации из данных 800 кластеров второго поколения приводит к тому, что сервер 106 объединяет первую точку 1002 интереса и вторую точку 1004 интереса в общую область 1006 интереса на основе того факта, что картографические координаты первой точки 1002 интереса и картографические координаты второй точки 1004 интереса принадлежат общему кластеру второго поколения (который является 6*-м кластером второго поколения на Фиг. 8), что сохранено в данных 800 кластеров второго поколения. Следует иметь в виду, что следующее описание примера, представленного на Фиг. 10, служит только для иллюстративных целей, и определение общей области 1006 интереса выполняется сервером 106 с помощью данных 800 кластеров второго поколения.
[129] Со ссылкой на Фиг. 10, картографические данные могут включать в себя первый набор данных и второй набор данных, причем первый набор данных связан с первой точкой 1002 интереса и включает в себя картографические координаты первой точки 1002 интереса, а второй набор данных связан со второй точкой 1004 интереса и включает в себя картографические координаты второй точки 1004 интереса.
[130] В данном случае сервер 106 может быть выполнен с возможностью определить, что картографические координаты первой точки 1002 интереса включены в позицию данной области карты в данном кластере первого поколения, а картографические координаты второй точки 1004 интереса включены в позицию области карты в соответствующий кластер второго поколения. Другими словами, на основе картографических координат первой точки 1002 интереса, сервер 106 может быть выполнен с возможностью связывать первую точку 1002 интереса с данным кластером первого поколения. Аналогично, на основе картографических координат второй точки 1004 интереса, сервер 106 может быть выполнен с возможностью связывать вторую точку 1004 интереса с соответствующим кластером второго поколения.
[131] Например, на основе первого набора данных и данных 800 кластеров второго поколения, сервер 106 может определять, что первая точка 1002 интереса находится в конкретной области 1012 карты, как показано на Фиг. 10 (т.е. 28-й области карты в данных 800 кластеров второго поколения), конкретного кластера 1010 первого поколения (т.е. того, который является 6-м кластером первого поколения в данных 800 кластеров второго поколения) и конкретного соответствующего кластера 1020 второго поколения 1020 (т.е. того, который является 6*-м кластером второго поколения в данных 800 кластеров второго поколения). В другом примере, на основе второго набора данных и данных 800 кластеров второго поколения, сервер 106 может определять, что вторая точка 1004 интереса находится в другой конкретной области 1014 карты (т.е. 37-й области карты в данных 800 кластеров второго поколения), дополнительного кластера 1030 первого поколения (т.е. того, который является 11-м кластером первого поколения в данных 800 кластеров второго поколения) и конкретного соответствующего кластера 1020 второго поколения 1020 (т.е. соответствующего конкретному кластеру 1010 первого поколения и являющегося 6*-м кластером второго поколения в данных 800 кластеров второго поколения).
[132] В результате, сервер 106 может быть выполнен с возможностью создавать общую область 1006 данных и связывать с ней первую точку 1002 интереса и вторую точку 1004 интереса, поскольку обе первая точка 1002 интереса и вторая точка 1004 интереса связана с общим кластером второго поколения, который, в данном случае, является конкретным соответствующим кластером 1020 второго поколения, который является 6*-м кластером второго поколения в данных 800 кластеров второго поколения. Несмотря на то что связь визуально показана на Фиг. 10, анализ картографических данных сервером 106, описанный выше, может позволить серверу 106 связать данные точки интереса с данным кластером первого поколения и данным кластером второго поколения без использования сетки, как это показано на Фиг. 10.
[133] В некоторых вариантах осуществления настоящего технического решения, сервер 106 может быть выполнен с возможностью анализировать соответствующие связи конкретной области 1012 карты и другой конкретной области 1014 карты с конкретным кластером 1020 второго поколения для того, чтобы связывать первую точку 1002 интереса и вторую точку 1004 интереса с общей областью 1006 интереса. Тем не менее в других вариантах осуществления настоящего технического решения, сервер 106 может быть выполнен с возможностью анализировать связь конкретной области 1012 карты с конкретным кластером 1010 первого поколения, связь другой конкретной области 1014 карты с дополнительным кластером 1030 первого поколения, до того как выполнять анализ соответствующих связей конкретной области 1012 карты и другой конкретной области 1014 карты с конкретным кластером 1020 второго поколения с целью связывания первой точки 1002 интереса и второй точки 1004 интереса с общей областью 1006 интереса. Опять же, связь конкретной области 1012 карты (т.е. с которой первая точка 1002 интереса может быть связана сервером 106) с конкретным кластером 1010 первого поколения, а также связь конкретной области 1012 с конкретным кластером 1020 второго поколения может быть получена сервером 106 для вышеописанного анализа данных 800 кластеров второго поколения. Аналогично, связь другой конкретной области 1014 карты (т.е. с которой вторая точка 1004 интереса может быть связана сервером 106) с дополнительным кластером 1010 первого поколения, а также связь другой конкретной области 1014 карты с конкретным кластером 1020 второго поколения может быть извлечена сервером 106 для вышеописанного анализа данных 800 кластеров второго поколения.
[134] Соответственно, в некоторых вариантах осуществления настоящего технического решения, любая точка интереса, связанная с любой областью данного кластера первого поколения, может быть связана с одной и той же областью интереса.
[135] Дополнительно или альтернативно, любая или все точки интереса, связанные с любой областью данного кластера первого поколения, могут быть связаны с одной и той же областью интереса вместе с любыми или всеми точками интереса, связанными с любой областью кластера второго поколения, соответствующего данному кластеру первого поколения. Связь между данным кластером первого поколения и соответствующим ему кластером второго поколения основывается на анализе данных 800 кластеров второго поколения.
[136] Например, в некоторых вариантах осуществления настоящего технического решения, картографические данные могут включать в себя третий набор данных, причем третий набор данных связан с третьей точкой 1003 интереса и включает в себя картографические координаты третьей точки 1003 интереса. Картографические координаты третьей точки 1003 интереса могут быть связаны с конкретной областью 1013 карты, которая находится в конкретном кластере 1010 первого поколения. В этом случае, первая точка 1002 интереса, вторая точка 1004 и третья точка 1003 могут быть связаны сервером 106 на основе данных 800 кластеров второго поколения с общей областью 1006 интереса.
[137] В качестве визуального результата анализа и определения, выполняемых сервером 106 при использовании данных 800 кластеров второго поколения, представленного на Фиг. 8, первая точка 1002 интереса и вторая точка 1004 интереса могут быть представлены как общая область 1006 интереса в дополнение или вместо первой точки 1002 интереса и второй точки 1004 интереса, как показано на Фиг. 10.
[138] В некоторых вариантах осуществления настоящего технического решения, сервер 106 может быть выполнен с возможностью связывать точки интереса с одной и той же областью интереса до тех пор, пока количество связанных с одной и той же областью интереса точек интереса не достигнет порогового значения. Например, если пороговое значение количества связанных точек интереса равно 10, сервер 106 может быть выполнен с возможностью связывать максимум 10 точек интереса с одной и той же областью интереса. В других вариантах осуществления настоящего технического решения, пороговое значение размера области интереса может быть связано с данной областью интереса. Например, сервер 106 может быть выполнен с возможностью связывать точки интереса с одной и той же областью интереса до тех пор, пока область интереса не достигнет порогового размера области интереса, связанного с ней.
[139] В некоторых вариантах осуществления настоящего технического решения, сервер 106 может быть выполнен с возможностью размечать первую точку 902 интереса и вторую точку 904 интереса на втором цифровом изображении 400 на основе картографических координат первой точки 902 интереса и второй точки 904 интереса соответственно, как показано на Фиг. 9. Сервер 106 может быть выполнен с возможностью размечать общую область интереса на втором цифровом изображении 400 на основе картографических координат первой точки 902 интереса и второй точки 904 интереса.
[140] В другом примере, сервер 106 может быть выполнен с возможностью размечать первую точку 1002 интереса и вторую точку 1004 интереса на втором цифровом изображении 400 на основе картографических координат первой точки 1002 интереса, второй точки 1004 интереса и третьей точки 1003 интереса соответственно, как показано на Фиг. 10. Сервер 106 может быть выполнен с возможностью размечать общую область 1006 интереса на втором цифровом изображении 400 на основе картографических координат первой точки 1002 интереса, второй точки 1004 интереса и третьей точки 1003 интереса.
[141] В дополнительных вариантах осуществления настоящего технического решения, в ответ на указание на желание пользователя 104 клиентского устройства 102 просмотреть второе цифровое изображение 400, сервер 106 может быть выполнен с возможностью инициировать отображение второго цифрового изображения 400 на клиентском устройстве 102, причем второе цифровое изображение 400 содержит первую точку 902 интереса, вторую точку 904 интереса, третью точку 1003 интереса и общую область 906 интереса. Например, указание пользователя 104 может быть получено сервером 106 из запроса 150, переданного клиентским устройством 102. В результате, сервер 106 может быть выполнен с возможностью передавать пакет 160 клиентских данных, содержащий картографические данные, а также первую точку 902 интереса, вторую точку 904 интереса, третью точку 1003 интереса и общую область 906 интереса, которые размечены на втором цифровом изображении 400.
[142] В другом примере, сервер 106 может быть выполнен с возможностью инициировать отображение второго цифрового изображения 400 на клиентском устройстве 102, причем второе цифровое изображение 400 включает в себя первую точку 1002 интереса, вторую точку 1004 интереса и общую область 1006 интереса. Например, указание пользователя 104 может быть получено сервером 106 из запроса 150, переданного клиентским устройством 102. В результате, сервер 106 может быть выполнен с возможностью передавать пакет 160 клиентских данных, содержащий картографические данные, а также первую точку 1002 интереса, вторую точку 1004 интереса и общую область 1006 интереса, которые размечены на втором цифровом изображении 400.
[143] В некоторых вариантах осуществления настоящего технического решения, сервер 106 может быть выполнен с возможностью выполнять способ 1100 кластеризации областей карты из картографических данных, которые представляют собой цифровое изображение, способ 1100 представлен на Фиг. 11. Различные этапы способа 1100 теперь будут описаны далее более подробно.
ЭТАП 1102: Сегментирование цифрового изображения на картографические области, каждая из которых обладает конкретной позицией на цифровом изображении
[144] В некоторых вариантах осуществления настоящего технического решения, способ 1100 начинается на этапе 1102, где сервер 106 осуществляет сегментирование второго цифрового изображения 400 на картографические области, каждая из которых обладает конкретной позицией на втором цифровом изображении 400. Позиция каждой области карты определяется соответствующей первой координатой и соответствующей второй координатой. Первая координата и вторая координата каждой области карты является соответствующей первой строкой кодов Грея и соответствующей второй строкой кодов Грея.
[145] В дополнительных вариантах осуществления настоящего технического решения, модуль 120 сегментирования может выполнять процедуру 402 сегментирования, в которой координаты второго цифрового изображения 400 делятся поровну на области карты. Число областей карты, на которое будет поделено второе цифровое изображение 400, является заранее определенным значением, которое хранится на сервере 106.
[146] Модуль 120 сегментирования может быть выполнен с возможностью сегментировать второе цифровое изображение 400 на области карты таким образом, что каждая область карты обладает соответствующей позицией на втором цифровом изображении 400. С этой целью, модуль 120 сегментирования может выполнять процедуру 404 идентификации позиции для определения соответствующей позиции каждой области карты. Модуль 120 сегментирования может определять каждую позицию с помощью первой координаты и второй координаты.
[147] Для определения соответствующей позиции каждой области карты на втором цифровом изображении 400, модуль сегментирования может определять необходимое число двоичных значений для первой координаты и для второй координаты каждой позиции, так, чтобы каждая область карты на втором цифровом изображении 400 обладала отдельной позицией. В этом случае, модуль 120 сегментирования может определять, что каждая из первой координаты и второй координаты требует 3 бита, таким образом, каждая область карты на втором цифровом изображении 400 обладает отдельной позицией.
[148] В другом варианте осуществления настоящего технического решения, модуль 120 сегментирования может быть выполнен с возможностью переводить каждую строку двоичных значений в соответствующую строку кодов Грея.
ЭТАП 1104: Вычисление уникальной последовательности битов для каждой области карты на основе первой и второй координаты соответствующей позиции в каждой области карты
[149] В некоторых вариантах осуществления настоящего технического решения, способ 1100 продолжается на этапе 1104, где сервер 106 осуществляет вычисление уникальной последовательности битов для каждой области карты на основе первой и второй координаты соответствующей позиции в каждой области карты. Для вычисления уникальной последовательности битов для каждой области карты, сервер 106 может осуществлять конкатенацию через одного битов в первой строке кодов Грея каждой области карты с битами во второй строке кодов Грея каждой области карты.
[150] В других вариантах осуществления, модуль 120 сегментирования может выполнять процедуру 406 формирования уникальной последовательности. Для вычисления уникальной последовательности битов для каждой области карты, модуль 120 сегментирования выполнен с возможностью осуществлять конкатенацию через одного битов в первой строке кодов Грея каждой области карты с битами во второй строке кодов Грея каждой области карты.
[151] В дополнительных вариантах осуществления настоящего технического решения, модуль 120 сегментирования может быть выполнен с возможностью создавать пакет 204 данных области карты, показанный на Фиг. 2. Пакет 204 данных области карты может включать в себя данные 500 области карты (показано на Фиг. 5), которые связывают каждую область карты второго цифрового изображения с соответствующей уникальной последовательностью битов.
[152] В других вариантах осуществления настоящего технического решения, модуль 120 сегментирования может быть выполнен с возможностью передавать пакет 204 данных области карты базе 108 данных, показанной на Фиг. 1, для сохранения данных 500 области карты. В других вариантах осуществления настоящего технического решения, модуль 120 сегментирования может быть выполнен с возможностью передавать пакет 204 данных области карты модулю 130 первой обработки для его последующей обработки.
ЭТАП 1106: Определение сервером кластера первого поколения для областей карты на основе соответствующей уникальной последовательности битов для каждой области карты и заранее определенного значения размера
[153] В некоторых вариантах осуществления настоящего технического решения, способ 1100 продолжается на этапе 1106, где сервер 106 определяет данный кластер первого поколения областей карты на основе соответствующей уникальной последовательности битов каждой области карты и заранее определенного значения 206 размера. Заранее определенное значение 206 размера может указывать на число областей карты, которое будет включено в данном кластере первого поколения.
[154] В других вариантах осуществления настоящего технического решения, для того, чтобы определить кластеры первого поколения, модуль 130 первой обработки может быть выполнен с возможностью применять первую маску 220 к каждой уникальной последовательности битов в данных 500 области карты, как показано на Фиг. 5.
[155] Для применения первой маски 220, модуль 130 первой обработки также может осуществлять идентификацию постоянной последовательности битов и переменной последовательности битов в уникальной последовательности битов каждой области карты на основе заранее определенного значения 206 размера.
[156] В дополнительных вариантах осуществления настоящего технического решения, при применении первой маски 220, модуль 130 первой обработки может быть выполнен с возможностью идентифицировать уникальную последовательность битов каждой области карты на цифровом изображении (т.е. второе цифровое изображение 400), которые будут включены в каждый кластер первого поколения. Модуль 130 первой обработки может определять, что области карты, которые будут включены в данный кластер первого поколения, должны быть связаны с уникальными последовательностями битов, которые обладают одинаковыми постоянными последовательностями битов и различными переменными последовательностями битов.
[157] В некоторых вариантах осуществления настоящего технического решения, модуль 130 сегментирования может быть выполнен с возможностью создавать пакет 208 данных кластера первого поколения, показанный на Фиг. 2. Пакет 208 данных кластера первого поколения может включать в себя данные 600 кластеров первого поколения (показано на Фиг. 6), которые связывают каждую область карты второго цифрового изображения 400 с соответствующей уникальной последовательностью битов, а также каждую уникальную последовательность битов с одним из кластеров первого поколения.
[158] В других вариантах осуществления настоящего технического решения, модуль 130 первой обработки может быть выполнен с возможностью передавать пакет 208 данных кластера первого поколения базе 108 данных, показанной на Фиг. 1, для сохранения данных 600 кластеров первого поколения. В других вариантах осуществления настоящего технического решения, модуль 130 первой обработки может быть выполнен с возможностью передавать пакет 208 данных кластеров первого поколения модулю 140 второй обработки для его последующей обработки.
ЭТАП 1108: Определение сервером кластера второго поколения для областей карты на основе уникальной последовательности битов для каждой области карты в кластере первого поколения
[159] В дополнительных вариантах осуществления настоящего технического решения, способ 1100 продолжается на этапе 1108, где сервер 106 определяет соответствующий кластер второго поколения областей карты на основе уникальной последовательности битов каждой области карты в кластере первого поколения, заранее определенного значения 206 размера и заранее определенного значения 210 смещения.
[160] В некоторых вариантах осуществления настоящего технического решения, модуль 140 второй обработки может определять кластеры второго поколения областей карты второго цифрового изображения 400. С этой целью, модуль 140 второй обработки может получать заранее определенное значение 206 размера и заранее определенное значение 210 смещения, как показано на Фиг. 2. Заранее определенное значение 206 размера может указывать на смещение позиции между кластером первого поколения и соответствующим ему кластером второго поколения.
[161] В некоторых вариантах осуществления настоящего технического решения, для того, чтобы определить кластеры второго поколения, модуль 140 второй обработки может быть выполнен с возможностью применять вторую маску 230 к каждой уникальной последовательности битов в данных 600 кластеров первого поколения, как показано на Фиг. 6.
[162] Для применения второй маски 230, модуль 140 второй обработки может осуществлять, для каждой области карты в каждом кластере первого поколения, деконкатенацию через одного соответствующей уникальной последовательности битов на первую координату и вторую координату области карты.
[163] В некоторых вариантах осуществления настоящего технического решения, модуль 140 второй обработки может переводить первую координату и вторую координату каждой области карты в данном кластере первого поколения в первую и вторую строки двоичных значений.
[164] В некоторых вариантах осуществления настоящего технического решения, модуль 140 второй обработки может вычислять первую модифицированную строку двоичных значений и вторую модифицированную строку двоичных значений каждой области карты в данном кластере первого поколения на основе первой и второй строк двоичных значений и заранее определенного значения 206 размера и заранее определенного значения 210 смещения.
[165] В дополнительных вариантах осуществления настоящего технического решения, модуль 140 второй обработки может переводить первую модифицированную строку двоичных значений каждой области карты в первую модифицированную строку кодов Грея и вторую модифицированную строку двоичных значений каждой области карты во вторую модифицированную строку кодов Грея.
[166] В других вариантах осуществления настоящего технического решения, модуль 140 второй обработки может идентифицировать уникальные последовательности битов, связанные с областями карты, которые будут включены в каждый кластер второго поколения. С этой целью, модуль 140 второй обработки может осуществлять конкатенацию через одного битов в каждой первой модифицированной строке кодов Грея с битами каждой области карты в соответствующей второй модифицированной строке кодов Грея каждой области карты.
[167] В некоторых вариантах осуществления настоящего технического решения, модуль 140 второй обработки может создавать пакет 212 данных кластера второго поколения, показанный на Фиг. 2. Пакет 212 данных кластера второго поколения может включать в себя данные 600 кластера второго поколения (показано на Фиг. 8), которые связывают каждую область карты второго цифрового изображения 400 с соответствующей уникальной последовательностью битов, а также каждую уникальную последовательность битов с одним из кластеров первого поколения и соответствующим кластером второго поколения.
[168] В дополнительных вариантах осуществления настоящего технического решения, некоторые области карты на втором цифровом изображении 400 могут быть не связаны с каким-либо кластером второго поколения. Например, как показано на Фиг. 7 и 8, области карты, которые находятся на периметре второго цифрового изображения 400, не связаны с каким-либо кластером второго поколения. В самом деле, модуль 140 второй обработки может определять данный кластер второго поколения, если число областей карты, которое будет включено в данный кластер второго поколения, равно числу областей карты, включенных в каждый кластер первого поколения.
[169] В других вариантах осуществления настоящего технического решения, модуль 140 второй обработки может передавать пакет 212 данных кластера второго поколения базе 108 данных, показанной на Фиг. 1, для сохранения данных 800 кластера второго поколения.
[170] Представленное здесь техническое решение может снижать по меньшей мере некоторые недостатки, присущие известному уровню техники. Например, сервер 106 выполняет способ 1100 кластеризации областей карты и картографических данных, затрачивая меньше объема памяти и вычислительных ресурсов для того, чтобы назначить соответствующие точки интереса соответствующим областям интереса. В самом деле, настоящее техническое решение не требует сохранения данных, связанных с оригинальной сеткой и смещенной сеткой, поскольку обработка выполняется на основе битов в уникальной последовательности битов, и, следовательно, данные, связанные с оригинальной сеткой и смещенной сеткой, не являются необходимыми. Кроме того, обработка битов в уникальной последовательности битов требует меньших вычислительных ресурсов, чем обработка данных, связанных с оригинальной сеткой и смещенной сеткой, что является обычным подходом к кластеризации областей карты в картографических данных.
[171] Важно иметь в виду, что варианты осуществления настоящего технического решения могут быть выполнены с проявлением и других технических результатов.
[172] Специалисты в данной области техники поймут, что в настоящем описании выражение "получение данных" от пользователя подразумевает получение электронным устройством данных от пользователя в виде электронного (или другого) сигнала. Кроме того, специалисты в данной области техники поймут, что отображение данных пользователю через графический интерфейс пользователя (например, экран компьютерного устройства и тому подобное) может включать в себя передачу сигнала графическому интерфейсу пользователя, этот сигнал содержит данные, которые могут быть обработаны, и по меньшей мере часть этих данных может отображаться пользователю через графический интерфейс пользователя.
[173] Некоторые из этих этапов, а также процессы передачи-получения сигнала являются хорошо известными в данной области техники и поэтому для упрощения были опущены в некоторых частях данного описания. Сигналы могут быть переданы-получены с помощью оптических средств (например, оптоволоконного соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, на основе давления, температуры или другого подходящего параметра).
[174] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не устанавливает никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.
[175] Таким образом, с некоторой точки зрения, варианты осуществления настоящего технического решения, описанные выше, можно изложить следующим образом в виде пронумерованных пунктов.
[176] ПУНКТ 1 Способ (1100) кластеризации областей карты из картографических данных, которые представляют цифровое изображение (400), способ (1100) выполняется на сервере (106), способ (1100) включает в себя:
сегментирование (1102) сервером (106) цифрового изображения (400) на области карты, каждая из которых обладает соответствующей позицией на цифровом изображении (400), каждая позиция определяется первой координатой и второй координатой, первая и вторая координата являются первой и второй строками кодов Грея соответственно;
вычисление (1104), сервером (106) уникальной последовательности битов для каждой области карты на основе первой и второй координаты соответствующей позиции в каждой области карты,
вычисление (1104) включает в себя конкатенацию через одного сервером (106) битов в первой строке кодов Грея каждой области карты с битами во второй строке кодов Грея каждой области карты;
определение (1106) сервером (106) кластера первого поколения областей карты на основе соответствующей уникальной последовательности битов каждой области карты и заранее определенного значения (206) размера, и
заранее определенное значение (206) размера указывает на число областей карты, которые будут включены в кластер первого поколения,
определение (1106) кластера первого поколения включает в себя:
применение сервером (106) первой маски (220) к каждой уникальной последовательности битов, первая маска (220) основана на заранее определенном значении (206) размера,
идентификацию севером (106) уникальной последовательности битов для каждой области карты, которая будет включена в кластер первого поколения; и
определение (1108) сервером (106) кластера второго поколения для областей карты на основе соответствующей уникальной последовательности битов для каждой области карты в кластере первого поколения, заранее определенного значения (206) размера и заранее определенного значения (210) смещения,
определение (1108) кластера второго поколения включает в себя применение сервером (106) второй маски (230) к уникальной последовательности битов каждой области карты в кластере первого поколения, вторая маска (230) основывается на заранее определенном значении (206) размера и заранее определенном значении (210) смещения,
применение второй маски (230) включает в себя, для каждой области карты в кластере первого поколения:
деконкатенацию через одного сервером (106) уникальной последовательности битов на соответствующие первую и вторую координаты;
перевод сервером (106) первой координаты и второй координаты в первую и вторую строку двоичных значений соответственно;
вычисление сервером (106) первой модифицированной и второй модифицированной строки двоичных значений на основе первой и второй строк двоичных значений и заранее определенного значения (206) размера и заранее определенного значения (210) смещения;
перевод сервером (106) первой модифицированной строки и второй модифицированной строки двоичных значений в первую модифицированную строку и вторую модифицированную строку кодов Грея соответственно;
конкатенацию через одного сервером (106) битов в первой модифицированной строке кодов Грея и битов во второй модифицированной строке кодов Грея, и конкатенация через одного сервером (106) уникальной последовательности битов, связанной с соответствующими областями карты, которые будут включены в кластер второго поколения.
[177] ПУНКТ 2 Способ (1100) по п. 1, в котором способ (1100) дополнительно включает в себя определение сервером (106) количества битов в первой и второй строке битов на основе числа областей карты в цифровом изображении (400).
[178] ПУНКТ 3 Способ (1100) по п. 2, в котором число областей на карте является четным числом.
[179] ПУНКТ 4 Способ (1100) по п. 1, в которой число областей на карте, которые будут включены в кластер первого поколения, является четным числом.
[180] ПУНКТ 5 Способ (1100) по п. 1, в котором применение первой маски (220) включает в себя:
идентификацию сервером (106) постоянной последовательности битов и переменной последовательности битов в уникальной последовательности битов каждой области карты на основе заранее определенного значения (206) размера;
идентификацию сервером (106) уникальной последовательности битов каждой области карты, которые будут включены в кластер первого поколения, причем уникальные последовательности битов областей карты, которые будут включены в кластер первого поколения, обладают идентичными постоянными последовательностями и отличающимися переменными последовательностями битов.
[181] ПУНКТ 6 Способ (1100) по п. 1, в котором способ (1100) дополнительно включает в себя сохранение сервером (106) связи между уникальной последовательностью битов для каждой области карты, которые будут включены в кластер первого поколения, и кластером первого поколения.
[182] ПУНКТ 7 Способ (1100) по п. 1, в котором способ (1100) дополнительно включает в себя сохранение сервером (106) связи между уникальной последовательностью битов для каждой области карты, которые будут включены в кластер второго поколения, и кластером второго поколения.
[183] ПУНКТ 8 Способ (1100) по п. 7, дополнительно включающий в себя:
получение сервером (106) первого набора данных и второго набора данных, первый набор данных связан с первой точкой (902, 1002) интереса и включает в себя картографические координаты первой точки (902, 1002) интереса, а второй набор данных связан со второй точкой (904, 1004) интереса и включает в себя картографические координаты второй точки (904, 1004) интереса;
если картографические координаты первой точки (902, 1002) интереса и второй точки (904, 1004) интереса включены в позицию любой области карты в кластере первого поколения, связывание первой точки (902, 1002) интереса и второй точки (904, 1004) интереса с общей областью (906, 1006) интереса.
[184] ПУНКТ 9 Способ (1100) по п. 8, дополнительно включающий в себя:
если картографические координаты первой точки (902, 1002) интереса включены в позицию любой области карты в кластере первого поколения, и если картографические координаты второй точки (904, 1004) интереса включены в позицию любой области карты в соответствующем кластере второго поколения, связывание первой точки (902, 1002) интереса и второй точки (904, 1004) интереса с общей областью (906, 1006) интереса.
[185] ПУНКТ 10 Способ (1100) по п. 9, дополнительно включающий в себя:
разметку сервером (106) первой точки (902, 1002) интереса и второй точки (904, 1004) интереса на цифровом изображении (400) на основе картографических координат первой точки (902, 1002) интереса и второй точки (904, 1004) интереса соответственно;
разметку сервером (106) общей области (906, 1006) интереса на цифровом изображении (400) на основе картографических координат первой точки (902, 1002) интереса и второй точки (904, 1004) интереса;
в ответ на указание на желание пользователя (104) клиентского устройства (102) просмотреть второе цифровое изображение (400), сервер (106) инициирует отображение второго цифрового изображения (400) на клиентском устройстве (102), причем второе цифровое изображение (400) содержит первую точку (902, 1002) интереса, вторую точку (904, 1004) интереса и общую область (906, 1006) интереса.
[186] ПУНКТ 11 Способ (1100) по п. 1, сегментирование (1102) цифрового изображения (400) на области карты включает в себя выполнение сервером (106) процедуры (402) сегментирования и процедуры (404) идентификации позиции.
[187] ПУНКТ 12 Способ (1100) по п. 1, в котором кластер первого поколения и кластер второго поколения включают в себя одинаковое число областей карты.
[188] ПУНКТ 13 Сервер (106) кластеризации областей карты из картографических данных, которые представляют цифровое изображение (400), сервер (106) выполнен с возможностью выполнять способ (1100) по пп. 1-12.