Способ обработки картографических данных
Иллюстрации
Показать всеИзобретение относится к области обработки картографических данных. Способ обработки картографических данных, включающий: отображение маршрута, содержащего последовательность транспортных сегментов, которая располагается между начальной и конечной точками на карте, анализ потенциальных мест отображения графических представлений, относящихся к индивидуальным транспортным сегментам в пределах последовательности для каждого уровня приближения карты, отображение объединенного графического представления соседних индивидуальных транспортных сегментов вместо обычных графических представлений индивидуальных транспортных сегментов при пересечении потенциальных мест для отображения графических представлений соседних индивидуальных транспортных сегментов и отображение объединенного графического представления на фрагменте упомянутой карты на упомянутом уровне приближения. Изобретение предоставляет возможность чёткого и удобного планирования маршрута. 15 з.п. ф-лы, 5 ил.
Реферат
Область техники, к которой относится изобретение
Изобретение относится к области обработки картографических данных.
Уровень техники
Известно, что при отображении карты на мониторе вычислительного устройства происходит группировка объектов на карте (например, мест повышенного интереса (POI)) в соответствии с масштабом приближения карты. Например, API Яндекс. Карты (http://api.vandex.com/maps) ООО "ЯНДЕКС" (Россия) предлагает платформу, позволяющую применять различные подходы к сгруппированным объектам на карте (http://api.vandex.ru/maps/features/?p=cluster). Подобная группировка может указывать на определенное количество мест повышенного интереса на одном уровне приближения в пределах данной территории, а на следующем уровне приближения указывать на их конкретное расположение.
В заявке США №US 20120316782, опубл. 13.12.2012 описано отображение карты на первом уровне приближения и отображение увеличенной части карты на втором уровне приближения. Увеличители карты могут отображаться на маршрутных точках вдоль маршрута, на маркерах карты, соответствующих местам повышенного интереса, или на местах, связанных с результатами поиска.
В заявке США №US 20130338918, опубл. 19.12.2013 описан модуль поиска маршрута, выполненный с возможностью определять на карте основной маршрут из начальной точки в конечную. Модуль поиска маршрута дополнительно выполнен с возможностью производить одно или несколько изменений на карте в зависимости от основного маршрута. Модуль модификации выполнен с возможностью использовать основной маршрут и одну или несколько основных модификаций на карте. Одна или несколько модификаций включают в себя по меньшей мере одно из: а) добавление на карту первого объекта, который не был бы включен в карту, если бы к ней не применялся основной маршрут, и b) удаление с карты второго объекта, который был бы добавлен на карту, если бы к ней не применялся основной маршрут.
Раскрытие изобретения
Объектом настоящей технологии является способ обработки картографических данных. Способ обработки картографических данных включает следующее. На первом этапе предоставление маршрута, содержащего по меньшей мере одну последовательность транспортных сегментов, которая располагается между начальной и конечной точками на карте. На втором этапе анализ потенциальных мест отображения графических представлений, относящихся к индивидуальным транспортным сегментам в пределах последовательности для каждого уровня приближения карты. На третьем этапе предоставление объединенного графического представления соседних индивидуальных транспортных сегментов вместо обычных графических представлений индивидуальных транспортных сегментов при пересечении потенциальных мест для отображения графических представлений соседних индивидуальных транспортных сегментов. На четвертом этапе отображение по меньшей мере упомянутого объединенного графического представления на фрагменте упомянутой карты на упомянутом уровне приближения.
Возможен вариант осуществления, в котором на первом этапе: получают маршрут, включающий в себя множество сегментов; и группируют сегменты в по меньшей мере одну упомянутую последовательность транспортных сегментов.
Возможен вариант осуществления, в котором упомянутое группирование включает в себя предоставление одной или нескольких частей последовательности в пределах упомянутого маршрута, и каждая часть последовательности относится к одному типу транспорта, второй и третий этапы способа выполняют для каждой из частей последовательности.
Возможен вариант осуществления, в котором каждый из второго третьего и четвертого этапов выполняют при запросе пользователя на изменение уровня приближения упомянутой карты; либо при изменении пользователем упомянутого маршрута.
Возможен вариант осуществления, в котором упомянутые графические представления индивидуальных транспортных сегментов предварительно включают в себя по меньшей мере графический компонент и текстовый компонент, и преимущественно каждая объединенная графическая презентация основана на комбинации только графических компонентов для упомянутых индивидуальных транспортных сегментов.
Возможен вариант осуществления, в котором каждое объединенное графическое представление основано на комбинации данных для упомянутых соседних индивидуальных транспортных сегментов.
Возможен вариант осуществления, в котором каждое объединенное графическое представление основано на комбинации данных для упомянутых соседних индивидуальных транспортных сегментов.
Возможен вариант осуществления, в котором в пределах упомянутого объединенного графического представления предоставляют указание на последовательность упомянутых соседних индивидуальных транспортных сегментов в рамках упомянутого маршрута.
Возможен вариант осуществления, в котором при потенциальном пересечении упомянутого потенциального отображения мест для графических представлений соседних индивидуальных транспортных сегментов, удаляют текстовый компонент по меньшей мере из одной графической презентации; и повторяют второй этап.
Возможен вариант осуществления, в котором упомянутый маршрут включает в себя по меньшей мере одну указанную пользователем маршрутную точку, и в котором каждая из упомянутых начальной и конечной точек и упомянутая по меньшей мере одна маршрутная точка связаны с графическими представлениями, каждое из которых обладает потенциальным местом отображения, и в котором упомянутый способ далее выполняют позиционирование и ориентирование упомянутые графические представления для упомянутых начальной и конечной точек маршрута и упомянутой по меньшей мере одной маршрутной точки для минимизации пересечения с местами других графических представлений маршрута.
Возможен вариант осуществления, в котором позиционирование и ориентирование выполняют до и/или после второго и третьего этапов.
Возможен вариант осуществления, в котором дополнительно анализируют соответствующие потенциальные места отображения для каждого графического представления для упомянутых начальной и конечной точек и по меньшей мере одной упомянутой маршрутной точки; и по меньшей мере частично уменьшают упомянутое графическое представление в ответ на то, что потенциальное место отображения одного из упомянутых графических представлений потенциально пересекает графическое представление для любого другого сегмента на упомянутом маршруте.
Возможен вариант осуществления, в котором упомянутый маршрут включает в себя один или несколько пешеходных сегментов, каждый пешеходный сегмент содержит потенциальное место отображения для соответствующего графического представления, и в котором дополнительно анализируют соответствующие потенциальные места отображения для каждого упомянутого графического представления каждого пешеходного сегмента; и по меньшей мере частично уменьшают графическое представление упомянутого пешеходного сегмента в ответ на то, что потенциальное место отображения пешеходного сегмента потенциально пересекает графическое представление любого другого сегмента на упомянутом маршруте.
Возможен вариант осуществления, в котором при упомянутом по меньшей мере частичном уменьшении удаляют текстовый компонент из упомянутого графического представления.
Возможен вариант осуществления, в котором на указанном третьем этапе дополнительно предоставляют объединенные данные для упомянутых соседних индивидуальных транспортных сегментов, и в котором дополнительно отображают упомянутые объединенные данные в ответ на взаимодействие пользователя с соответствующим отображаемым объединенным графическим представлением.
Возможен вариант осуществления, в котором перемещают информацию о сегменте из одной упомянутой части последовательности в другую в ответ на взаимодействие пользователя с первым отображаемым объединенным графическим представлением для части последовательности сегментов маршрута и со вторым объединенным графическим представлением для соседней части последовательности по меньшей мере одного сегмента маршрута.
Возможен вариант осуществления, в котором маршрут может быть предоставлен в ответ на взаимодействие пользователя с приложением - указания начальной и конечной точки.
Возможен вариант осуществления, в котором одна или несколько частей последовательности транспортных сегментов могут быть представлены в пределах маршрута, каждая часть последовательности относится к одному и тому же типу транспорта, и к каждой части применяются процедуры анализа и объединения.
Возможен вариант осуществления, в котором способ выполняют в ответ на запрос пользователя изменить уровень приближения карты или в ответ на определение пользователем изменения в маршруте.
Возможен вариант осуществления, в котором типы транспорта могут включать в себя: общественный и личный транспорт.
Возможен вариант осуществления, в котором маршрут может включать в себя по меньшей мере один сегмент, указывающий на пересадку на общественном транспорте.
Возможен вариант осуществления, в котором способ может далее включать в себя предоставление объединенных данных для соседних индивидуальных транспортных сегментов и в ответ на взаимодействие пользователя с соответствующим отображаемым объединенным графическим представлением отображение объединенных данных. Объединенные данные могут включать в себя либо статические, либо динамические данные.
Возможен вариант осуществления, в котором способ может далее включать в себя перемещение информации о сегменте из одной части последовательности в другую в ответ на взаимодействие пользователя с первым отображаемым объединенным графическим представлением для части последовательности сегментов на маршруте и вторым графическом представлением для соседних частей по меньшей мере одного сегмента на маршруте.
Настоящая технология полезна для цифровых приложений карт для предоставления возможности четкого и удобного планирования маршрута с увеличением эргономики пользовательского интерфейса.
В контексте настоящего описания, если конкретно не указано иное, термин «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
В контексте настоящего описания, если конкретно не указано иное, «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от электронных устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данной технологии. В контексте настоящей технологии использование выражения «сервер» не означает, что каждая задача (например, полученные инструкции или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может являться одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».
В контексте настоящего описания, если конкретно не указано иное, термин «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, которое выполняет процесс, который сохраняет или использует информацию, хранящуюся в базе данных, или же она может находиться на отдельном оборудовании, например выделенном сервере или множестве серверов.
В контексте настоящего описания, если конкретно не указано иное, термин «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).
В контексте настоящего описания, если конкретно не указано иное, слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной связи между этими существительными. Так, например, следует иметь в виду, что использование терминов "первый сервер" и "третий сервер " не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание "первого" элемента и "второго" элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях "первый" сервер и "второй" сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.
В контексте настоящего описания, если конкретно не указано иное, «электронное устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Примерами электронных устройств среди прочего являются персональные компьютеры (настольные компьютеры, ноутбуки и т.д.), смартфоны и планшеты и устройства спутниковой навигации. Следует иметь в виду, что устройство, ведущее себя как электронное устройство в настоящем контексте, может вести себя как сервер по отношению к другим электронным устройствам. Использование выражения «электронное устройство» не исключает возможности использования множества электронных устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного метода.
Каждый вариант осуществления настоящей технологии включает, по меньшей мере, одну из вышеупомянутых целей и/или объектов. Следует иметь в виду, что некоторые объекты данной технологии, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять и другим целям, отдельно не указанным здесь.
Специалисты в данной области техники поймут, что в настоящем описании выражение "получение данных" от пользователя подразумевает получение электронным устройством данных от пользователя в виде электронного (или другого) сигнала. Кроме того, специалисты в данной области техники поймут, что отображение данных пользователю через графический интерфейс пользователя (например, экран электронного устройства и тому подобное) может включать в себя передачу сигнала графическому интерфейсу пользователя, этот сигнал содержит данные, которые могут быть обработаны, и по меньшей мере часть этих данных может отображаться пользователю через графический интерфейс пользователя.
Некоторые из этих этапов, а также передача-получение сигнала хорошо известны в данной области техники и поэтому для упрощения были опущены в конкретных частях данного описания. Сигналы могут быть переданы-получены с помощью оптических средств (например, оптического соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, на основе давления, температуры или другого подходящего параметра).
Дополнительные и/или альтернативные характеристики, варианты осуществления и преимущества вариантов осуществления настоящей технологии станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
Краткое описание чертежей
Далее будут описаны различные примеры осуществления технологии со ссылками на соответствующие чертежи, где:
На Фиг. 1 показана схема системы, включающая клиентское устройство, на котором установлено приложение для обработки картографических данных, приложение реализовано в соответствии с неограничивающими вариантами осуществления настоящей технологии;
На Фиг. 2 показана блок-схема, иллюстрирующая работу оператора тегов, относящегося к приложению на Фиг. 1; и
На Фиг. 3-5 показан примерный набор наложений, которые могут возникать на различных уровнях приближения отдельной части карты.
Осуществление изобретения
На Фиг. 1 показана система, включающая в себя электронное устройство 100 и сервер 140. Важно иметь в виду, что система является только одним из вариантов осуществления настоящей технологии. Таким образом, все последующее описание представлено только как описание иллюстративного примера настоящей технологии. Это описание не предназначено для определения объема или установления границ настоящей технологии. Некоторые полезные примеры модификаций системы также могут быть охвачены нижеследующим описанием.
Целью описания является также исключительно помощь в понимании, а не определение объема и границ настоящей технологии. Эти варианты осуществления не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие варианты. Кроме того, это не должно интерпретироваться так, что там, где не были изложены варианты осуществления, никакие другие варианты осуществления невозможны, и/или что-то, что описано, является единственным вариантом осуществления этого элемента настоящей технологии. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящей технологии, и в подобном случае представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящей технологии будут обладать гораздо большей сложностью.
Клиентское электронное устройство 100 включает в себя экран 120 для обработки информации от приложения 130, по меньшей мере часть которой включает в себя карту 105. На примере с Фиг. 1 приложение 130 представляет собой клиентское приложение, которое связывается с сервером 140 через сеть 150, например Интернет. Одним типом клиентского приложения является браузерное приложение, которое связывается с сервером 140 через прикладной программный интерфейс (API) 160, например API Яндекс.Карты, который упоминался выше. Обычно сервер 140 включает в себя доступ к картографической базе данных (не показана) для того, чтобы предоставлять карте или маршруту запросы от приложения 130 через API 160.
Общий вариант осуществления устройства 100 известен из области техники и поэтому не будет здесь подробно описан. Достаточно сказать, что электронное устройство 100 содержит пользовательский интерфейс ввода (на чертежах не показан), например клавиатуру, мышь, сенсорную панель, сенсорный экран и т.п.) для получения пользовательского ввода. Вышеупомянутый экран 120 (например, экран, сенсорный экран, принтер и т.п.) для предоставления визуального или звукового вывода пользователю; интерфейс сетевой связи (на чертеже не показан) (например, модем, сетевую карту и т.п.) для двусторонней связи по сети 150 передачи данных; и процессор (на чертеже не показан), соединенный с пользовательским интерфейсом ввода, пользовательским интерфейсом вывода и интерфейсом сетевой связи, который выполнен с возможностью выполнять различные операции, включая те, что описаны ниже. С этой целью процессор может сохранять или иметь доступ к машиночитаемым командам, выполнение которых инициирует процессор выполнять различные описанные здесь процедуры.
Когда приложение, например приложение 130, запрашивает карту через API 160, например, путем уточнения необходимого места на карте и уровня или масштаба приближения, создается элемент объекта карты и любая его часть может быть обработана приложением 130 на экране 120, например, как в случае с вариантом части карты 105, показанным на Фиг. 1.
Как и с обычными картографическими данными (которые можно рассматривать как "объекты материнской карты"), которые могут быть запрошены и обработаны приложением 130 на экране 120, различные объекты дочерней карты могут быть добавлены к объекту материнской карты для расширения отображения карты и, например, для предоставления возможности взаимодействия конечному пользователю электронного устройства 100.
Пример такого дочернего объекта также упоминается как "географический объект". Такие объекты обычно обладают двумя признаками: графической геометрией и мета-данными. Геометрия может быть различного типа, например графического, точечного, линейного, полилинейного (линия, состоящая из нескольких сегментов), полигонального и так далее, и, как правило, она определяет то, как объект будет графически представлен на экране 120. Например, географический объект для улицы может представлять собой геометрические линейные или полилинейные данные, которые могут быть использованы для наложения или перекрытия соответствующей линии на перекрываемом изображении карты (которая может быть создана из других географических объектов). Географический объект для создания может содержать полигональные данные, которые могут быть использованы для наложения контура здания на перекрываемое изображение карты.
Географический объект также может включать в себя простую метку, например метка "Кафе Старбакс" может обладать точечной геометрией и данными, которые включают в себя часы работы, адрес, тип объекта и так далее. Это позволяет приложению 130 потенциально показывать точку на карте вместе с текстовыми данными, например: кафе, открыто ежедневно и круглосуточно, адрес и так далее.
В настоящем примере графическое представление для дочернего объекта карты, который будет показан на карте, рассматривается как "наложение" объекта (Наложение любого географического объекта может быть реализовано как дочерний объект самого географического объекта или как признак географического объекта). Наложение объекта может включать в себя любую комбинацию текста или графики для объекта или наложение объекта может быть отмечено как скрытое, если оно не должно отображаться по каким-либо причинам. Данные для включения в наложение географического объекта могут быть статическими и перманентно связанными с географическим объектом, например адрес или название улицы; или информация может быть динамической и приходить из источников данных, например: время отправления географического объекта, такого как автобусный или железнодорожный сегмент, или срочное сообщение для дорожного сегмента.
На Фиг. 1 наложение 110 для точечного географического объекта было добавлено для отображения на части карты, и это наложение 110 включает в себя графическую точку и текст, указывающий на имя города.
Может существовать несколько классов наложений, доступных для каждого типа географического объекта, например метки для точечных ориентиров или точек начала и конца маршрута могут сопровождаться отличительными графическими наложениями, а маршрутные точки вдоль маршрута могут быть обозначены другими графическими наложениями. Наложение для любого географического объекта может изменяться в зависимости от уровня приближения карты.
Карта и ее наложения могут предоставляться приложению 130 в виде, например, языка разметки гипертекста (HTML) или масштабируемого векторного рисунка (SVG) для обработки в приложении 130. Следует отметить, что может быть использован любой подходящий формат.
Одним компонентом картографического API 160 является API 165 маршрутизатора. Он позволяет приложению запрашивать маршрут от начальной точки к конечной через одну или несколько маршрутных точек.
API 165 маршрутизатора может выводить объект маршрута, включающий в себя упорядоченную последовательность географических объектов, соединяющих объект, который соответствует начальной точке, с объектом, который соответствует конечной точке, через серию сегментных и маршрутных объектов.
Маршрут может включать в себя различные типы транспорта, включая движение пешком и различные типы непешеходного транспорта - общественного или личного - и каждый сегмент связан с конкретным типом транспорта. "Пешеходный сегмент" может включать в себя полилинейные данные для улицы или части маршрута, которые необходимо пройти, а также мета-данные, включающие в себя название улицы, протяженность, время, необходимое для прохождения улицы и так далее. "Транспортный сегмент" может опять же включать в себя полилинейные данные, а также подробности об автобусах, трамваях, метро или даже паромах, которые обслуживают данную часть маршрута. В альтернативных вариантах осуществления технологии транспортный сегмент может соответствовать дорожному сегменту маршрута, который включает в себя несколько сегментов на разных дорогах. Другие географические объекты, которые включены в маршрут, могут включать в себя отметки, указывающие на пересадку в метро или на трамвай.
Стоит отметить, что необходимо выполнять обработку наложений для маршрута, чтобы обеспечить удобное отображение информации пользователю без загромождения экрана и без перекрывания картографических данных. Необходимо выполнять это аккуратно, а также адаптировать с учетом смены уровня приближения карты и взаимодействия пользователя с картой. Если на меньшем уровне приближения пользователю может быть предоставлена более полезная информация, то не будет необходимости приближать карту, что может привести к потере общего контекста маршрута. Аналогичным образом пользователь может взаимодействовать с отображаемым маршрутом, например, путем перемещения, добавления или удаления маршрутных точек, для чего может потребоваться удобная и умная реорганизация отображения карты, предоставляющая пользователю подобную опцию.
В настоящем примере картографический API 160 включает в себя оператор 170 тегов. Оператор 170 тегов предоставляет возможность контролировать отображаемую информацию для мест и маршрутных точек на протяжении маршрута, а также информацию для сегментов, включая пешеходные и транспортные сегменты маршрута.
В общем случае оператор 170 тегов контролирует следующее:
1. Наличие перекрытых важных текстовых меток для точек и сегментов на протяжении маршрута.
2. Позицию и ориентацию наложенного текста и/или графики, которые относятся к маршрутной точке или сегменту. Например, первая точка маршрута может быть расположена слева от второй точки. В данном случае наложение для первой точки может быть расположено слева от первой точки, а наложение для второй точки может быть расположено справа от второй точки, чтобы не мешать отображению маршрута между точками. Естественно возможны и более сложные сценарии, и работа оператора 170 тегов для подобных сценариев будет объяснена далее более подробно.
3. Объединение информации в наложении для последовательности транспортных сегментов в рамках одного маршрута.
Также следует отметить, что в любой конкретный момент может существовать несколько маршрутов, связанных с конкретной частью карты. Оператор 170 тегов может учитывать требования для отображения информации для соответствующих маршрутов относительно друг друга при определении указанных характеристик, что будет более подробно описано ниже.
На Фиг. 2 представлена блок-схема, иллюстрирующая обработку, выполняемую примером оператора 170 тегов.
Оператор 170 тегов работает, когда по меньшей мере один маршрут был запрошен приложением 130, и маршрут был получен от серверного приложения 140 через API 165 маршрутизатора. Оператор 170 тегов может быть связан с каждым маршрутом, отображаемым на карте, или оператор 170 тегов может обрабатывать отображаемую информацию для всех маршрутов в пределах конкретной области на карте.
На этапе 200 оператор 170 тегов отвечает либо на запрос от пользователя изменить уровень приближения карты или на запрос от пользователя изменить маршрут, например, когда было завершено добавление, перемещение или изменение позиции точек начала и конца маршрута или маршрутных точек вдоль него.
Исходя из представленного ниже описания будет ясно, что при изменении маршрута или уровня приближения могут потребоваться значительные изменения в наложениях для географических объектов маршрута. Оператор 170 тегов в настоящем примере полностью обновляет наложения для маршрута каждый раз, когда к нему обращаются, и соответственно к оператору 170 тегов, не обращаются в момент создания маршрута, а только в момент, когда пользователь явно запрашивает изменения уровня приближения или же подтверждает обновления маршрута. В настоящем примере это уменьшает нагрузку на сервер 140, обрабатывающий API запросы от множества потенциальных клиентских приложений (показано только одно), тем не менее следует отметить, что в тех случаях, когда доступна возможность обработки или, например, в других отдельных вариантах осуществления обращение к оператору 170 тегов происходит постоянно по мере изменения маршрута.
На этапе 210 оператор 170 тегов восстанавливает начальное состояние наложений для маршрута. Таким образом, если информация для последовательности сегментов была объединена в предыдущей итерации оператором 170 тегов, то, как описано ниже на этапе 240, подобные объединенные наложения будут удалены. Любые текстовые метки для сегментов, которые были скрыты в предыдущей итерации оператором 170 тегов, как описано ниже на этапах 230, 240 и 260, будут отмечены флагами, чтобы стать потенциально видимыми.
На этапе 220 оператор 170 тегов определяет соответствующие позицию и ориентирование для каждого наложения, связанного с маршрутной точкой (включая начальную и конечную точки), относительно положения маршрутной точки. Например, если маршрутная точка на маршруте расположена справа от предыдущей маршрутной точки, наложение для предыдущей маршрутной точки может быть расположено слева от предыдущей маршрутной точки, при этом наложение для следующей маршрутной точки в идеале будет расположено справа от расположения маршрутной точки, чтобы обеспечить максимально хорошее отображение маршрута между двумя точками. Тем не менее, в тех местах, где маршрут поворачивает, или где необходимо учитывать другие наложения, будет усложняться критерий позиционирования и ориентирования наложений, соответствующих расположению маршрутных точек.
В настоящем примере для каждого наложения для маршрутных точек (включая начальную и конечные точки) оператор 170 тегов проверяет каждую возможную позицию и ориентацию, чтобы определить сумму наложений в области пересечения с существующими наложениями других географических объектов на маршруте и любых других маршрутах или других наложений, связанных с фрагментов карты. Позиционирование и ориентация обеспечивают наименьшее число пересечений, выбранное для наложения маршрутных точек. Для начала следует отметить, что наложение для маршрутных точек включает в себя графический и текстовый компоненты. Решение касательно того, следует ли сохранять текстовый компонент, будет принято позднее на этапе 260, и тем не менее в настоящем примере, по меньшей мере для конкретного маршрута, графический компонент для маршрутной точки всегда отображается, и ему отдается приоритет над другими наложениями, т.е. маршрутные точки отображаются всегда, насколько это возможно.
На Фиг. 3-5, как видно в данном случае, наложение маршрутной точки для начальной точки А (улица Адмирала Лазарева, 19) располагается под его графическим компонентом, указывающим на расположение начальной точки. На Фиг. 3 наложение маршрутной точки В (улица Льва Толстого, 16) сначала расположено справа от расположения маршрутной точки, но по мере того как пользователь увеличивает уровень приближения на Фиг. 4 и Фиг. 5, наложение перемещается под расположение маршрутной точки. Наложение для конечной точки С (Оборонная улица, 6) сначала расположено над точкой, а затем перемещается под точку и в положение справа от нее по мере того, как пользователь увеличивает уровень приближения на Фиг. 4 и Фиг. 5.
На этапе 230 (фиг. 2) оператор 170 тегов определяет степень того, насколько важно отображать наложения для пешеходных сегментов. Для каждого пешеходного сегмента на маршруте оператор 170 тегов определяет пересечения наложений пешеходных сегментов с другими наложениями на маршруте, а также возможные другие маршруты, связанные с фрагментом карты. Если существуют такие пересечения, то любой текстовый компонент для пешеходного маршрута отмечается как скрытый, удаляется или сворачивается из наложения, а оператор 170 тегов далее пересчитывает область для пересечения с тем же наложением, пересечение с которым было определено. Если область пересечения равна нулю, оставшийся текст сворачивается, и оператор 170 тегов продолжает определять остальные наложения. Если остается пересечение или есть пересечение с последующими наложениями (несмотря на то, что текст был скрыт/удален/свернут), наложение для пешеходного сегмента отмечается как полностью скрытое.
На маршруте, показанном на Фиг. 3-5, существуют пешеходные сегменты между начальной точкой А и первым транспортным сегментом (метро Бульвар Адмирала Ушакова) и между последним транспортным сегментом (метро Бабушкинская) и конечной точкой С. Следует обратить внимание, что из-за потенциального пересечения между наложениями для географических объектов, включая начальные и конечные точки, а также первый и последний транспортные сегменты соответственно, текстовые компоненты для наложения пешеходных сегментов не показаны на Фиг. 3-5. С другой стороны, если пользователь увеличивает уровень приближения относительно того, который представлен на Фиг. 5, возможно, что названия улиц для этих пешеходных сегментов будут отображаться.
На этапе 240 (фиг. 2) оператор 170 тегов анализирует наложения для последовательностей транспортных сегментов, чтобы определить, следует ли их отображать, и необходимо ли потенциальное объединение этих наложений, чтобы информация для части последовательности транспортных сегментов могла одновременно отображаться до некоторой степени на конкретном уровне приближения, вместо того, например, чтобы информация о транспортном сегменте обладала приоритетом над другой.
Если маршрутные объекты не сгруппированы в последовательность на протяжении маршрута, например, через API 165 маршрутизатора, то оператор 170 тегов в первую очередь группирует по меньшей мере транспортные сегменты для маршрута, этап 242. Это может быть выполнено путем совпадения начальной и конечной точек сегментов с другими сегментами и маршрутными точками или при использовании любых других подходящих способов. В вариантах, представленных на Фиг. 3-5, транспортные сегменты начинаются на следующих точках: Метро Бульвар Адмирала Ушакова и метро Бульвар Дмитрия Донского, а завершаются на метро Тургеневская и метро Бабушкинская. Представлено также два промежуточных транспортных сегмента, связанных с метрополитеном, текст которых не показан на Фиг. 3-5.
В этом случае транспортные сегменты представляют собой единую последовательность. Если транспортные сегменты, тем не менее, разделены пешеходными сегментами или транспортными сегментами другого типа, то части последовательностей транспортных сегментов одного и того же типа будут проанализированы по отдельности, что о