Область техники, к которой относится изобретение
Настоящее изобретение, в целом, относится к системам графической идентификации и, в частности, к системам и способам, которые отвечают на запрос пользователя идентифицировать огромные географические области.
Уровень техники
Эффективное определение сеток в географической области имеет решающее значение для последовательности современных технологий, таких как автономное вождение и онлайн-офлайн-сервисы, такие как онлайн-сервисы вызова такси. Технология помогает пользователю быстро идентифицировать свою сетку на карте, тем самым получая доступ к соответствующей информации, относящейся к сетке. Например, с технологией идентификации сетки платформа онлайн-офлайн может иметь возможность получать информацию о потребности в услугах для сеток с водителем такси и, соответственно, предоставлять информацию о потребности в услугах таксисту. Для туриста технология идентификации сетки может помочь платформе онлайн-офлайн услуг идентифицировать сетки, в которых находится турист, и тем самым продвигать точки интереса (POI) или услуги (услуги питания или отдыха, или базовые станции связи для смартфона туриста) туристу. При автономном вождении технология идентификации сетки может помочь автономному транспортному средству идентифицировать свою сетку на основании своего местоположения и, таким образом, обмениваться данными с базовыми станциями для передачи информации. Иногда масштаб карты для поиска по сетке слишком велик, т.е. количество сеток слишком велико, и быстро найти сетку становиться сложно. Например, когда маршрут или граница геозоны простирается на карте континентального или межконтинентального масштаба, номер сетки на карте может стать астрономическим. Следовательно, идентификация сеток, через которые проходит маршрут или геозона, может быть чрезвычайно насыщенной. Это особенно верно с учетом того, что сетки в мире индексируются на основании разделов на области, т.е. для разных разделов на карте мира индексы сеток в ней совершенно разные. Следовательно, когда маршрут или геозона пересекает один или несколько разделов на области, рабочая нагрузка по поиску соответствующих сеток может стать особенно сложной. Таким образом, желательно предоставить на карте эффективные системы и способы определения сеток в географической области.
Сущность изобретения
В одном аспекте настоящего изобретения, предоставляется система искусственного интеллекта, выполненная с возможностью идентифицировать сетки для геозоны в области на карте, которая включает в себя множество независимо проиндексированных областей сеток. Система искусственного интеллекта может включать в себя, по меньшей мере, один носитель данных и, по меньшей мере, один процессор, взаимодействующий, по меньшей мере, с одним носителем данных. По меньшей мере, один носитель данных может хранить карту и набор инструкций для идентификации географической области. При выполнении набора инструкций, по меньшей мере, одному процессору может быть дано указание загрузить, по меньшей мере, часть карты, по меньшей мере, из одного носителя данных, по меньшей мере, в одну схему кэширования и сгенерировать представление, по меньшей мере, части карты. Карта может быть разбита на множество сеток и разделена на множество разделов. Каждая сетка из множества сеток на карте может быть ассоциирована с индексом сетки, и сетки в каждом разделе могут индексироваться независимо. По меньшей мере, один процессор может быть также выполнен с возможностью получать информацию геозоны географической области на карте и определять последовательность граничных сеток геозоны из множества сеток. По меньшей мере, один процессор может быть дополнительно выполнен с возможностью идентифицировать, по меньшей мере, одну замкнутую область в географической области на основании последовательности граничной сетки. После определения, что замкнутая область, по меньшей мере, одна замкнутая область пересекает два или более разделов, по меньшей мере, один процессор может быть выполнен с возможностью сегментировать замкнутую область на две или более подобластей, так что каждая подобласть из двух или более подобластей расположены только в одном разделе множества разделов. По меньшей мере, один процессор также может быть выполнен с возможностью определять граничные сетки для каждой из двух или более подобластей. Для каждой из двух или более подобластей, по меньшей мере, один процессор может быть выполнен с возможностью идентифицировать внутренние сетки в подобласти из множества сеток на основании граничных сеток подобласти и индекса раздела, в котором находится подобласть. По меньшей мере, один процессор может быть дополнительно выполнен с возможностью идентифицировать сетки в географической области путем сбора граничных сеток двух или более подобластей и внутренних сеток в двух или более подобластях.
В другом аспекте настоящего изобретения предоставляется способ идентификации сеток для геозоны в области на карте, которая включает в себя множество независимо проиндексированных сеток. Способ может быть реализован на вычислительном устройстве, имеющем, по меньшей мере, один носитель данных, хранящий карту и набор инструкций для идентификации географической области и, по меньшей мере, один процессор, взаимодействующий, по меньшей мере, с одним носителем данных. Способ может включать в себя загрузку, по меньшей мере, части карты с, по меньшей мере, одного носителя данных, по меньшей мере, в одну схему кэширования и генерирование представления, по меньшей мере, части карты. Карта может быть разбита на множество сеток и разделена на множество разделов. Каждая сетка из множества сеток на карте может быть ассоциирована с индексом сетки, и сетки в каждом разделе могут индексироваться независимо. Способ также может включать в себя получение информации о геозоне географической области на карте и определение последовательности граничной сетки геозоны из множества сеток. Способ может дополнительно включать в себя идентификацию, по меньшей мере, одной замкнутой области в географической области на основании последовательности граничной сетки. После определения того, что замкнутая область, по меньшей мере, одна замкнутая область пересекает два или более разделов, способ может включать в себя сегментирование замкнутой области на две или более подобласти, так что каждая подобласть из двух или более подобластей располагается только в одном разделе множества разделов. Способ также может включать в себя определение граничных сеток для каждой из двух или более подобластей. Для каждой из двух или более подобластей способ может также включать в себя идентификацию внутренних сеток в подобласти из множества сеток на основании граничных сеток подобласти и индекса раздела, в котором находится подобласть. Способ может дополнительно включать в себя идентификацию сеток в географической области путем сбора граничных сеток двух или более подобластей и внутренних сеток в двух или более подобластях.
В другом аспекте настоящего изобретения предоставляется энергонезависимый машиночитаемый носитель. Энергонезависимый машиночитаемый носитель может включать в себя, по меньшей мере, один набор инструкций для идентификации географической области. При выполнении, по меньшей мере, одним процессором, по меньшей мере, одного набора инструкций, по меньшей мере, одному процессору предписывается выполнять действия по доступу к карте с, по меньшей мере, одного носителя данных и генерировать представление карты. Карта может быть разбита на множество сеток и разделена на множество разделов. Каждая сетка из множества сеток на карте может быть ассоциирована с индексом сетки, и сетки в каждом разделе могут индексироваться независимо. По меньшей мере, один набор инструкций может также предписывать, по меньшей мере, одному процессору выполнять действия получить информацию о геозоне географической области на карте и определить последовательность граничной сетки геозоны из множества сеток. По меньшей мере, один набор инструкций может дополнительно предписывать, по меньшей мере, одному процессору выполнять действия идентификации, по меньшей мере, одной замкнутой области в географической области на основании последовательности граничной сетки. После определения, что замкнутая область, по меньшей мере, одной замкнутой области пересекает два или более раздела, по меньшей мере один набор инструкций может предписывать, по меньшей мере, одному процессору выполнять действия по сегментации замкнутой области на две или более подобластей, чтобы каждая подобласть из двух или более подобластей располагается только в одном разделе из множества разделов. По меньшей мере, один набор инструкций может также предписывать, по меньшей мере, одному процессору выполнять действия по определению граничных сеток для каждой из двух или более подобластей. Для каждой из двух или более подобластей, по меньшей мере, один набор инструкций может также предписывать, по меньшей мере, одному процессору выполнять действия по идентификации внутренних сеток в подобласти из множества сеток на основании граничных сеток подобласти и индекса раздела, в котором расположена подобласть. По меньшей мере, один набор инструкций может дополнительно предписывать, по меньшей мере, одному процессору выполнять действия по идентификации сеток в географической области путем сбора граничных сеток двух или более подобластей и внутренних сеток в двух или более подобластях.
В другом аспекте настоящего изобретения предоставляется система искусственного интеллекта, выполненная с возможностью идентифицировать сетки для геозоны в области на карте. Карта может включать в себя множество независимо проиндексированных областей сеток. Система искусственного интеллекта может включать в себя, по меньшей мере, один сервер идентификации геозоны, на котором установлено первое приложение для идентификации сеток для геозоны, и, по меньшей мере, одно устройство пользователя, удаленное от сервера идентификации геозоны и установленное вторым приложением. Когда, по меньшей мере, одно устройство пользователя может управлять вторым приложением, по меньшей мере одно устройство пользователя может быть выполнено с возможностью устанавливать проводную или беспроводную связь с сервером идентификации геозоны через первое приложение. По меньшей мере, одно устройство пользователя также может быть выполнено с возможностью принимать информацию формы геозоны от пользователя, по меньшей мере, одного устройства пользователя и отправлять информацию форму геозоны, по меньшей мере, в один сервер идентификации геозоны через проводную или беспроводную связь. Система искусственного интеллекта также может включать в себя, по меньшей мере, один носитель данных, который взаимодействует, по меньшей мере, с одним сервером идентификации геозоны, хранящий карту и набор инструкций для идентификации географической области. При выполнении набора инструкций, по меньшей мере, один сервер идентификации геозоны может быть выполнен с возможностью загружать, по меньшей мере, часть карты, по меньшей мере, из одного носителя данных, по меньшей мере, в одну схему кэширования и генерировать представление, по меньшей мере, части карты. Карта может быть разбита на множество сеток и разделена на множество разделов. Каждая сетка из множества сеток на карте может быть ассоциирована с индексом сетки, и сетки в каждом разделе могут индексироваться независимо. По меньшей мере, один сервер идентификации геозоны также может быть выполнен с возможностью получать информацию геозоны географической области на карте и определять последовательность граничной сетки геозоны из множества сеток. По меньшей мере, один сервер идентификации геозоны может быть дополнительно выполнен с возможностью идентифицировать, по меньшей мере, одну замкнутую область в географической области на основании последовательности граничной сетки. После определения, что замкнутая область, по меньшей мере, одна замкнутая область пересекает два или более разделов, по меньшей мере, один сервер идентификации геозоны может быть выполнен с возможностью сегментировать замкнутую область на две или более подобластей, чтобы каждая подобласть из двух или более подобластей располагается только в одном разделе множества разделов. По меньшей мере, один сервер идентификации геозоны также может быть выполнен с возможностью определять граничные сетки для каждой из двух или более подобластей. Для каждой из двух или более подобластей, по меньшей мере, один сервер идентификации геозоны также может быть выполнен с возможностью идентифицировать внутренние сетки в подобласти из множества сеток на основании граничных сеток подобласти и индекса раздела, в котором находится подобласть. По меньшей мере, один сервер идентификации геозоны может быть дополнительно выполнен с возможностью идентифицировать сетки в географической области путем сбора граничных сеток двух или более подобластей и внутренних сеток в двух или более подобластях. По меньшей мере, один сервер идентификации географической зоны может быть дополнительно выполнен с возможностью отправлять сигнал, включающий в себя информацию о сетках в географической области, по меньшей мере, в одно устройство пользователя и генерировать представление сеток в географической области, по меньшей мере, на одном устройстве пользователя.
В некоторых вариантах осуществления информация о геозоне может включать в себя набор пар координат, соответствующих множеству граничных точек. Для определения последовательности граничной сетки геозоны, по меньшей мере, один процессор может быть дополнительно выполнен с возможностью идентифицировать последовательность граничной сетки, соответствующую множеству граничных точек из множества сеток. По меньшей мере, один процессор может быть дополнительно выполнен с возможностью выполнять одну или нескольких операций, включающие в себя: получение двух соседних граничных точек из множества граничных точек; определение, соответствуют ли две соседние граничные точки одной и той же сетке; в ответ на определение, что две соседние граничные точки соответствуют одной и той же сетке, удаление одной из двух соседних точек; в ответ на определение, что две соседние граничные точки соответствуют двум разным сеткам, интерполирование граничной точки между двумя соседними граничными точками; и обновление последовательности граничной сетки, соответствующей множеству граничных точек.
В некоторых вариантах осуществления последовательность граничной сетки может включать в себя сетки из множества сеток карты, через которые проходит геозона. Для идентификации, по меньшей мере, одной замкнутой области, по меньшей мере, один процессор может быть дополнительно выполнен с возможностью определять, включает ли в себя последовательность граничной сетки одну или несколько сводных сеток, в котором сводная сетка соответствует, по меньшей мере, двум одинаковым индексам сетки. В ответ на определение, что последовательность граничной сетки включает в себя одну или несколько сводных сеток, для каждой из одной или нескольких сводных сеток, по меньшей мере, один процессор может быть выполнен с возможностью идентифицировать область в географической области на одной стороне сводной сетки в качестве первой замкнутой области и области в географической области с другой стороны сводной сетки в качестве второй замкнутой области, отличной от первой замкнутой области.
В некоторых вариантах осуществления для идентификации, по меньшей мере, одной замкнутой области, по меньшей мере один процессор может быть дополнительно выполнен с возможностью генерировать пустой стек и пустую вспомогательную карту. Для каждой сетки из последовательности граничной сетки, по меньшей мере, один процессор может быть выполнен с возможностью последовательно получать сетку из последовательности граничных сеток и определять, находится ли индекс сетки, соответствующий сетке, во вспомогательной карте. В ответ на определение, что индекс сетки не находится во вспомогательной карте, по меньшей мере, один процессор может быть выполнен с возможностью вставить индекс сетки в стек и ввести индекс сетки во вспомогательную карту. В ответ на определение, что индекс сетки находится во вспомогательной карте, по меньшей мере, один процессор может быть выполнен с возможностью назначить сетку, соответствующую индексу сетки, в качестве сводной сетки одной или нескольких сводных сеток, назначить индекс сетки как индекс сводной сетки, выбирать индексы сетки, которые находятся в стеке, из стека до тех пор, пока индекс сетки в верхней части стека не станет таким же, как индекс сводной сетки, и назначить сетки, соответствующие выбранным индексам сетки, как граничные сетки первой замкнутой области. По меньшей мере, один процессор может быть дополнительно выполнен с возможностью назначать сетки, соответствующие индексам сетки, остающимся в стеке, как граничные сетки второй замкнутой области.
В некоторых вариантах осуществления геозона может быть определена на основании окружности, ограниченного центром и радиусом. Для идентификации, по меньшей мере, одной замкнутой области в географическом области, по меньшей мере один процессор может быть дополнительно выполнен с возможностью осуществлять выборку множества точек выборки на окружности с заданным интервалом выборки и определять граничные сетки, по меньшей мере, одной замкнутой области в географической области на основании множества точек выборки.
В некоторых вариантах осуществления заданный интервал выборки может быть ассоциирован с радиусом окружности и разрешением, относящимся к сетке множества сеток.
В некоторых вариантах осуществления, по меньшей мере, один процессор может быть дополнительно выполнен с возможностью после определения, что две или более точки выборки множества точек выборки соответствуют одной и той же сетке, удалять одну или несколько точек выборки из двух или более точек выборки для получения только одной точки выборки, соответствующей сетке.
В некоторых вариантах осуществления, после сегментации, по меньшей мере, одной замкнутой области на две или более подобластей, по меньшей мере один процессор может быть выполнен с возможностью определять перекрывающиеся краевые сетки, где две или более подобластей пересекаются с одним или больше краями множества разделов и добавлять перекрывающиеся краевые сетки к двум или более подобластям в качестве граничных сеток двух или более подобластей.
В некоторых вариантах осуществления для идентификации внутренних сеток в подобласти из множества сеток, по меньшей мере, один процессор может быть выполнен с возможностью инициализировать матрицу сканирования. Матрица сканирования может включать в себя множество сот, и каждая сота матрицы сканирования может иметь первое значение. По меньшей мере, один процессор может быть выполнен с возможностью выполнять первое обновление матрицы сканирования путем заполнения вторым значением каждой из первого множества сот матрицы сканирования. Первое множество сот может соответствовать граничным сеткам подобласти. Для каждой соты матрицы сканирования после первого обновления, имеющего первое значение, по меньшей мере, один процессор может быть выполнен с возможностью определять, находится ли сетка, соответствующая соте, в географическом области. В ответ на определение, что сетка, соответствующая соте, находится в географическом области, по меньшей мере, один процессор может быть дополнительно выполнен с возможностью выполнять второе обновление матрицы сканирования путем заполнения третьим значением соты матрицы сканирования. По меньшей мере, один процессор может быть дополнительно выполнен с возможностью назначать сетки, соответствующих сотам с третьим значением, как внутренние сетки в подобласти.
В некоторых вариантах осуществления второе значение и третье значение могут совпадать друг с другом.
Дополнительные признаки будут изложены частично в нижеследующем описании и частично станут очевидными для специалистов в данной области техники после изучения нижеследующих и сопроводительных чертежей или могут быть изучены специалистами в данной области.
Краткое описание чертежей
Настоящее изобретение дополнительно описывается в терминах примерных вариантов осуществления. Эти примерные варианты осуществления подробно описаны со ссылкой на чертежи. Чертежи выполнены не в масштабе. Эти варианты осуществления представляют собой неограничивающие примерные варианты осуществления, в которых одинаковые ссылочные позиции представляют аналогичные структуры на нескольких видах чертежей, и в которых:
Фиг.1 является блок-схемой примерной системы искусственного интеллекта согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.2 является схемой, иллюстрирующей примерные аппаратные и/или программные компоненты примерного вычислительного устройства согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.3 является схемой, иллюстрирующей примерное устройство согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.4A является схемой, иллюстрирующей примерный механизм обработки согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.4B является схемой, иллюстрирующей примерный модуль определения границы геозоны согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.4C является схемой, иллюстрирующей примерный модуль определения замкнутой области согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.4D является схемой, иллюстрирующей примерный модуль определения подобласти согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.4E является схемой, иллюстрирующей примерный модуль определения внутренней сетки согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.4F является схемой, иллюстрирующей примерный модуль определения индекса сетки согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.5 является блок-схемой алгоритма, иллюстрирующей примерный процесс определения сеток в географической области согласно некоторым вариантам осуществления настоящего изобретения.
Фиг.6A и фиг.6B являются блок-схемами алгоритма, иллюстрирующие примерные процессы для определения исходной последовательности граничной сетки геозоны согласно некоторым вариантам осуществления настоящего изобретения.
Фиг.7A является блок-схемой алгоритма, иллюстрирующей примерный процесс определения индекса сетки, соответствующего паре координат, согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.7B является схемой, иллюстрирующей октаэдр, представляющий землю, согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.7C-7E являются схемами, иллюстрирующие примерные операции уточнения для уточнения раздела октаэдра согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.7F и фиг.7G являются схемами, иллюстрирующие примерную систему координат проекции на участке октаэдра согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.7H является схемой, иллюстрирующей преобразование декартовой координаты в координату проекции согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.7I является схемой, иллюстрирующей целевую центральную точку в шестиугольной сетке согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.7J является схемой, иллюстрирующей общую целевую точку в сетке ромбовидной формы согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.7K является схемой, иллюстрирующей назначение целевой центральной точки сетки кроссовера согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.8 является блок-схемой алгоритма, иллюстрирующей примерный процесс для определения окончательной последовательности граничной сетки геозоны на основании исходной последовательности граничной сетки согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.9A и фиг.9B являются блок-схемами алгоритма, иллюстрирующие примерные процессы для определения одной или нескольких замкнутых областей, ассоциированных с географической областью, согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.10 является блок-схемой алгоритма, иллюстрирующей примерный процесс определения граничных сеток подобластей согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.11A является блок-схемой алгоритма, иллюстрирующей примерный процесс определения внутренних сеток в подобласти согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.11B показывает примерную подобласть раздела согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.12A и фиг.12B показывают две примерные геозоны согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.13A является схемой, показывающей сетки в географической области Пекина; и
Фиг.13B является схемой, иллюстрирующей круговую географическую область согласно некоторым вариантам осуществления настоящего изобретения.
Подробное описание
Следующее описание представлено для предоставления возможности любому специалисту в данной области техники использовать настоящее изобретение, и предоставляется в контексте конкретного приложения и его требований. Различные модификации раскрытых вариантов осуществления будут очевидны для специалистов в данной области техники, и общие принципы, определенные в данном документе, могут быть применены к другим вариантам осуществления и приложениям без отклонения от сущности и объема настоящего изобретения. Таким образом, настоящее изобретение не ограничивается показанными вариантами осуществления, но должно соответствовать самому широкому объему в соответствии с формулой изобретения.
Терминология, используемая в данном документе, предназначена только для описания конкретных примерных вариантов осуществления и не предназначена для ограничения. Используемые здесь формы единственного числа могут быть предназначены для включения также форм множественного числа, если контекст явно не указывает иное. Также будет понятно, что термины «содержит», «содержащий», «включает в себя» и/или «включающий в себя» при использовании в настоящем изобретении, определяют наличие указанных признаков, целых чисел, этапов, операций, элементов и/или компонентов, но не препятствуют наличию или добавлению одной или нескольких других признаков, целых чисел, этапов, операций, элементов, компонентов и/или их групп.
Эти и другие признаки и характеристики настоящего изобретения, а также способы работы и функции ассоциированных элементов структуры и сочетание частей и снижение себестоимости могут стать более очевидными при рассмотрении следующего описания со ссылкой на сопроводительные чертежи, которые являются частью данной спецификации. Однако следует четко понимать, что чертежи предназначены только для целей иллюстрации и описания и не предназначены для ограничения объема настоящего изобретения. Понятно, что чертежи выполнены не в масштабе.
Блок-схемы алгоритма, используемые в настоящем изобретении, иллюстрируют операции, которые реализуют системы в соответствии с некоторыми вариантами реализации настоящего изобретения. Следует четко понимать, что операции блок-схем алгоритма могут быть реализованы не в последовательности. И наоборот, операции могут быть реализованы в обратной последовательности или одновременно. Более того, к блок-схемам алгоритма могут быть добавлены одна или несколько других операций. Одна или несколько операций могут быть удалены из блок-схем алгоритма.
Кроме того, хотя системы и способы, раскрытые в настоящем изобретении, описаны преимущественно относительно идентификации сеток области, также следует понимать, что это только один примерный вариант осуществления. Система или способ настоящего изобретения могут применяться к пользователю любого другого типа онлайн-офлайн сервисной платформы. Например, система или способ настоящего изобретения могут применяться к пользователям в различных транспортных системах, включающие в себя наземные, водные, аэрокосмические и т.п. или любую их комбинацию. Транспортное средство транспортных систем может включать в себя такси, частный автомобиль, прицепное устройство, автобус, поезд, сверхскоростной поезд, высокоскоростной поезд, метро, судно, самолет, космический корабль, воздушный шар, беспилотное транспортное средство и т.п. или любую их комбинацию. Транспортная система также может включать в себя любую транспортную систему, которая использует управление и/или распространение, например, систему для отправки и/или приема экспресса. Сценарии приложений системы или способа настоящего изобретения могут включать в себя веб-страницу, подключаемый модуль браузера, клиентский терминал, настраиваемую систему, систему внутреннего анализа, робота с искусственным интеллектом и т.п., или любую комбинацию из них.
Начальные точки обслуживания в настоящем изобретении могут быть получены с помощью технологии позиционирования, встроенной в беспроводное устройство (например, пассажирский терминал, терминал водителя и т.д.). Технология позиционирования, используемая в настоящем изобретении, может включать в себя глобальную систему позиционирования (GPS), глобальную навигационную спутниковую систему (GLONASS), систему навигации по компасу (COMPASS), систему позиционирования Galileo, квазизенитную спутниковую систему (QZSS), технологию точного беспроводного позиционирования (Wi-Fi) и т.п., или любую их комбинацию. Одна или несколько из вышеуказанных технологий позиционирования могут использоваться взаимозаменяемо в настоящем изобретении. Например, способ на основании GPS и способ на основании Wi-Fi могут использоваться вместе в качестве технологий определения местоположения для определения местоположения беспроводного устройства.
DGGS представляет собой новое решение для глобального моделирования, которое использует особый способ для разделения карты мира на бесшовные, неперекрывающиеся иерархические сеточные структуры с несколькими разрешениями и для единообразного кодирования сеток в регионах мира. Можно получить доступ к сеткам извне на основании идентификаторов координат широты и долготы этих сеток и, в соответствии с идентификатором сетки, доступ к координатам вершин и центров сетки и другим интерфейсам. Идентификация сетки важна, поскольку она помогает агрегировать и обрабатывать данные из области сетки, что может лучше отражать статус коммерческой эксплуатации области. Например, с данными о том, как суммируется заказ такси за один день в районе Хайдянь в Пекине, онлайн-платформа для вызова такси может предоставить более сложные транспортные услуги в районе Хайдянь. Дополнительно, при поиске в области (например, заказ, удовлетворяющий определенным критериям), область может быть преобразована в сетку, и поиск в этой сетке будет более эффективным.
Аспект настоящего изобретения относится к системам и/или способам искусственного интеллекта для идентификации сеток в геозоне географической области на карте. С этой целью система искусственного интеллекта может сначала принять запрос из устройства пользователя, включающий в себя информацию, относящуюся к геозоне географической области. Когда географическая область включает в себя две или более замкнутых области, для каждой замкнутой области система искусственного интеллекта может определить, пересекает ли замкнутая область два или более независимых раздела индексации сетки. Если замкнутая область действительно пересекает два или более разделов, система искусственного интеллекта может затем сегментировать замкнутую область на две или более подобласти, чтобы каждая подобласть находилась только в одном разделе и идентифицировала сетки в каждой подобласти. Наконец, система искусственного интеллекта может собрать все сетки в подобластях как окончательные сетки, которые необходимо определить. Поскольку сетки в одном разделе ассоциированы с одним и тем же индексом раздела, будет легко определить относительные позиции сеток в одном разделе. Соответственно, для принятия решения система искусственного интеллекта может собирать данные, относящиеся к сеткам всех подобластей.
Системы и способы искусственного интеллекта в настоящем изобретении требуют ответа на запрос онлайн-офлайн-сервиса, чтобы в качестве примера идентифицировать сетки для геозоны. Однако они также могут применяться в других сценариях идентификации формы и/или границ, таких как операция привязки границы формы к сеткам, когда сетки не индексируются в рамках единой системы индексации.
Следует отметить, что настоящее решение основывается на сборе данных (например, информации местоположения), относящихся к устройству пользователя (например, пассажирскому терминалу, терминалу водителя), зарегистрированному в системе искусственного интеллекта, которая является новой формой средства сбора данных, основанное только на будущее развитие интернета. Настоящее изобретение предоставляет подробную информацию об устройстве пользователя, которое может появиться только в эпоху после интернета. В эпоху, предшествовавшую появлению интернета, GPS недоступна, и невозможно получить информацию местонахождения миллионов тысяч устройств пользователя в реальном времени и/или практически в реальном времени. Однако переход из режима онлайн в автономный позволяет системе искусственного интеллекта отслеживать миллионы тысяч местоположений устройств пользователя в режиме реального времени и/или практически в реальном времени с помощью GPS, и затем обеспечивать более эффективную схему обслуживания на основании местоположения устройств пользователя. Таким образом, настоящее решение имеет прочный фундамент и направлено на решение технической задачи, возникшей только в эпоху пост-интернета.
Фиг.1 представляет собой блок-схему примерной системы искусственного интеллекта, выполненной с возможностью идентифицировать сетки для геозоны в области на карте, которая включает в себя множество независимо проиндексированных областей сеток, согласно некоторым вариантам осуществления настоящего изобретения. Например, система 100 искусственного интеллекта может быть платформой онлайн-транспортных услуг для транспортных услуг, таких как служба автономной навигации, служба связи высокоскоростных поездов, служба вызова такси, служба шофера, служба экспресс-автомобилей, служба автопарков, служба расписания транспортных средств, автобусная служба, аренда водителя, услуги трансфера. Система 100 искусственного интеллекта может включать в себя сервер 110, сеть 120, пассажирский терминал 130, терминал 140 водителя и устройство 150 хранения. Сервер 110 может включать в себя механизм 112 обработки.
Во время работы один или несколько компонентов системы 100 искусственного интеллекта, таких как пассажирский терминал 130, терминал 140 водителя, устройство 150 хранения, другой компонент сервера 110, могут устанавливать приложение, сконфигурированное для связи (например, через проводную или беспроводную связь) и использовать способы, раскрытые в настоящем изобретении, такие как отправка запросов на идентификацию географической области на сервер 110. Пользователь может определять форму геозоны географической области. Например, через приложение пользователь может нарисовать круг или линию через область на сенсорном экране своего смартфона во время связи с сервером 110 и может идентифицировать сетки, которые пересекает линия или окружает круг. В качестве другого примера пользователь может ввести некоторые точки (например, ввести пары координат некоторых точек или задать круг, определяемый центром и радиусом) через свой смартфон и может идентифицировать сетки, в которых область определяется точками или охватывает круг. В ответ на действия пользователя смартфон может отправлять беспроводной сигнал на сервер 110 через сеть (например, сеть 120), кодируя или используя запрос на обслуживание. Сервер 110 также может установить приложение (такое же или отличное от приложения, установленного в одном или нескольких компонентах системы 100 искусственного интеллекта), выполненное с возможностью обработки информации и/или данных, относящихся к запросу на обслуживание. Например, сервер 110 может идентифицировать сетки в географической области на основании информации о круге или линии, полученной от одного или нескольких компонентов системы 100 искусственного интеллекта (например, пассажирского терминала 130, терминала 140 водителя, устройства 150 хранения, другого компонента сервера 110). Затем сервер 110 может отправлять сигналы, кодирующие или включающие в себя информацию о сетках, обратно на смартфон пользователя. Сигналы, принятые смартфоном, могут побуждать ответить дальнейшими операциями в отношении сеток. Например, смартфон может отображать одну или несколько сеток на своем экране, дополнительно запрашивать POI информацию в одной или нескольких сетках или отправлять запрос связи беспроводным станциям в одной или нескольких сетках и т.д.
В некоторых вариантах осуществления сервер 110 может быть одним сервером или группой серверов. Группа серверов может быть централизованной или распределенной (например, сервер 110 может быть распределенной системой). В некоторых вариантах осуществления сервер 110 может быть локальным или удаленным. Например, сервер 110 может получить доступ к информации и/или данным, хранящимся в пассажирском терминале 130, терминале 140 водителя и/или устройстве 150 хранения через сеть 120. В качестве другого примера сервер 110 может быть напрямую подключен к пассажирскому терминалу 130, терминалу 140 водителя и/или устройству 150 хранения для доступа к информации и/или данным. В некоторых вариантах реализации сервер 110 может быть реализован на облачной платформе. Просто в качестве примера облачная платформа может включать в себя частное облако, общедоступное облако, гибридное облако, облако сообщества, распределенное облако, межоблачное облако, мультиоблако и т.п. или любую их комбинацию. В некоторых вариантах осуществления в настоящем изобретении сервер 110 может быть реализован на вычислительном устройстве, имеющем один или несколько компонентов, показанных на фиг.2.
В некоторых вариантах осуществления сервер 110 может включать в себя механизм 112 обработки. Механизм 112 обработки может обрабатывать информацию и/или данные, относящиеся к запросу на обслуживание, для выполнения одной или нескольких функций сервера 110, описанного в настоящем изобретении. Например, механизм 112 обработки может осуществлять доступ к карте, по меньшей мере, с одного носителя данных и получать информацию о геозоне географической области на карте. Информация о геозоне может включать в себя набор пар координат, соответствующих множеству граничных точек или центру и радиусу географической области. В качестве другого примера механизм 112 обработки может идентифицировать сетки в географической области на основании информации о геозоне. В качестве еще одного примера механизм 112 обработки может извлекать информацию, относящуюся к идентифицированным сеткам, для дополнительной обработки, например, расписание транспортных средств. В некоторых вариантах осуществления механизм 112 обработки может включать в себя один или несколько механизмов обработки (например, одноядерный процессор(ы) или многоядерный процессор(ы)). Просто в качестве примера механизм 112 обработки может включать в себя центральный процессор (CPU), специализированную интегральную схему (ASIC), процессор набора команд для конкретного приложения (ASIP), графический процессор (GPU), блок физической обработки (PPU), цифровой сигнальный процессор (DSP), программируемую вентильную матрицу (FPGA), программируемое логическое устройство (PLD), контроллер, микроконтроллерный блок, компьютер с сокращенным набором команд (RISC), микропроцессор и т.п. или любую их комбинацию.
Сеть 120 может способствовать обмену информацией и/или данными. В некоторых вариантах осуществления один или несколько компонентов в системе 100 искусственного интеллекта (например, сервер 110, пассажирский терминал 130, терминал 140 водителя и/или устройство 150 хранения) могут передавать информацию и/или данные другому компоненту (компонентам) в системе 100 искусственного интеллекта через сеть 120. Например, сервер 110 может получать данные запроса обслуживания их пассажирского терминала 130 через сеть 120. В некоторых вариантах осуществления сеть 120 может быть проводной или проводной сетью любого типа или их комбинацией. Просто в качестве примера сеть 120 может включать в себя кабельную сеть, проводную сеть, волоконно-оптическую сеть, сеть связи, интранет, локальную сеть (LAN), глобальную сеть (WAN), беспроводную локальную сеть (WLAN), городскую сеть (MAN), региональную сеть (WAN), телефонную коммутируемую сеть общего пользования (PSTN), сеть BluetoothTM, сеть ZigBeeTM, сеть связи ближнего радиуса действия (NFC), глобальную систему мобильной связи (GSM), сеть множественного доступа с кодовым разделением каналов (CDMA), сеть множественного доступа с временным разделением (TDMA), сеть общей пакетной радиосвязи (GPRS), сеть повышенной скорости передачи данных GSM (EDGE), сеть широкополосного множественного доступа с кодовым разделением каналов (WCDMA), сеть высокоскоростного пакетного доступа нисходящей линии связи (HSDPA), сеть долгосрочного развития (LTE), сеть протокола пользовательских дейтаграмм (UDP), сеть протокола управления передачей/интернет-протокол (TCP/IP), сеть службы коротких сообщений (SMS), сеть с протоколом беспроводных приложений (WAP), сеть со сверхшироким диапазоном частот (UWB), инфракрасный луч и т.п. или любое их сочетание. В некоторых вариантах осуществления сервер 110 может включать в себя одну или несколько точек доступа к сети. Например, сервер 110 может включать в себя точки доступа к проводной или беспроводной сети, такие как базовые станции и/или точки обмена 120-1, 120-2,…, в интернете через которые один или несколько компонентов системы 100 искусственного интеллекта могут быть подключены к сети 120 для обмена данными и/или информацией.
Пассажирский терминал 130 может использоваться пассажиром для запроса услуги онлайн-офлайн. Онлайн-офлайн-сервис может включать в себя транспортную услугу по запросу. Например, пользователь пассажирского терминала 130 может использовать пассажирский терминал 130 для передачи запроса на обслуживание для себя или другого пользователя или получения услуги и/или информации или инструкций от сервера 110. Терминал 140 водителя может использоваться водителем, чтобы ответить онлайн-сервису на офлайн. Например, пользователь терминала 140 водителя может использовать терминал 140 водителя для приема запроса на обслуживание от пассажирского терминала 130 и/или информации или инструкций от сервера 110. В некоторых вариантах осуществления термин «пользователь» и «пассажирский терминал» могут использоваться взаимозаменяемо и термины «пользователь» и «терминал водителя» могут использоваться взаимозаменяемо.
В некоторых вариантах осуществления пассажирский терминал 130 может включать в себя мобильное устройство 130-1, планшетный компьютер 130-2, портативный компьютер 130-3, встроенное устройство в автотранспортном средстве 130-4 и т.п. или любое их сочетание. В некоторых вариантах осуществления мобильное устройство 130-1 может включать в себя интеллектуальное абонентское устройство, носимое устройство, интеллектуальное мобильное устройство, устройство виртуальной реальности, устройство дополненной реальности и т.п. или любую их комбинацию. В некоторых вариантах осуществления устройство умного дома может включать в себя интеллектуальное осветительное устройство, устройство управления интеллектуальным электрическим устройством, интеллектуальное устройство мониторинга, интеллектуальное телевидение, интеллектуальную видеокамеру, переговорное устройство и т.п. или любую их комбинацию. В некоторых вариантах осуществления носимое устройство может включать в себя умный браслет, умную обувь, умные очки, умный шлем, умные часы, умную одежду, умный рюкзак, умный аксессуар и т.п. или любую их комбинацию. В некоторых вариантах осуществления интеллектуальное мобильное устройство может включать в себя смартфон, персональный цифровой помощник (PDA), игровое устройство, навигационное устройство, устройство торговой точки (POS) и т.п. или любую их комбинацию. В некоторых вариантах осуществления устройство виртуальной реальности и/или устройство дополненной реальности может включать в себя шлем виртуальной реальности, очки виртуальной реальности, патч виртуальной реальности, шлем дополненной реальности, очки дополненной реальности, патч дополненной реальности и т.п. или любое их сочетание. Например, устройство виртуальной реальности и/или устройство дополненной реальности может включать в себя Google Glass, Oculus Rift, HoloLens, Gear VR и т.д. В некоторых вариантах осуществления встроенное устройство в автомобиле 130-4 может включать бортовой компьютер, бортовое телевидение и т.д. В некоторых вариантах осуществления пассажирский терминал 130 может быть беспроводным устройством с технологией определения местоположения для определения местоположения пользователя и/или пассажирского терминала 130.
В некоторых вариантах реализации, терминал 140 водителя может включать в себя мобильное устройство 140-1, планшетный компьютер 140-2, портативный компьютер 140-3, встроенное устройство в автомобиле 140-4 и т.п. или любое их сочетание. В некоторых вариантах осуществления мобильное устройство 140-1 может включать в себя интеллектуальное абонентское устройство, носимое устройство, интеллектуальное мобильное устройство, устройство виртуальной реальности, устройство дополненной реальности и т.п. или любую их комбинацию. В некоторых вариантах осуществления терминал 140 водителя может быть аналогичным или таким же устройством, как пассажирский терминал 130. В некоторых вариантах осуществления терминал 140 водителя может быть беспроводным устройством с технологией определения местоположения для определения местоположения водителя и/или терминала 140 водителя. В некоторых вариантах осуществления пассажирский терминал 130 и/или терминал 140 водителя могут связываться с другим устройством позиционирования для определения положения пассажира, пассажирский терминала 130, водителя и/или терминала 140 водителя. В некоторых вариантах осуществления пассажирский терминал 130 и/или терминал 140 водителя могут передавать информацию о местоположении на сервер 110.
Устройство 150 хранения может хранить данные и/или инструкции. В некоторых вариантах осуществления устройство 150 хранения может хранить данные, полученные от пассажирского терминала 130 и/или терминала 140 водителя. В некоторых вариантах осуществления устройство 150 хранения может хранить данные и/или инструкции, которые сервер 110 может выполнять или использовать для выполнения примерных способов, описанных в настоящем изобретении. В некоторых вариантах осуществления устройство 150 хранения может включать в себя запоминающее устройство большой емкости, съемное запоминающее устройство, энергозависимое запоминающее устройство для чтения и записи, постоянное запоминающее устройство (ROM) или подобное или любую их комбинацию. Примерное устройство хранения может включать в себя магнитный диск, оптический диск, твердотельный накопитель и т.д. Примерное съемное устройство хранения может включать в себя флэш-накопитель, гибкий диск, оптический диск, карту памяти, zip-диск, магнитную ленту и т.д. Пример энергозависимой памяти для чтения и записи может включать в себя оперативную память (RAM). Примерное RAM может включать в себя динамическую RAM (DRAM), синхронное динамическое RAM с удвоенной скоростью передачи данных (DDR SDRAM), статическое RAM (SRAM), тиристорное RAM (T-RAM) и RAM с нулевым конденсатором (Z-RAM) и т.д. Примерное ROM может включать в себя ROM с маской (MROM), программируемое ROM (PROM), стираемое программируемое ROM (PEROM), электрически стираемое программируемое ROM (EEPROM), ROM на компакт-диске (CD-ROM) и цифровой универсальный дисковый ROM и т. д. В некоторых вариантах осуществления устройство 150 хранения может быть реализовано на облачной платформе. Просто в качестве примера облачная платформа может включать в себя частное облако, общедоступное облако, гибридное облако, облако сообщества, распределенное облако, межоблачное облако, мультиоблако и т.п. или любую их комбинацию.
В некоторых вариантах осуществления устройство 150 хранения может быть подключено к сети 120 для связи с одним или несколькими компонентами в системе 100 искусственного интеллекта (например, сервером 110, пассажирским терминалом 130, терминалом 140 водителя и т.д.). Один или несколько компонентов в системе 100 искусственного интеллекта могут получать доступ к данным или инструкциям, хранящимся в устройстве 150 хранения, через сеть 120. В некоторых вариантах осуществления устройство 150 хранения может быть напрямую подключено к одному или нескольким компонентам в системе 100 искусственного интеллекта (например, сервер 110, пассажирский терминал 130, терминал 140 водителя и т.д.). В некоторых вариантах осуществления устройство 150 хранения может быть частью сервера 110.
В некоторых вариантах осуществления один или несколько компонентов в системе 100 искусственного интеллекта (например, сервер 110, пассажирский терминал 130, терминал 140 водителя и т.д.) могут иметь разрешение на доступ к устройству 150 хранения. В некоторых вариантах осуществления один или несколько компонентов в системе 100 искусственного интеллекта могут считывать и/или изменять информацию, относящуюся к пассажиру, водителю и/или публике, когда выполняется одно или несколько условий. Например, сервер 110 может считывать и/или изменять информацию одного или нескольких пользователей после обслуживания. В качестве другого примера терминал 140 водителя может получить доступ к информации, относящейся к пассажиру, при получении запроса на обслуживание от пассажирского терминала 130, но терминал 140 водителя может не изменять соответствующую информацию пассажира.
В некоторых вариантах осуществления обмен информацией одного или нескольких компонентов в системе 100 искусственного интеллекта может осуществляться посредством запроса услуги. Объектом запроса услуги может быть любой товар. В некоторых вариантах реализации продукт может быть материальным или нематериальным продуктом. Материальный продукт может включать в себя пищу, лекарство, товар, химический продукт, электрический прибор, одежду, автомобиль, жилье, предметы роскоши и т.п. или любую их комбинацию. Нематериальный продукт может включать в себя сервисный продукт, финансовый продукт, информационный продукт, интернет-продукт и т.п. или любую их комбинацию. Интернет-продукт может включать индивидуальный хост-продукт, веб-продукт, мобильный интернет-продукт, коммерческий хост-продукт, встроенный продукт и т.п., или любую их комбинацию. Продукт мобильного интернета может использоваться в программном обеспечении мобильного терминала, программе, системе и т.п. или любой их комбинации. Мобильный терминал может включать в себя планшетный компьютер, портативный компьютер, мобильный телефон, персональный цифровой помощник (PDA), умные часы, устройство торговой точки (POS), бортовой компьютер, бортовое телевидение, носимое устройство, или тому подобное, или любую их комбинацию. Например, продуктом может быть любое программное обеспечение и/или приложение, используемое на компьютере или мобильном телефоне. Программное обеспечение и/или приложение могут относиться к общению, покупкам, транспорту, развлечениям, обучению, инвестициям и т.п. или любой их комбинации. В некоторых вариантах осуществления программное обеспечение и/или приложение, относящиеся к транспортировке, могут включать в себя программное обеспечение и/или приложение для путешествий, программное обеспечение и/или приложение для планирования транспортных средств, картографическое программное обеспечение и/или приложение и т.д. В программном обеспечении для планирования транспортных средств и/или приложения, транспортное средство может включать в себя лошадь, повозку, рикшу (например, тачку, велосипед, трехколесный велосипед и т.д.), автомобиль (например, такси, автобус, личный автомобиль и т.д.), поезд, метро, судно, самолет (например, самолет, вертолет, космический шаттл, ракета, воздушный шар и т. д.) или тому подобное, или любую их комбинацию.
Специалист в данной области техники поймет, что, когда элемент системы 100 искусственного интеллекта работает, этот элемент может действовать посредством электрических сигналов и/или электромагнитных сигналов. Например, когда пассажирский терминал 130 обрабатывает задачу, такую как ввод информации, относящейся к геозоне (например, набор пар координат) географической области, пассажирский терминал 130 может управлять логическими схемами в своем процессоре для выполнения такой задачи. Когда пассажирский терминал 130 передает запрос услуги на сервер 110, процессор сервера 110 может генерировать электрические сигналы, кодирующие запрос. Затем процессор сервера 110 может передавать электрические сигналы на выходной порт. Если пассажирский терминал 130 связывается с сервером 110 через проводную сеть, выходной порт может быть физически подключен к кабелю, который дополнительно передает электрический сигнал на входной порт сервера 110. Если пассажирский терминал 130 связывается с сервером 110 через беспроводную сеть, выходной порт пассажирского терминала 130 может быть одной или несколькими антеннами, которые преобразуют электрический сигнал в электромагнитный сигнал. Аналогичным образом, терминал 140 водителя может обрабатывать задачу посредством работы логических схем в своем процессоре и принимать инструкцию и/или запрос услуги из сервера 110 через электрический сигнал или сигналы электромагнитов. В электронном устройстве, таком как пассажирский терминал 130, терминал 140 водителя и/или сервер 110, когда его процессор обрабатывает инструкцию, передает инструкцию и/или выполняет действие, инструкцию и/или действие осуществляется посредством электрических сигналов. Например, когда процессор извлекает или сохраняет данные с носителя данных, он может передавать электрические сигналы на устройство чтения / записи носителя данных, которое может считывать или записывать структурированные данные на носитель данных. Структурированные данные могут быть переданы в процессор в виде электрических сигналов через шину электронного устройства. Здесь электрический сигнал может относиться к одному электрическому сигналу, последовательности электрических сигналов и/или множеству дискретных электрических сигналов.
Фиг.2 представляет собой схему, иллюстрирующую примерные компоненты аппаратного и программного обеспечения вычислительного устройства, на котором сервер 110, пассажирский терминал 130 и/или терминал 140 водителя могут быть реализованы согласно некоторым вариантам осуществления настоящего изобретения. Например, механизм 112 обработки может быть реализован на вычислительном устройстве 200 и выполнен с возможностью выполнять функции механизма 112 обработки, раскрытого в настоящем изобретении.
Вычислительное устройство 200 может использоваться для реализации системы из режима онлайн в офлайн для настоящего изобретения. Вычислительное устройство 200 может реализовать любой компонент онлайн-сервиса в офлайн режим, как описано в данном документе. На фиг.2 показано только одно такое компьютерное устройство исключительно для удобства. Специалисту в данной области техники будет понятно во время подачи настоящей заявки, компьютерные функции, относящиеся к онлайн-офлайн-сервису, как описано в данном документе, могут быть реализованы распределенным образом на аналогичных платформах для распределения нагрузки обработки.
Вычислительное устройство 200, например, может включать в себя COM-порты 250, подключенные к сети и облегчения передачи данных. Вычислительное устройство 200 может также включать в себя центральный процессор 220 в виде одного или нескольких процессоров для выполнения программных инструкций. Примерная компьютерная платформа может включать в себя внутреннюю шину 210 связи, устройство хранения программ и устройство хранения данных различных форм, например, диск 270 и постоянное запоминающее устройство (ROM) 230 или оперативное запоминающее устройство (RAM) 240, для различных файлов данных, которые должны обрабатываться и/или передаваться компьютером. Примерная компьютерная платформа может также включать в себя программные инструкции, хранящиеся в ROM 230, RAM 240 и/или другом типе постоянного носителя данных, который должен выполняться процессором 220. Способы и/или процессы настоящего изобретения могут быть реализовано в виде программных инструкций. Вычислительное устройство 200 может также включать в себя компонент 260 ввода/вывода, поддерживающий ввод/вывод между компьютером и другими его компонентами. Вычислительное устройство 200 также может принимать программы и данные через сетевую связь.
Просто для иллюстрации в вычислительном устройстве 200 описан только один процессор 220. Однако следует отметить, что вычислительное устройство 200 в настоящем изобретении также может включать в себя несколько процессоров, таким образом выполняемые операции и/или этапы способа одним процессором 220, как описано в настоящем изобретении, также может совместно или отдельно выполняться множеством процессоров. Например, если в настоящем изобретении изобретения процессор 220 вычислительного устройства 200 выполняет как этап A, так и этап B, следует понимать, что этап A и этап B также могут выполняться двумя разными процессорами совместно или отдельно в вычислительном устройстве 200. (например, первый процессор выполняет этап A и второй процессор выполняет этап B, или первый и второй процессоры совместно выполняют этапы A и B).
Фиг.3 является схемой, иллюстрирующей примерные аппаратные и/или программные компоненты примерного устройства, на котором пассажирский терминал 130 и/или терминал 140 водителя могут быть реализованы согласно некоторым вариантам осуществления настоящего изобретения. Устройство может быть мобильным устройством, например мобильным телефоном пассажира или водителя. Устройство также может быть электронным устройством, установленным на транспортном средстве, которым управляет водитель. Как показано на фиг.3, устройство 300 может включать в себя платформу 310 связи, дисплей 320, графический процессор (GPU) 330, центральный процессор (CPU) 340, ввод/вывод 350, память 360 и устройство 390 хранения. В некоторых вариантах осуществления любой другой подходящий компонент, включающий в себя, помимо прочего, системную шину или контроллер (не показан), также может быть включен в структуру устройства 300. В некоторых вариантах осуществления мобильная операционная система 370 (например, iOS ™, Android ™, Windows Phone ™ и т.д.) и одно или несколько приложений 380 могут быть загружены в память 360 с устройства 390 хранения для выполнения посредством CPU 340. Приложения 380 могут включать в себя браузер или любые другие подходящие мобильные приложения для приема и предоставления информации, относящейся к онлайн-сервису в офлайн режим, или другой информации из сервера 110, и передачи информации, относящейся к онлайн-сервису в офлайн режим или другой информации в сервер 110. Взаимодействие пользователя с информационным потоком может быть достигнуто через I/O 350 и предоставленные в сервер 110 и/или другие компоненты системы 100 искусственного интеллекта через сеть 120. В некоторых вариантах осуществления устройство 300 может включать в себя устройство для сбора речевой информации, такое как микрофон 315.
Фиг.4A является блок-схемой, иллюстрирующей примерный механизм обработки для идентификации сеток в географической области согласно некоторым вариантам осуществления настоящего изобретения. Механизм 112 обработки может быть ассоциирован с устройством хранения (например, устройством 150 хранения, пассажирским терминалом 130 или терминалом 140 водителя) и может выполнять инструкции, хранящиеся в устройстве хранения. В некоторых вариантах осуществления механизм 112 обработки может включать в себя модуль 410 получения информации о геозоне, модуль 420 определения границ геозоны, модуль 430 определения замкнутой области, модуль 440 определения подобласти, модуль 450 определения внутренней сетки, модуль 460 определение индекса сетки и модуль 470 определения целевой сетки.
Модуль 410 получения информации о геозоне может быть выполнен с возможностью получать информацию о геозоне географической области на карте. В некоторых вариантах осуществления модуль 410 получения информации о геозоне может получать информацию о геозоне из одного или нескольких компонентов системы 100 искусственного интеллекта (например, пассажирского терминала 130, терминала 140 водителя, сервера 110, устройства 150 хранения). В некоторых вариантах осуществления геозона может быть определена на основании набора пар координат в географической системе координат. Каждая пара координат может включать в себя долготу и широту. Каждая пара координат может относиться к граничной точке геозоны. Модуль 410 получения информации о геозоне может получать набор пар координат, относящихся к геозоне, одновременно или по последовательно. Альтернативно или дополнительно, геозона может быть определена на основании окружности, определяемого центром и радиусом. Центр может соответствовать паре координат, которая включает в себя долготу и широту. Радиус может соответствовать длине, например, несколько метров, десятки метров, сотни метров и т.д.
Модуль 420 определения границ геозоны может быть выполнен с возможностью определять последовательности сетки границ геозоны из множества сеток карты. В некоторых вариантах осуществления последовательность граничной сетки может быть представлена как одномерный вектор. Последовательность граничных сеток геозоны может включать в себя набор граничных сеток, через которые проходит геозона. В некоторых вариантах реализации в последовательности граничных сеток геозоны имеется одна или несколько сводных сеток. Сводная сетка может появляться два или более раз в последовательности граничных сеток. Количество появлений одной сводной сетки может быть таким же, как количество раз, когда геозона проходит через опорную сетку. В некоторых вариантах реализации в последовательности граничных сеток нет сводной сетки.
Модуль 430 определения замкнутой области может быть выполнен с возможностью идентифицировать, по меньшей мере, одной замкнутой зоны в географическом области. В некоторых вариантах осуществления географическая область, окруженная геозоной, может включать в себя одну или несколько замкнутых областей. Каждая замкнутая область может относиться к области, которая включена в географическую область и окружена последовательностью граничных сеток в последовательности граничной сетки (конечная последовательность граничной сетки) геозоны. Модуль 430 определения замкнутой области может идентифицировать, по меньшей мере, одну замкнутую область в географической области на основании последовательности граничной сетки геозоны.
Модуль 440 определения подобласти может быть выполнен с возможностью сегментировать замкнутую область на две или более подобластей. В некоторых вариантах осуществления после определения, что замкнутая область пересекает два или более раздела, модуль 440 определения подобласти может сегментировать замкнутую область на две или более подобласти. После сегментации каждая подобласть из двух или более подобластей может располагаться только в одном разделе. Модуль 440 определения подобласти также может быть выполнен с возможностью определять граничные сетки для каждой из двух или более подобластей. В некоторых вариантах осуществления модуль 440 определения подобласти может определять перекрывающиеся краевые сетки, где две или более подобласти пересекаются с одним или более краями множества разделов. Модуль 440 определения подобласти может дополнительно добавлять перекрывающиеся краевые сетки к двум или более подобластям в качестве граничных сеток двух или более подобластей.
Модуль 450 определения внутренней сетки может быть выполнен с возможностью идентифицировать внутренние сетки в подобласти из множества сеток карты на основании граничных сеток подобласти и индекса раздела, в котором находится подобласть. Внутренние сетки в подобласти могут относиться к сеткам, которые окружены граничными сетками подобласти. В некоторых вариантах осуществления модуль 450 определения внутренней сетки может определять внутренние сетки в подобласти с использованием лучевого способа.
Модуль 460 определения индекса сетки может быть выполнен с возможностью определять индекс сетки, соответствующий географическому положению. Модуль 460 определения индекса сетки может сначала получить пару координат в географической системе координат, соответствующую географическому положению. Географическое положение может относиться к конкретной сетке. Затем модуль 460 определения индекса сетки может преобразовать пару координат в координату проекции в системе координат проекции. Наконец, модуль 460 определения индекса сетки может определять индекс сетки конкретной сетки.
Модуль 470 определения целевой сетки может быть выполнен с возможностью идентифицировать сетки в географической области (также называемые в данном документе целевыми сетками географической области). В некоторых вариантах осуществления для каждой подобласти модуль 470 определения целевой сетки может указывать внутренние сетки в подобласти и граничные сетки подобласти как целевые сетки, соответствующие подобласти. Модуль 470 определения целевой сетки может определять целевые сетки географической области, собирая все целевые сетки, соответствующие каждой из подобластей в географической области.
Следует отметить, что приведенное выше описание механизма 112 обработки предоставлено в целях иллюстрации и не предназначено для ограничения объема настоящего изобретения. Для специалистов в данной области техники, в соответствии с идеями настоящего изобретения могут быть сделаны многочисленные вариации и модификации. Однако эти изменения и модификации не выходят за рамки настоящего изобретения. В некоторых вариантах реализации два или более модулей могут быть объединены в один модуль. Например, модуль 460 определения индекса сетки может быть интегрирован в модуль 420 определения границы географической зоны. В качестве другого примера модуль 450 определения внутренней сетки может быть интегрирован в модуль 440 определения подобласти. Модуль 440 определения подобласти может оба определять граничные сетки и внутренние граничные сетки подобласти. В некоторых вариантах осуществления любой из модулей может быть разделен на два или более субмодуля. Например, модуль 440 определения подобласти может быть разделен на первый субмодуль и второй субмодуль. Первый субмодуль может быть выполнен с возможностью сегментировать замкнутую область на две или более подобласти, так что каждая подобласть из двух или более подобластей располагается только в одном разделе. Второй субмодуль может быть выполнен с возможностью определять граничные сетки подобласти.
Фиг.4B является блок-схемой, иллюстрирующей примерный модуль 420 определения границы геозоны согласно некоторым вариантам осуществления настоящего изобретения. Модуль 420 определения границы геозоны может включать в себя блок 421 идентификации, блок 422 выбора, блок 423 определения, блок 424 удаления, блок 425 интерполяции и блок 426 обновления.
Блок 421 идентификации может быть выполнен с возможностью идентификации последовательности граничной сетки (например, исходной последовательности граничной сетки), соответствующей множеству граничных точек. В некоторых вариантах осуществления исходная последовательность граничных сеток может включать в себя множество сеток (также называемых в данном документе граничными сетками). Каждая сетка может соответствовать граничной точке. Граничная точка может быть произвольной точкой в сетке, например, центральной точкой сетки, вершиной сетки и т.д. В некоторых вариантах осуществления две или более граничных точек могут соответствовать одной и той же сетке, поэтому исходная граничная сетка может включать две или более одинаковых сетки. В некоторых вариантах реализации две сетки, соответствующие двум соседним граничным точкам, могут не быть смежными на карте (например, при соединении двух граничных точек с использованием линейного сегмента, этот линейный сегмент занимает более двух сеток), поэтому он не является полным, чтобы только используйте граничные точки для представления геозоны. Следовательно, исходная последовательность граничной сетки может быть обновлена для генерирования конечной последовательности граничной сетки, так что все сетки, которые заняты любыми двумя соседними граничными точками, включаются в конечную последовательность граничной сетки.
Блок 422 выбора может быть выполнен с возможностью выбирать две соседние граничные точки из множества граничных точек. Множество граничных точек можно обновлять путем интерполяции или удаления одной или нескольких точек. Выбранные две соседние граничные точки могут относиться к любым двум смежным точкам в (обновленном) множестве граничных точек.
Блок 423 определения может быть выполнен с возможностью определять, соответствуют ли две соседние граничные точки одной и той же сетке. Например, если индексы сетки, соответствующие двум соседним граничным точкам, идентичны друг другу, блок 423 определения может определить, что две соседние граничные точки соответствуют одной и той же сетке. В качестве другого примера, если индексы сетки, соответствующие двум соседним граничным точкам, различны, блок 423 определения может определить, что две соседние граничные точки соответствуют двум разным сеткам.
Блок 424 удаления может быть выполнен с возможностью удалять граничные точки из множества граничных точек. В частности, если две соседние граничные точки соответствуют одной и той же сетке, блок 424 удаления может удалить одну из двух соседних граничных точек. Удаленная граничная точка может быть любой из двух соседних граничных точек. В некоторых вариантах осуществления блок 424 удаления может удалять одну или несколько граничных точек, пересекая множество граничных точек.
Блок 425 интерполяции может быть выполнен с возможностью интерполяции точки, которая находится между двумя соседними граничными точками. В некоторых вариантах осуществления блок 425 интерполяции может выбирать точку между двумя соседними граничными точками. Выбранная точка может быть произвольной точкой между двумя соседними граничными точками, например, средней точкой двух соседних граничных точек, точкой около одной из двух соседних граничных точек или любой другой точкой между двумя соседними граничными точками. Блок 425 интерполяции также может определять, удовлетворяется ли условие интерполяции. Условие интерполяции может заключаться в том, что сетка, соответствующая выбранной точке, отличается от любой из сеток, соответствующих двум соседним граничным точкам. Когда условие интерполяции удовлетворяется, блок 425 интерполяции может интерполировать выбранную точку, которая находится между двумя соседними граничными точками, и назначить выбранную точку как граничную точку геозоны. В некоторых вариантах осуществления блок 425 интерполяции может интерполировать одну или несколько граничных точек, проходя через множество граничных точек.
Блок 426 обновления может быть выполнен с возможностью обновлять последовательность граничной сетки. В некоторых вариантах осуществления блок 426 обновления может обновлять последовательность граничной сетки путем удаления одной или нескольких сеток, соответствующих одной или нескольким удаленным граничным точкам. В некоторых вариантах осуществления блок 426 обновления может обновлять последовательность граничной сетки путем интерполяции одной или нескольких сеток, соответствующих одной или нескольким интерполированным граничным точкам. После обновления может быть определена конечная последовательность граничной сетки.
Фиг.4C представляет собой блок-схему, иллюстрирующую примерный модуль 430 определения замкнутой области согласно некоторым вариантам осуществления настоящего изобретения. Модуль 430 определения замкнутой области может включать в себя блок 431 получения сетки, блок 432 определения сводной сетки и блок 433 определения замкнутой области.
Блок 431 получения сетки может быть выполнен с возможностью получать последовательность граничной сетки, относящейся к географической области. В некоторых вариантах реализации последовательность граничных сеток может включать в себя все сетки, через которые проходит геозона. Сетки последовательности граничных сеток могут быть расположены в порядке прохождения через геозону и иметь последовательную нумерацию. Каждой сетке может соответствовать уникальный порядковый номер. Например, если количество сеток в последовательности граничной сетки равно n, порядковые номера сеток могут быть отмечены как «1», «2», «3», …, «n» соответственно. В некоторых вариантах осуществления блок 431 получения сетки может последовательно получать сетку в последовательности граничных сеток, например, из модуля 420 определения границ геозоны или устройства хранения (например, устройство 150 хранения). Просто в качестве примера блок 431 получения сетки может получить сетку, соответствующую порядковому номеру 1, затем получить сетку, соответствующую порядковому номеру 2, … и, наконец, получить сетку, соответствующую порядковому номеру n.
Блок 432 определения сводной сетки может быть выполнен с возможностью определять, включает ли в себя последовательность граничной сетки одну или несколько сводных сеток. Сводная сетка может относиться к сетке, через которую геозона проходит два или более раз, и сводная сетка может появляться два или более раз в последовательности граничной сетки. В некоторых вариантах осуществления блок 432 определения сводной сетки может определять, включает ли в себя последовательность граничной сетки две или более одинаковые сетки, используя способ поиска. Например, блок 432 определения сводной сетки может сформировать список ссылок или карту для сеток последовательности граничной сетки на основании относительного положения сеток, тогда блок 432 определения сводной сетки может определить, включает ли в себя последовательность граничной сетки одну или несколько сводных сеток, выполнив поиск в списке ссылок или на карте.
Блок 433 определения замкнутой области может быть выполнен с возможностью определять одну или более замкнутых зон. В некоторых вариантах осуществления, если последовательность граничной сетки, относящаяся к географической области, не включает в себя сводную сетку, блок 433 определения замкнутой области может указывать географическую область, как замкнутую область. Альтернативно или дополнительно, если последовательность граничных сеток, относящаяся к географической области, включает в себя одну или несколько сводных сеток, блок 433 определения замкнутой области может определять одну или несколько замкнутых областей на основании одной или нескольких сводных сеток. Для каждой сводной сетки блок 433 определения замкнутой области может идентифицировать область в географической области с одной стороны сводной сетки как первую замкнутую область и область в географической области с другой стороны сводной сетки как вторую замкнутую область. Количество замкнутых областей, ассоциированных со сводной сетки, может быть определено на основании количества раз появления сводной сетки в последовательности граничных сеток.
Фиг.4D является блок-схемой, иллюстрирующей примерный модуль 440 определения подобласти согласно некоторым вариантам осуществления настоящего изобретения. Модуль 440 определения подобласти может включать в себя блок 441 определения сетки перекрывающихся краев и блок 442 определения граничной сетки.
Блок 441 определения сетки перекрывающихся краев может быть выполнен с возможностью определять сетки перекрывающихся краев, где подобласть пересекается с одним или несколькими краями множества разделов. Блок 441 определения сетки перекрывающихся краев может определять одну или несколько сеток перекрывающихся краев на основании граничных сеток подобласти на краю.
Блок 442 определения граничной сетки может быть выполнен с возможностью определять граничные сетки подобласти. В некоторых вариантах осуществления для подобласти блок 442 определения граничной сетки может определять граничные сетки подобласти на основании перекрывающихся краевых сеток и граничных сеток замкнутой области, относящейся к подобласти (также называемой в данном документе как исходные граничные сетки подобласти). В частности, блок 442 определения граничной сетки может комбинировать исходные граничные сетки подобласти и перекрывающиеся граничные сетки, относящиеся к подобласти, для определения граничных сеток (также называемых в данном документе конечными граничными сетками) подобласти.
Фиг.4E является блок-схемой, иллюстрирующей примерный модуль 450 определения внутренней сетки согласно некоторым вариантам осуществления настоящего изобретения. Модуль 450 определения внутренней сетки может включать в себя блок 451 инициализации матрицы, блок 452 обновления матрицы и блок 453 определения внутренней сетки.
Блок 451 инициализации матрицы может быть выполнен с возможностью инициализации матрицы. Матрица может быть матрицей сканирования, которая включает в себя множество сот. В некоторых вариантах осуществления матрица сканирования может определяться на основании граничных сеток подобласти. Блок 451 инициализации матрицы может инициализировать матрицу сканирования, заполняя первое значение каждой соты матрицы сканирования. Первое значение, заполняемое в матрице сканирования, может быть в любом формате, например, числом, буквой. В некоторых вариантах осуществления первое значение может быть нулевым.
Блок 452 обновления матрицы может быть выполнен с возможностью выполнения одного или более раз обновления матрицы (например, матрицы сканирования). В некоторых вариантах осуществления блок 452 обновления матрицы может выполнять первое обновление матрицы сканирования, заполняя второе значение каждой из первого множества сот матрицы сканирования. Первое множество сот может соответствовать граничным сеткам подобласти. Второе значение может быть любым значением (или числом), отличным от первого значения, например 1. После первого обновления частичные соты (например, первое множество сот) могут иметь второе значение и частичные соты могут все еще иметь первое значение. В некоторых вариантах осуществления, если сетки, соответствующие сотам, имеющим первое значение, находятся в географической области, соответствующие соты могут упоминаться как второе множество сот матрицы сканирования. Блок 452 обновления матрицы может выполнять второе обновление матрицы сканирования, заполняя третьим значением второе множество сот матрицы сканирования. Третье значение может быть любым значением (или числом), отличным от первого значения и таким же или отличным от второго значения. Например, третье значение может быть 2.
Блок 453 определения внутренней сетки может быть выполнен с возможностью определения внутренних сеток в подобласти. Например, блок 453 определения внутренней сетки может указывать сетки, соответствующие сотам с третьим значением, как внутренние сетки в подобласти.
Следует отметить, что приведенное выше описание модуля 450 определения внутренней сетки предоставлено для целей иллюстрации и не предназначено для ограничения объема настоящего изобретения. Для специалистов в данной области техники, в соответствии с идеями настоящего изобретения могут быть сделаны многочисленные вариации и модификации. Однако эти изменения и модификации не выходят за рамки настоящего изобретения. В некоторых вариантах осуществления модуль 450 определения внутренней сетки может также включать в себя блок определения соты (не показан на фиг. 4E). Для соты, которая имеет первое значение, блок определения соты может определить, находится ли сетка, соответствующая соте, в географическом области, и затем определить второе множество сот матрицы сканирования.
Фиг.4F является блок-схемой, иллюстрирующей примерный модуль 460 определения индекса сетки согласно некоторым вариантам осуществления настоящего изобретения. Модуль 460 определения индекса сетки может включать в себя блок 461 получения координат, блок 462 преобразования координат и блок 463 определения индекса сетки.
Блок 461 получения координат может быть выполнен с возможностью получать пару координат. В некоторых вариантах осуществления блок 461 получения координат может получать пару координат из одного или нескольких компонентов системы 100 искусственного интеллекта (например, пассажирского терминала 130, терминала 140 водителя, сервера 110, устройства 150 хранения или другого компонента сервера 110). Пара координат может быть географической координатой в системе географических координат. В некоторых вариантах осуществления пара координат может относиться к паре координат в геозоне (например, один из наборов пар координат, пара координат, соответствующая точке выборки). В некоторых вариантах осуществления пара координат может относиться к паре координат, соответствующей географическому положению пользователя (например, пассажира, водителя).
Блок 462 преобразования координат может быть выполнен с возможностью преобразования пары координат в системе географических координат в координату проекции в системе координат проекции. В некоторых вариантах осуществления блок 462 преобразования координат может определять координату проекции в системе координат проекции на основании одной или нескольких операций преобразования координат. В частности, блок 462 преобразования координат может сначала преобразовать пару координат в сферическую координату сферической системы координат. Затем блок 462 преобразования координат может преобразовать сферическую координату в декартову координату. Блок 462 преобразования координат может дополнительно преобразовывать декартову координату в координату проекции в системе координат проекции.
Блок 463 определения индекса сетки может быть выполнен с возможностью определять индекс сетки, соответствующий паре координат, на основании координаты проекции. В частности, блок 463 определения индекса сетки может определять индекс сетки, соответствующий паре координат, на основании уровня уточнения, формы многогранника, относящегося к DGGS, индекса соответствующего раздела, в котором находится пара координат, и/или координата проекции соответствующей сетки (например, вторая координата проекции). В некоторых вариантах осуществления индекс сетки может использоваться для уникальной идентификации сетки на разделе карты. Индекс сетки может быть представлен как комбинация одного или нескольких чисел, одной или нескольких букв, одного или нескольких символов и т.д.
Фиг.5 является блок-схемой алгоритма, иллюстрирующей примерный процесс идентификации сеток в географической области карты согласно некоторым вариантам осуществления настоящего изобретения. В некоторых вариантах осуществления процесс 500 может быть реализован в системе 100 искусственного интеллекта, как показано на фиг.1. Например, процесс 500 может быть сохранен в устройстве 150 хранения и/или другом запоминающем устройстве (например, ROM 230, RAM 240) как форма инструкций и вызван и/или выполнен сервером 110 (например, механизм 112 обработки на сервере 110, процессор 220 механизма 112 обработки на сервере 110, один или несколько модулей механизма 112 обработки на сервере 110). Операции иллюстрированного процесса, представленные ниже, предназначены для иллюстрации. В некоторых вариантах осуществления процесс 500 может быть выполнен с помощью одной или нескольких дополнительных операций, которые не описаны, и/или без одной или нескольких обсуждаемых операций. Дополнительно, порядок, в котором операции процесса 500, как показано на фиг.5 и описанный ниже, не предназначен для ограничения.
Географическая область может представлять собой страну, провинцию, штат, город или конкретный регион на Земле. Чтобы получить информацию, относящуюся к географической области, механизм 112 обработки может сначала определить сетки в географической области. Например, для получения информации, относящейся к Пекину, механизм 112 обработки может сначала идентифицировать все сетки, относящиеся к Пекину. Фиг.13A является схемой, показывающей сетки в географической области Пекина. В качестве другого примера, чтобы получить информацию, относящуюся к географической области с конкретным диапазоном вокруг конкретного местоположения, механизм 112 обработки может сначала определить сетки в географической области вокруг конкретного местоположения. Фиг.13B является схемой, показывающей сетки в круговой географической области 1350. Центр круговой географической области 1350 представлен как пара координат (116.39712800000001, 39.915663499999994) в географической системе координат. Первый элемент пары координат является долготой конкретного места. Второй элемент пары координат является широтой конкретного места. Радиус круговой географической области 1350 составляет 81640,2155113325 метров. Как показано на фиг.13A и фиг.13B, географическая область включает в себя множество сеток. В некоторых вариантах осуществления механизм 112 обработки может извлекать данные, относящиеся к множеству сеток, и сформировать одну или несколько стратегий на основании данных. Например, механизм 112 обработки может извлекать информацию, относящуюся к запросам услуги в различных сетях. Для области с большим количеством запросов услуги механизм 112 обработки может определить, что в область следует направить больше поставщиков услуг. Для области с меньшим количеством запросов услуги механизм 112 обработки может определить, что некоторые поставщики услуг в области должны выйти из области. На этапе 510 механизм 112 обработки (например, модуль 410 получения информации о геозоне) может получать информацию о геозоне географической области на карте.
В некоторых вариантах осуществления механизм 112 обработки может оценивать карту на основании данных, хранящихся в устройстве хранения (например, устройства 150 хранения, ROM 230, RAM 240). Например, механизм 112 обработки может загружать, по меньшей мере, часть карты из устройства хранения, по меньшей мере, в одну схему кэширования. Механизм 112 обработки может дополнительно заранее сгенерировать представление карты в компоненте системы 100 искусственного интеллекта (например, пассажирском терминале 130, терминале 140 водителя или сервере 110). В некоторых вариантах осуществления карта может представлять Землю в дискретной глобальной сеточной системе (DGGS). Карта может быть разделена на множество разделов, например, четыре раздела, шесть разделов, восемь разделов, двенадцать разделов, двадцать разделов. Множество разделов могут иметь, по существу, одинаковый размер и форму. Разделы могут составлять многогранник, например тетраэдр, куб, октаэдр, додекаэдр, икосаэдр. Многогранник может приблизительно представлять землю. В некоторых вариантах осуществления многогранник, представляющий землю, может быть октаэдром, показанным на фиг.7В. Как показано, октаэдр имеет шесть вершин. Координаты шести вершин в географической системе координат могут быть (0, 90), (0, -90), (0, 0), (90, 0), (-90, 0) и (180, 0). Две из вершин (например, A и F) могут представлять два полюса Земли соответственно. Остальные четыре вершины (например, B, C, D и E) могут делить экватор Земли на четыре равные части. Точка G может представлять собой центральную точку Земли. Октаэдр включает в себя восемь разделов (например, ΔABC, ΔACD, ΔADE, ΔAEB, ΔFBC, ΔFCD, ΔFDE, ΔFEB), которые могут соответствовать восьми разделам поверхности Земли. Например, ΔABC, ΔACD, ΔADE и ΔAEB могут соответствовать четверти поверхности Земли в северном полушарии, соответственно. В качестве другого примера, ΔFBC, ΔFCD, ΔFDE и ΔFEB могут соответствовать четверти поверхности южного полушария Земли, соответственно.
В некоторых вариантах осуществления разделы могут индексироваться независимо. Каждый раздел может быть ассоциирован с индексом (также называемым в данном документе индексом раздела).
Просто в качестве примера, как показано на фиг.7В, восемь разделов октаэдра могут быть пронумерованы с 0 до 7. Индексы разделов октаэдра могут быть определены на основании диапазона долгот и широт географических координат в географической системе координат. Индексы разделов октаэдра могут быть определены согласно уравнению (1):
(1)
где f может относиться к индексу раздела октаэдра; может относиться к широте пары координат в географической системе координат; и может относиться к долготе пары координат в географической системе координат.
Как показано на фиг.7K, восемь разделов октаэдра можно развернуть в плоскость. Индексы восьми разделов могут быть 0, 1, 2, 3, 4, 5, 6 и 7. В некоторых вариантах осуществления механизм 112 обработки может определять соответствующее разделение многогранника для географического местоположения на основании пары координат согласно уравнению (1). Например, как показано на фиг.7B, предполагая, что пара географических координат вершины A равна (0, 90), географическая координата вершины C равна (0, 0), пара географических координат вершины D равна (90, 0). Первый элемент пары географических координат является долготой точки. Второй элемент пары географических координат является широтой точки. Если долгота пары координат находится между 0 и 90 и широта пары координат находится между 0 и 90, соответствующий раздел может быть ΔACD.
Карта (или один или несколько разделов карты) также может быть разбита на множество сеток для генерирования DGGS. Каждая сетка может соответствовать географической области на Земле. В некоторых вариантах реализации сетки могут иметь правильную форму, например, треугольник, прямоугольник, квадрат, ромб, шестиугольник. В некоторых вариантах реализации решетки могут иметь неправильную форму. В некоторых вариантах осуществления все или часть решеток могут иметь одинаковый или разные размер (размеры) и форму (формы). Например, сетки в одном разделе могут иметь одинаковый размер и форму и сетки в разных разделах могут иметь разные размеры и разные формы. В качестве другого примера сетки в одном разделе могут иметь разные размеры и разные формы. Каждая сетка в разделах может быть ассоциирована с индексом (также называемым в данном документе индексом сетки). В некоторых вариантах осуществления индекс сетки может включать в себя множество полей. Каждое поле индекса сетки может включать в себя информацию, относящуюся к уровню уточнения, относящемуся к разделу, где находится сетка, соответствующая индексу сетки, форме многогранника, относящемуся к DGGS, форме раздела, в котором сетка, соответствующая индексу сетки, является индексом раздела, в котором сетка, соответствующая индексу сетки, является координатой проекции сетки, соответствующей индексу сетки, или тому подобное, или любой их комбинацией. Уровень уточнения может относиться к количеству раз уточнений раздела, в котором находится сетка, соответствующая индексу сетки, что может отражать разрешение сеток в разделе. Порядок полей, относящихся к индексу сетки, может быть задан заранее. Когда индекс сетки определен, может быть определен, по меньшей мере, один из: уровень уточнения, форма многогранника, раздел, в котором находится сетка, соответствующая индексу сетки, или координаты проекции. Подробности, касающиеся определения индекса сетки, можно найти в другом месте в настоящем изобретении (например, фиг.7A и ее соответствующие описания). В некоторых вариантах осуществления в настоящем изобретении термины «сетка» и «индекс сетки» могут использоваться взаимозаменяемо, если не указано иное. Например, когда в настоящем изобретении описывается, что сетка определена, это также означает, что определяется индекс сетки.
Механизм 112 обработки (например, модуль 410 получения информации о геозоне) может получать информацию о геозоне географической области на карте из одного или нескольких компонентов системы 100 искусственного интеллекта (например, пассажирского терминала 130, терминала 140 драйвера, сервера 110, устройства 150 хранения). Геозона может представлять границу географической области. В некоторых вариантах осуществления геозона может быть определена на основании набора пар координат, например, геозона 1210 на фиг.12А. Фиг.12A показывает примерную геозону согласно некоторым вариантам осуществления настоящего изобретения. Геозона (например, геозона 1210 на фиг.12A) может быть определена путем упорядочивания соединения точек (например, точки A, точки B, точки C, …, точки K). В некоторых вариантах осуществления точки могут называться граничными точками. Граничная точка может быть произвольной точкой в сетке, например, центральной точкой сетки, вершиной сетки и т. д. В качестве альтернативы или дополнительно, геозона может быть определена на основании окружности, определяемой центром и радиусом, например, геозона 1220 на фиг.12B. Фиг.12B показывает другую иллюстративную геозону согласно некоторым вариантам осуществления настоящего изобретения. Геозона 1220 представляет собой окружность. Центр окружности представлен как точка O. Радиус окружности представлен как r. Радиус может соответствовать длине, например, несколько метров, десятки метров, сотни метров. Более подробные сведения о получении информации о геозоне можно найти в другом месте в настоящем изобретении (например, этап 611 процесса 610 или этап 651 процесса 650 и их соответствующие описания).
На этапе 520 механизм 112 обработки (например, модуль 420 определения границ геозоны) может определять последовательность граничных сеток геозоны из множества сеток карты. В некоторых вариантах осуществления последовательность граничной сетки может быть представлена как одномерный вектор. Последовательность граничных сеток геозоны может включать в себя набор граничных сеток, через которые проходит геозона. На фиг.12A и фиг.12B сетки, через которые геозона 1210 или геозона 1220 заполнены линейными сегментами. Механизм 112 обработки может обозначать сетки, заполненные линейными сегментами на фиг.12A в качестве граничных сеток геозоны 1210 и сеток, заполненных линейными сегментами на фиг.12B в качестве граничных сеток геозоны 1220. В некоторых вариантах осуществления существует одна или несколько сводных сеток в последовательности граничных сеток геозоны. Сводная сетка может относиться к сетке, через которую геозона проходит два или более раз. Количество раз, когда одна сводная сетка появляется в последовательности граничной сетки, может быть таким же, как количество раз, когда геозона проходит через сводную сетку. Для последовательности граничной сетки сводная сетка может относиться к сетке, которая может появляться два или более раз в последовательности граничной сетки и которая соответствует двум несмежным граничным точкам. Например, как показано на фиг.12A, сетка 1214 соответствует точке G и точке A, но точка G и точка A не являются смежными, это может указывать на то, что геозона 1210 проходит через сетку 1214 два раза, поэтому механизм 112 обработки может назначить сетку 1214 как сводную сетку. Однако сетка 1213 соответствует точке C и точке D, но точка C и точка D являются смежными, поэтому механизм 112 обработки может не назначать сетку 1214 как сводную сетку. В некоторых вариантах реализации в последовательности граничных сеток нет сводной сетки. Например, когда геозона определяется окружностью, последовательность граничной сетки геозоны может не включать в себя сводную сетку. Как показано на фиг.12В, геозона 1220 представляет собой окружность и геозона 1220 проходит через каждую из граничных сеток только один раз. Следовательно, последовательность граничной сетки геозоны 1220 может не включать в себя сводную сетку.
В некоторых вариантах осуществления механизм 112 обработки может сначала определить исходную последовательность граничной сетки геозоны на основании информации о геозоне. В некоторых вариантах осуществления исходная граничная последовательность сеток может включать в себя часть сеток, через которые проходит геозона. В некоторых вариантах осуществления исходная граничная сетка может включать в себя все сетки, через которые проходит геозона, но есть повторяющиеся сетки (повторяющиеся сетки могут быть или не быть сводными сетками) в исходной граничной последовательности. Определение последовательности начальной граничной сетки можно найти в другом месте в настоящем изобретении (например, на фиг.6A и фиг.6B и их соответствующих описаниях). Затем механизм 112 обработки (например, модуль 420 определения границы геозоны) может определять последовательность граничной сетки геозоны путем итеративного обновления исходной граничной последовательности сетки, чтобы гарантировать, что каждые две соседние граничные точки соответствуют двум соседним сеткам. Определение окончательной последовательности граничной сетки геозоны на основании последовательности исходной граничной сетки можно найти в другом месте в настоящем изобретении (например, на фиг.8 и ее соответствующих описаниях).
В некоторых вариантах осуществления географической областью, окруженной геозоной, может включать в себя одну или несколько замкнутых областей.
На 530 механизм 112 обработки (например, модуль 430 определения замкнутой области) может идентифицировать, по меньшей мере, одну замкнутую область в географической области на основании последовательности граничных сеток для определения граничных сеток для каждой из, по меньшей мере, одной замкнутой области. Каждая замкнутая область может относиться к области, которая находится в географической области и, в то же время, замкнутая область окружена последовательностью граничных сеток в последовательности граничной сетки геозоны. Например, как показано на фиг.12A, область геозоны разделена сводной сеткой 1214 на замкнутую область 1216 и замкнутую область 1218. Замкнутая область 1216 находится с одной стороны сводной сетки 1214 и замкнутая область 1218 находится с другой стороны сводной сетки 1214. Идентификация, по меньшей мере, одной замкнутой области может быть получено путем выполнения одной или нескольких операций, описанных на фиг.9A и фиг.9B. В некоторых вариантах осуществления после идентификации, по меньшей мере, одной замкнутой области форма последовательности граничных сеток может быть представлена в виде матрицы. Каждая строка матрицы может включать в себя граничные сетки, соответствующие только одной замкнутой области.
В некоторых вариантах осуществления замкнутая область может располагаться в одном разделе. В некоторых вариантах осуществления замкнутая область может пересекать две или более разделов. Поскольку каждый из разделов индексируется независимо, когда область находится только в одном разделе, будет легко определить сетки в этой области. Следовательно, для определения сеток, находящиеся в области, которая пересекает два или более разделов, будет лучше сегментировать область на две или более подобласти.
В некоторых вариантах осуществления для замкнутой области, по меньшей мере, одной замкнутой области, механизм 112 обработки может определить, пересекает ли замкнутая область два или более раздела, в соответствии с индексами сетки граничных сеток замкнутой области. Как описано в 510, индекс сетки для сетки может включать в себя поле, указывающее индекс соответствующего раздела (также называемого здесь соответствующим индексом раздела), в котором находится сетка, поэтому механизм 112 обработки может определять, являются ли две сетки в одном разделе на основании соответствующих индексов раздела, относящихся к двум сеткам. Чтобы определить, пересекает ли замкнутая область два или более раздела, механизм 112 обработки может определить, одинаковы ли индексы разделов граничных сеток замкнутой области. В ответ на определение, что индексы разделов, относящиеся к граничным сеткам замкнутой области, являются одинаковыми, механизм 112 обработки может определить, что замкнутая область находится в одном разделе. Механизм 112 обработки не может сегментировать замкнутую область.
В ответ на определение, что индексы раздела, относящиеся к граничным сеткам замкнутой области, различны, механизм 112 обработки может определить, что замкнутая область пересекает два или более раздела. После определения, что замкнутая область пересекает два или более разделов, механизм 112 обработки (например, модуль 440 определения подобласти) может сегментировать замкнутую область на две или более подобласти, так что каждая подобласть из двух или более подобласти расположены только в одном разделе в 540. После сегментации каждая подобласть из двух или более подобластей может располагаться только в одном разделе.
В некоторых вариантах осуществления, после того как одна замкнутая область сегментирована на две или более подобласти, механизм 112 обработки может сохранять граничные сетки каждой из двух или более подобластей в матрицу, из которых сетки расположены в строке относятся только к одной подобласти.
На 550 механизм 112 обработки (например, модуль 440 определения подобласти) может определять граничные сетки для каждой из двух или более подобластей. В некоторых вариантах осуществления механизм 112 обработки может определять перекрывающиеся граничные сетки, где две или более подобластей пересекаются с одним или более краями множества разделов. Механизм 112 обработки может добавлять перекрывающиеся краевые сетки к двум или более подобластям в качестве граничных сеток двух или более подобластей. Более подробную информацию об определении граничных сеток можно найти в другом месте в настоящем изобретении (например, на фиг.10 и ее соответствующих описаниях).
На 560 для каждой подобласти механизм 112 обработки (например, модуль 450 определения внутренней сетки) может идентифицировать внутренние сетки в подобласти из множества сеток на основании граничных сеток подобласти и индекса раздела, в котором находится подобласть.
Внутренние сетки в подобласти могут относиться к сеткам, которые окружены граничными сетками подобласти. В некоторых вариантах осуществления, когда механизмы 112 обработки получают граничные сетки подобласти, которая располагается только в одном разделе, механизмы 112 обработки (например, модуль 450 определения внутренней сетки) могут определять внутренние сетки в подобласти, используя лучевой способ. В некоторых вариантах осуществления идентификация внутренних сеток может быть получена посредством выполнения одной или нескольких операций, описанных на фиг.11А.
На 570 механизм 112 обработки (например, модуль 470 определения целевой сетки) может идентифицировать сетки в географической области (также называемые в данном документе целевыми сетками) путем сбора граничных сеток двух или более подобластей и внутренних сеток в двух или более подобластях. В некоторых вариантах осуществления система 100 искусственного интеллекта может связывать некоторую информацию с каждой из множества сеток на карте. Информация, относящаяся к сетям, может включать в себя информацию, относящуюся к поставщикам услуг, информацию, относящуюся к получателям услуг и т.п. Информация, относящаяся к поставщикам услуг, может включать в себя количество поставщиков услуг в каждой из сеток, распределение драйверов, количество доступных поставщиков услуг, распределение доступных поставщиков услуг и т.п. или любую их комбинацию. Информация, относящаяся к получателям услуг, может включать в себя количество запрошенных услуг, относящихся к сетям в конкретный период времени, распределение запросов на услуги в конкретный период времени, время начала, относящееся к запрашивающей услуге, начальное местоположение, относящееся к запрашивающая услуга, место назначения, ассоциированное с запрашивающей услугой, и т.п. или любое их сочетание. В некоторых вариантах осуществления после определения целевых сеток в географической области механизм 112 обработки может извлекать информацию, относящуюся к целевым сеткам, для дополнительной обработки, например, для планирования транспортных средств.
Следует отметить, что приведенное выше описание процесса 500 предоставлено в целях иллюстрации и не предназначено для ограничения объема настоящего изобретения. Для лиц, обладающих обычными навыками в данной области техники, в соответствии с идеями настоящего изобретения могут быть сделаны многочисленные вариации и модификации. Например, если геозона определяется кругом, геозона может включать в себя только одну замкнутую область, тогда этап 530 может быть пропущен. В качестве другого примера, если каждая замкнутая область находится только в одном разделе, замкнутая область может не нуждаться в сегментировании, тогда этап 540 может быть пропущен. Однако эти изменения и модификации не выходят за рамки настоящего изобретения.
Фиг.6A является блок-схемой алгоритма, иллюстрирующей примерный процесс для определения исходной последовательности граничной сетки геозоны согласно некоторым вариантам осуществления настоящего изобретения. В некоторых вариантах осуществления процесс 610 может быть реализован в системе 100 искусственного интеллекта, как показано на фиг.1. Например, процесс 610 может быть сохранен в устройстве 150 хранения и/или другом запоминающем устройстве (например, ROM 230, RAM 240) как форма инструкций и вызван и/или выполнен сервером 110 (например, механизмом 112 обработки на сервере 110, процессором 220 механизма 112 обработки на сервере 110, одним или несколькими модулями механизма 112 обработки на сервере 110). Операции показанного процесса, представленные ниже, предназначены для иллюстрации. В некоторых вариантах осуществления процесс 610 может выполняться с помощью одной или нескольких дополнительных операций, которые не описаны, и/или без одной или нескольких обсуждаемых операций. Дополнительно, порядок, в котором операции процесса 610, как проиллюстрировано на фиг.6А и описано ниже, не предназначен для ограничения.
На 611 механизм 112 обработки (например, модуль 410 получения информации о геозоне) может получить набор пар координат, относящихся к геозоне. Каждая из наборов пар координат может относиться к граничной точке геозоны. Каждая пара координат может включать в себя долготу и широту. Как показано на фиг.12A, на геозоне 1210 есть точки, например, точка A, точка B, точка C, …, точка K, и эти точки являются граничными точками геозоны. В некоторых вариантах осуществления механизм 112 обработки может одновременно получать набор пар координат (например, точка A, точка B, …, точка K). Например, механизм 112 обработки может получить вектор, состоящий из набора пар координат, и относительные положения набора пар координат могут указывать относительные отношения соответствующих точек на геозоне. В некоторых вариантах осуществления механизм 112 обработки может получать набор пар координат по порядку, и порядок получения пар координат может указывать относительные отношения соответствующих точек на геозоне. Например, механизм 112 обработки может сначала получить точку A, затем точку B, затем точку C, …, наконец, точку K.
В некоторых вариантах осуществления механизм 112 обработки может получать набор пар координат от одного или нескольких компонентов системы 100 искусственного интеллекта (например, пассажирского терминала 130, терминала 140 водителя, сервера 110, устройства 150 хранения или другого компонента сервера 110). Например, если пользователь (например, пассажир) хочет знать распределение поставщиков услуг в конкретной географическом области, он/она может переместить значок выбора точки, показанный на карте, отображаемой в пользовательском интерфейсе, в несколько точек, чтобы определить географическую область, и сервер 110 или пассажирский терминал 130 могут анализировать точки для генерации набора пар координат. В качестве другого примера, если оператор системы 100 искусственного интеллекта хочет знать распределение поставщиков услуг (например, водителей) в географическом области, оператор системы 100 искусственного интеллекта может ввести набор пар координат в определенном порядке через контроллер или консоль, относящуюся к серверу 110, для определения геозоны географической области. В качестве еще одного примера, набор пар координат может храниться в устройстве хранения (например, устройстве 150 хранения), и механизм 112 обработки может осуществлять доступ к устройству хранения и извлекать набор пар координат.
На 612 механизм 112 обработки (например, модуль 420 определения границы геозоны) может определять исходную последовательность граничных сеток геозоны на основании набора пар координат. Исходная последовательность граничных сеток может включать в себя множество сеток (также называемых здесь граничными сетками). Каждая сетка в исходной последовательности граничных сеток может соответствовать координатной паре набора координатных пар. Подробности, касающиеся определения индекса сетки (или сетки), относящегося к паре координат, можно найти в другом месте в настоящем изобретении (например, фиг.7A-7K и их соответствующие описания). В некоторых вариантах осуществления две или более граничные точки могут соответствовать одной и той же сетке, поэтому исходная последовательность граничной сетки может включать в себя две или более одинаковых сеток. В некоторых вариантах реализации две сетки, соответствующие двум соседним граничным точкам, могут не быть смежными на карте (например, при соединении двух граничных точек с использованием линейного сегмента этот линейный сегмент занимает более двух сеток), поэтому он не является полным, чтобы только использовать граничные точки для представления геозоны. Следовательно, механизмы 112 обработки могут обновлять исходную последовательность граничной сетки, чтобы генерировать окончательную последовательность граничной сетки, так что все сетки между двумя сетками, которые заняты любыми двумя соседними граничными точками, включаются в окончательную последовательность граничной сетки. В некоторых вариантах осуществления окончательный последовательность граничной сетки может быть определена путем выполнения одной или нескольких операций, описанных со ссылкой на фиг.8.
Фиг.6B является блок-схемой алгоритма, иллюстрирующей другой примерный процесс определения исходной последовательности граничной сетки геозоны согласно некоторым вариантам осуществления настоящего изобретения. В некоторых вариантах осуществления процесс 650 может быть реализован в системе 100 искусственного интеллекта, как показано на фиг.1. Например, процесс 650 может храниться в устройстве 150 хранения и/или другом запоминающем устройстве (например, ROM 230, RAM 240) как форма инструкций и запускаться и/или выполняться сервером 110 (например, механизм 112 обработки на сервере 110, процессор 220 механизма 112 обработки на сервере 110, один или несколько модулей механизма 112 обработки на сервере 110). Операции иллюстрированного процесса, представленные ниже, предназначены для иллюстрации. В некоторых вариантах осуществления процесс 650 может выполняться с помощью одной или нескольких дополнительных операций, которые не описаны, и/или без одной или нескольких обсуждаемых операций. Дополнительно, порядок, в котором операции процесса 650, как показано на фиг.6B и описанный ниже, не предназначен для ограничения.
На этапе 651 механизм 112 обработки (например, модуль 410 получения информации о геозоне) может получить центр и радиус, относящиеся к геозоне и интервалу выборки. В некоторых вариантах осуществления центр может соответствовать паре координат. Радиус может соответствовать длине, например, нескольким метрам, десяткам метров, сотням метров и т.д. Окружность может быть определена на основании центра и радиуса. Затем механизм 112 обработки (например, модуль 410 получения информации о геозоне) может определить геозону, представленную кружком. В некоторых вариантах осуществления интервал выборки может быть заданным сервером 110 значением. В некоторых вариантах осуществления механизм 112 обработки может сначала получить центр и радиус на этапе, а затем получить интервал выборки на другом этапе. В некоторых вариантах осуществления после получения центра и радиуса механизм 112 обработки может вычислить интервал выборки на основании радиуса окружности и разрешения, относящегося к сеткам DGGS (например, уровня уточнения, относящегося к DGGS). В некоторых вариантах осуществления интервал выборки может соответствовать углу выборки. Просто в качестве примера угол выборки может быть определен согласно уравнению (2) следующим образом:
, (2)
где α может относиться к углу выборки, соответствующему интервалу выборки; R может относиться к радиусу Земли; r может относиться к радиусу окружности; и n может относиться к уровню уточнения, относящемуся к DGGS.
В некоторых вариантах осуществления механизм 112 обработки может получать информацию, относящуюся к геозоне (например, центру и радиусу, а также интервалу выборки) от одного или нескольких компонентов системы 100 искусственного интеллекта (например, пассажирского терминала 130, терминала 140 водителя, устройства 150 хранения, сервера 110 или другого компонента сервера 110). Например, пользователь пассажирского терминала 130/терминала 140 водителя может ввести центр и радиус, чтобы определить географическую область через пассажирский терминал 130/терминал 140 водителя. В качестве другого примера, если оператор системы 100 искусственного интеллекта хочет знать распределение поставщиков услуг (например, водителей) в географическом области, оператор системы 100 искусственного интеллекта может войти в центр и радиус через контроллер или консоль, относящуюся к серверу 110, чтобы определить геозону географической области. В качестве еще одного примера, центр и радиус могут быть сохранены в устройстве хранения (например, устройстве 150 хранения) и механизм 112 обработки может получить доступ к устройству хранения и извлечь информацию о центре и радиусе, относящиеся к геозоне.
На 652 механизм 112 обработки (например, модуль 410 получения информации о геозоне) может определять множество точек выборки на окружности, определяемой центром и радиусом, на основании интервала выборки. Как показано на фиг.12B, на геозоне 1220 находятся точки выборки, например, точка A', точка B', точка C', …, точка L', и точки выборки являются граничными точками геозоны 1220. В некоторых вариантах осуществления механизм 112 обработки может сначала определить первую точку выборки на окружности, например точку A', показанную на фиг.12B. Механизм 112 обработки может выполнять выборку второй точки выборки (например, точки B’, показанной на фиг. 12B) на окружности на основании заранее определенного интервала выборки (например, угла выборки) и первой точки выборки. Соответственно, механизм 112 обработки может производить выборку третьей, четвертой, … и N-й точек выборки на окружности на основании интервала выборки. В некоторых вариантах осуществления, когда определены первая точка выборки и интервал выборки, механизм 112 обработки (например, модуль 410 получения информации о геозоне) может одновременно получать другие точки выборки на основании первой точки выборки и интервала выборки. Механизм 112 обработки может выполнять выборку из множества точек выборки по часовой стрелке или против часовой стрелки.
На 653 механизм 112 обработки (например, модуль 420 определения границы геозоны) может определять исходную последовательность граничных сеток геозоны на основании множества точек выборки. Подробности, касающиеся определения сетки (или индекса сетки) на основании точки выборки, можно найти в другом месте в настоящем изобретении (например, фиг.7A-7K и их соответствующие описания). В некоторых вариантах осуществления исходная граничная последовательность сеток может включать в себя множество сеток. Когда интервал выборки меньше определенного значения выборки, последовательность исходных граничных сеток может включать в себя повторяющиеся сетки. Когда интервал выборки больше определенного значения выборки, использование только сеток в исходной граничной сетке для представления геозоны не является полным. Следовательно, механизмы 112 обработки могут обновлять исходную последовательность граничной сетки, чтобы генерировать окончательную последовательность граничных сеток, так что все сетки, которые охвачены окружностью, включаются в окончательную последовательность граничной сетки. В некоторых вариантах осуществления окончательная последовательность граничной сетки может быть определена путем выполнения одной или нескольких операций, описанных со ссылкой на фиг.8.
Фиг.7A представляет собой блок-схему алгоритма, иллюстрирующую примерный процесс определения индекса сетки, соответствующего паре координат, согласно некоторым вариантам осуществления настоящего изобретения. В некоторых вариантах осуществления процесс 700 может быть реализован в системе 100 искусственного интеллекта, как показано на фиг.1. Например, процесс 700 может быть сохранен в устройстве 150 хранения и/или другом запоминающем устройстве (например, ROM 230, RAM 240) как форма инструкций и вызван и/или выполнен сервером 110 (например, механизм 112 обработки на сервере 110, процессор 220 механизма 112 обработки на сервере 110, один или несколько модулей механизма 112 обработки на сервере 110). Операции иллюстрированного процесса, представленные ниже, предназначены для иллюстрации. В некоторых вариантах осуществления процесс 700 может выполняться с помощью одной или нескольких дополнительных операций, которые не описаны, и/или без одной или нескольких обсуждаемых операций. Кроме того, порядок, в котором операции процесса 700, как показано на фиг.7A и описанный ниже, не предназначен для ограничения. В некоторых вариантах осуществления этап 612 процесса 610 и этап 653 процесса 650 могут выполняться согласно процессу 700.
В 710 механизм 112 обработки (например, блок 461 получения координат модуля 460 определения индекса сетки) может получить пару координат, соответствующую географическому положению. Пара координат может включать в себя долготу и широту в географической системе координат. В некоторых вариантах осуществления пара координат может относиться к одному из: набору пар координат, описанных на фиг.6A, паре координат, соответствующей точке выборки, описанной на фиг.6B, паре координат, соответствующей географическому положению пользователя (например, пассажира, водителя).
В некоторых вариантах осуществления механизм 112 обработки может получать пару координат, соответствующую географическому положению пользователя, от одного или нескольких компонентов системы 100 искусственного интеллекта (например, пассажирского терминала 130, терминала 140 водителя, сервера 110, устройства 150 хранения или другого компонента сервера 110). Например, механизм 112 обработки может получить пару координат, введенную пользователем (например, пассажиром, водителем), из пассажирского терминала 130/терминала 140 водителя. В качестве другого примера географическое положение пользователя (например, пассажир, водитель) может быть определено приемником GPS, установленным на терминале (например, пассажирском терминале 130, терминале 140 водителя). Механизм 112 обработки может получить пару координат, соответствующую географическому положению пользователя, через приемник GPS. В качестве дополнительного примера пара координат может быть передана в устройство хранения (например, устройство 150 хранения). Механизм 112 обработки может обращаться к устройству хранения и извлекать пару координат.
На 720 механизм 112 обработки (например, блок 462 преобразования координат модуля 460 определения индекса сетки) может преобразовывать пару координат, соответствующую географическому положению, в координату проекции в системе координат проекции. В некоторых вариантах осуществления для каждого раздела на карте может быть построена система координат проекции. Как показано на фиг.7H, взяв в качестве примера раздел ΔACD, AC и AD могут быть указаны как ось I и ось J. Ось, проходящая через вершину A и перпендикулярная разделу ΔACD, может быть обозначена как ось K. В некоторых вариантах осуществления механизм 112 обработки может определять координату проекции в системе координат проекции на основании одной или нескольких операций преобразования координат.
В некоторых вариантах осуществления механизм 112 обработки может преобразовывать пару координат в сферическую координату сферической системы координат. В сферической системе координат сферическая координата, соответствующая географическому положению, может быть представлена как P (r, ϕ, θ). Пара координат в географической системе координат и сферическая координата в сферической системе координат могут быть взаимообратимыми. В некоторых вариантах осуществления механизм 112 обработки может преобразовывать пару координат (например, P (lon, lat)) в сферическую координату (например, P (1, ϕ, θ)) в соответствии с уравнением (3). Альтернативно или дополнительно механизм 112 обработки может преобразовывать сферическую координату в пару координат согласно уравнению (4).
, (3)
, (4)
где lat может относиться к широте пары координат в географической системе координат; lon может обозначать долготу пары координат в географической системе координат; φ может относиться к полярному углу в сферической координате; θ может относиться к азимуту в сферической координате; «Rad2deg» может относиться к функции, которая преобразует радианы в угол; и «deg2rad» может относиться к функции, которая преобразует угол в радианы.
В некоторых вариантах осуществления механизм 112 обработки также может преобразовывать сферическую координату в декартову координату. Декартова координата (также называемая прямоугольной координатой) может указывать положение точки на двумерной (2D) поверхности или в трехмерном (3D) пространстве. Сферическая координата и декартова координата могут быть взаимообратимыми. В некоторых вариантах осуществления механизм 112 обработки может преобразовывать сферическую координату (например, P (r, ϕ, θ)) в системе координат сферы в декартову координату (например, (x, y, z)) в соответствии с уравнением (5). Альтернативно или дополнительно механизм 112 обработки может преобразовывать декартову координату в сферическую координату согласно уравнению (6).
(5)
, (6)
где x может относиться к позиции перпендикулярной проекции географического местоположения на ось X; y может относиться к позиции перпендикулярной проекции географического местоположения на ось Y; и z может относиться к позиции перпендикулярной проекции географического местоположения на ось Z.
Следует отметить, что азимутальный угол θ находится в диапазоне [-π, π], в то время как значение функции arctg находится в диапазоне , что отличается от диапазона азимутального угла θ. Чтобы компенсировать эту разницу, азимутальный угол θ может быть определен на основании квадранта координаты (x, y). В частности, если x = 0, то азимутальный угол θ может быть определен на основании уравнения (7):
, (7)
Если x <0, то азимутальный угол θ может быть определен на основании уравнения (8):
, (8)
где .
Если x> 0, то азимутальный угол θ может быть определен как . Значение функции arccos находится в диапазоне [0, π], что согласуется с диапазоном полярного угла φ.
Механизм 112 обработки может дополнительно преобразовывать декартову координату в координату проекции в системе координат проекции. Декартова координата и координата проекции могут быть взаимозаменяемыми. Как показано на фиг.7H, GD, GA и GC могут соответствовать оси X, оси Y и оси Z в декартовой системе координат соответственно. Точка G может быть началом декартовой системы координат. Предполагая, что радиус Земли имеет длину 1 единицу, тогда декартовы координаты точек A, C, D и P (географическое положение, описанное выше) могут быть (0, 1, 0), (0, 0, 1), (1, 0, 0) и P (x, y, z), соответственно. В системе координат проекции AC и AD могут соответствовать оси I и оси J. Ось, проходящая через точку A и перпендикулярная разделу ΔACD, может соответствовать оси K. Точка P’ может быть точкой проекции географического местоположения P на разделе ΔACD. В контексте настоящего описания точка P’ проекции может относиться к точке пересечения линии и раздела ΔACD, в котором линия соединяет географическое положение на Земле и центральную точку Земли. Точка проекции P’ может иметь координату P’ (i, j, k) проекции.
Вектор AP’ может быть определен на основании уравнения (9):
, (9)
где может относиться к вектору AP’; может относиться к вектору AC; и может относиться к вектору AD.
Вектор AP может быть определен на основании уравнения (10):
, (10)
где может относиться к вектору AP и может относиться к вектору GP.
Декартова координата P (x, y, z) и координата проекции P’ (i, j, k) могут иметь взаимосвязь, показанную в уравнении (11):
, (11)
Уравнение (11) может быть выражено уравнением (12):
, (12)
Предполагая, что s = x + y + z, координата P’ (i, j, k) проекции может быть определена на основании уравнения (13):
, (13)
Может быть определена координата P’ (i, j, k) проекции P’ точки P’ проекции в системе координат проекции.
На этапе 730 механизм 112 обработки (например, блок 463 определения индекса сетки модуля 460 определения индекса сетки) может определять индекс сетки, соответствующий паре координат географического местоположения, на основании координаты проекции.
В некоторых вариантах осуществления каждый раздел на карте может быть разделен на множество сеток. Каждая сетка может иметь форму, такую как треугольник, прямоугольник, квадрат, ромб, шестиугольник и т.д. Сетки, сформированные с разделением, могут иметь одинаковые или разные размеры и форму (формы). В некоторых вариантах осуществления каждый раздел может быть разделен на большее количество сеток с меньшими площадями, чтобы реализовать относительно высокое разрешение, относящееся к сеткам. Операция уточнения может применяться к разделению разделов для генерирования более мелких сеток, что может относиться к преобразованию набора относительно грубых сеток в относительно более мелкие сетки.
В некоторых вариантах осуществления операция уточнения может выполняться на основании коэффициента m уточнения. Коэффициент m уточнения может относиться к тому, насколько точно сетка может быть разделена за одну операцию уточнения. В некоторых вариантах осуществления множество сеток на карте может быть сгенерировано на основании уточнения 1 к m. В частности, согласно уточнению 1 к m, сетка (или раздел многогранника) с площадью A может быть разделена на m сеток с площадью A/m. Например, при уточнении 1 к 4 каждая сетка с площадью A может быть разделена на четыре сетки с площадью A/4. Таким образом, количество сеток может расти экспоненциально в четыре раза от одного разрешения к другому. В некоторых вариантах осуществления операция уточнения может выполняться один или несколько раз. Количество операций уточнения может называться уровнем уточнения. В некоторых вариантах осуществления уровень уточнения может быть значением по умолчанию, определяемым механизмом 112 обработки или устанавливаемым или регулируемым пользователем через оконечное устройство (например, пассажирский терминал 130, терминал 140 водителя). В некоторых вариантах осуществления две или более операций уточнения в разное количество раз могут выполняться на основании одного и того же коэффициента уточнения. В некоторых вариантах осуществления две или более операций уточнения в разное количество раз могут выполняться на основании разных коэффициентов уточнения. Например, уточнение 1 к 4 может выполняться в первой операции уточнения и затем уточнение 1 к 2 может выполняться во второй операции уточнения.
В некоторых вариантах осуществления множество сеток разделов может быть сгенерировано посредством выполнения одной или нескольких итераций операций уточнения в соответствии с одним или несколькими коэффициентами уточнения и уровнем уточнения. Фиг.7C-7E являются схемами, иллюстрирующими примерные операции уточнения для уточнения раздела октаэдра согласно некоторым вариантам осуществления настоящего изобретения. ΔHIJ может представлять собой примерное разбиение октаэдра. Как показано на фиг.7C, в первой операции уточнения может быть выполнено уточнение 1 к 4,5, и в 4.5 могут быть сгенерированы первые сетки, имеющие форму ромба. В частности, механизм 112 обработки может определять две точки трисекции вдоль каждой стороны раздела ΔHIJ, чтобы получить множество первых точек с разрешением 1. При разрешении 1 три вершины H, I и J могут рассматриваться как первые точки. Просто в качестве примера первые точки могут включать в себя точки g, j, k, m, n и i. В настоящем изобретении термины «первая точка» и «равная точка отклонения первого уровня» используются взаимозаменяемо. Множество первых сеток может быть сформировано на основании первых точек. Первые сетки могут включать в себя три полных ромба (например, ромб «Hghi», «gjkh», «ihmn») и три неполных ромба (например, полуромб «jIk», «hkm», «nmJ»). Первые сетки можно рассматривать как сетки с разрешением 1. Уровень уточнения сеток с разрешением 1 может быть равен 1.
Для получения сетки с более высокой разрешающей способностью, механизм 112 обработки может выполнить одну или несколько итераций операции уточнения для генерирования сеток с различными разрешениями. Как показано на фиг.7D, во второй операции уточнения может выполняться уточнение 1 к 4, и для каждой первой сетки могут быть сгенерированы 4 сетки, имеющие форму ромба. В частности, механизм 112 обработки может определять точку деления пополам между каждыми двумя из множества первых точек вдоль каждой стороны раздела ΔHIJ, чтобы получить множество вторых точек с разрешением 2. При разрешении 2 три вершины H, I, и J можно рассматривать как вторые точки. В настоящем изобретении термины «вторая точка» и «равная точка отклонения второго уровня» используются взаимозаменяемо. Множество вторых сеток может быть сформировано на основании вторых точек. Вторую сетку можно рассматривать как сетки с разрешением 2. Уровень уточнения сетки с разрешением 2 может составлять 2. Как показано на фиг.7E, в третьей операции уточнения может быть выполнено уточнение 1 к 4, и 4 сетки, имеющие форму ромба, могут быть сгенерированы для каждой второй сетки. В частности, механизм 112 обработки может определять точку деления пополам между каждыми двумя из множества вторых точек вдоль каждой стороны раздела ΔHIJ, чтобы получить множество третьих точек с разрешением 3. При разрешении 3 три вершины H, I, и J можно рассматривать как третьи точки. В настоящем изобретении термины «третья точка» и «равная точка отклонения третьего уровня» используются взаимозаменяемо. Множество третьих сеток может быть сформировано на основании третьих точек. Третьи сетки можно рассматривать как сетки разрешения 3. Уровень уточнения сеток с разрешением 3 может быть равен 3. Аналогичным образом, дополнительные операции уточнения (например, уточнения 1 к 4) могут выполняться для дополнительного уточнения множества сеток. Каждая сетка с более низким разрешением(-ями) может быть представлена с относительно высоким разрешением. Например, как показано на фиг.7E, сетки с разрешением 1 и с разрешением 2 могут быть представлены сетками с разрешением 3.
Следует отметить, что форма множества сеток может быть определена на основании формы разделов многогранника, одного или более коэффициентов уточнения и/или уровня уточнения. Возьмем, к примеру, октаэдр, форма сеток может быть треугольником или шестиугольником в дополнение к ромбу. Одна и та же операция уточнения может генерировать различные формы сеток с разными коэффициентами уточнения. Например, как показано на фиг.7C, коэффициент уточнения составляет 4,5 для ромба, но 9/7 для шестиугольника, и шестиугольник не образуется. Полу-шестиугольник, обозначенный пунктирными линиями, определяется точками вершин a, b, c, d, e и f и имеет центральную точку h. В качестве другого примера, как показано на фиг.7D коэффициент уточнения равен 4 для ромба и 3,5 для шестиугольника. В качестве дополнительного примера, как показано на фиг.7E коэффициент уточнения равен 4 для ромба и 3,5 для шестиугольника. Шестиугольники обозначены пунктирными линиями на фиг.7D и фиг.7E. В некоторых вариантах осуществления форма множества сеток может быть установлена вручную или определена одним или несколькими компонентами системы 100 искусственного интеллекта в соответствии с различными ситуациями.
В некоторых вариантах осуществления, независимо от формы сеток, количество точек (например, первых точек, вторых точек, третьих точек) на разделе многогранника, сгенерированного операциями уточнения, как показано на фиг.7C-7E можно определить следующим образом:
, (14)
, (15)
, (16)
, (17)
, (18)
где может относиться к количеству точек на одной стороне раздела октаэдра; n может относиться к уровню уточнения; может относиться к числу равных сегментов на одной стороне раздела октаэдра; может относиться к количеству всех точек на одном разделе октаэдра; может относиться к количеству сегментов между двумя соседними точками на разделе октаэдра; и может относиться к числу уточненных треугольников на разделе октаэдра. Как показано на фиг.7C, четыре точки H, g, j и I могут быть на одной стороне (например, стороне «HI») октаэдра. Десять точек H, g, j, I, k, m, J, n, i и h могут находиться на одном разделе (например, разделе «HIJ») октаэдра.
Раздел на карте может иметь множество точек, включающее в себя вершины сеток и точки внутри сеток. Каждая из множества точек может иметь соответствующую координату проекции на раздел карты. Координата проекции точки на разделе может быть определена на основании начала системы координат проекции на разделе и одного или нескольких базисных векторов, как показано на фиг.7F и фиг.7G. Фиг.7F и фиг.7G представляют собой схематические представления, иллюстрирующие примерную систему координат проекции на разделе октаэдра согласно некоторым вариантам осуществления настоящего изобретения. В некоторых вариантах осуществления координаты проекции точек на разделе октаэдра могут быть определены на основании координат проекций вершин раздела и уровня уточнения. Просто в качестве примера, как показано на фиг.7F, раздел «KLM» может быть одним из разделов октаэдра. Количество точек на одной стороне раздела «KLM» может быть определено согласно уравнению (14).
В некоторых вариантах осуществления вершина (например, вершина K) может рассматриваться как начало системы координат проекции. Затем два базисных вектора (например, первый базисный вектор и второй базисный вектор могут быть определены на основании вектора , вектора и/или количества точек на одной стороне раздела «КЛМ» . Первый базисный вектор может относиться к вектору, образованному исходной точкой K и соседней точкой равного отклонения n-го уровня вдоль направления . Второй базисный вектор может относиться к вектору, образованному исходной точкой K и смежной точкой равного отклонения n-го уровня вдоль направления . Базисные векторы могут быть определены на основании уравнения (19):
, (19)
Координата проекции точки на разделе «KLM» может быть определена на основании двух базисных векторов. Например, любая точка (например, точка X) на разделе «KLM» может быть представлена вектором , и вектор может быть представлен как и, таким образом, координата проекции точки X на разделе «KLM» может быть представлена как (i, j), в котором i может быть целым числом, равным 0, 1,… или Ve−1, j может быть целым числом, равным 0, 1,… или Ve−1, и i + j может быть равно или меньше Ve−1.
Следует отметить, что координаты проекций точек в сетках ромбовидной формы на разных уровнях уточнения могут быть взаимозаменяемыми. Например, координата проекции первой сетки в форме ромба на уровне n уточнения может быть определена на основании координаты проекции второй сетки в форме ромба на уровне q уточнения (q> n), как показано в уравнении (20):
, (20)
где (ii, jj) может относиться к координате проекции первой сетки в форме ромба на уровне n уточнения в системе координат проекции; и (i, j) может относиться к координате проекции второй сетки в форме ромба на уровне q уточнения в системе координат проекции.
В некоторых вариантах осуществления точка P’ проекции может не принадлежать точкам, сгенерированным операциями уточнения и, таким образом, может быть определена целевая точка (сгенерированная операциями уточнения), соответствующая точке P’ проекции. В некоторых вариантах осуществления координата проекции точки P’ проекции на разделе ΔACD может упоминаться как первая координата проекции.
Просто в качестве примера фиг.7I является схемой, иллюстрирующей целевую центральную точку в сетке в форме шестиугольника согласно некоторым вариантам осуществления настоящего изобретения. Как показано на фиг.7I, на разделе ΔACD имеется множество шестиугольных сот уровня 2. Точки R1, R2, R3, R4, R5, R6 и R7 являются центральными точками шестиугольных решеток. Механизм 112 обработки может определять центральную точку, ближайшую к точке P' проекции, как целевую центральную точку. В некоторых вариантах осуществления механизм 112 обработки может определять расстояния между точкой P' проекции и центральными точками (например, точками R1, R2, R3, R4, R5, R6 и R7) сеток в форме шестиугольника на основании проекции координаты точки P' проекции и центральных точек на разделении ΔACD. Механизм 112 обработки может определять центральную точку, ближайшую к точке P’ проекции, на основании расстояний между точкой P’ и количеством окружающих центральных точек. Как показано на фиг.7I, точка R7 может быть целевой центральной точкой. Механизм 112 обработки может обозначать координату проекции целевой центральной точки на разделе ACD, как вторую координату проекции.
В некоторых вариантах осуществления сетка в форме шестиугольника может пересекать два или более разделов октаэдра. Сетка в форме шестиугольника, которая пересекает два или более разделов октаэдра, может называться перекрестной сеткой. Например, как показано на фиг.7K, четыре 1/6 шестигранной сетки AK1K2, AK2K3, AK3K4 и AK4K1 могут принадлежать одной и той же шестиугольной сетке. Соответственно, целевая центральная точка может быть расположена в вершине соответствующего раздела. В качестве другого примера, как показано на фиг.7K, граница двух соседних граней может разделять сетку в форме шестиугольника на две половины, то есть, две сетки в форме 1/2 шестиугольника на двух разных разделах могут принадлежать одной и той же сетке в форме шестиугольника. Соответственно, целевая центральная точка может быть расположена сбоку от соответствующего раздела. Следовательно, может быть желательно определить, к какому разделу принадлежит целевая центральная точка перекрестной сетки.
Фиг.7K является схемой, иллюстрирующей назначение целевой центральной точки перекрестной сетки согласно некоторым вариантам осуществления настоящего изобретения. В целях иллюстрации восемь разделов октаэдра могут быть развернуты в плоскости. Индексы восьми разделов могут быть 0, 1, 2, 3, 4, 5, 6 и 7. Шесть вершин октаэдра могут быть точками A, B, C, D, E и F. В некоторых вариантах осуществления механизм 112 обработки может определять назначение целевой центральной точки перекрестной сетки на основании одного или нескольких правил. Одно или несколько правил могут быть значениями по умолчанию, определяемыми механизмом 112 обработки, или устанавливаемыми или регулируемыми пользователем через устройство пользователя (например, пассажирский терминал 130, терминал 140 водителя и т.д.)
В некоторых вариантах осуществления координата проекции целевой центральной точки перекрестной сетки на соответствующем разделе может быть (0, 0). Соответственно, механизм 112 обработки может определять описание целевой центральной точки на основании уравнения (21):
, (21)
где f может относиться к начальному индексу соответствующего раздела целевой центральной точки; и f' может относиться к определенному согласно правилу индексу соответствующего раздела целевой центральной точки.
Например, если предположить, что точка P’ проекции расположена на грани «2», тогда целевая центральная точка может быть точкой A и начальный индекс соответствующего раздела целевой центральной точки может быть «2». Поскольку начальный индекс меньше 4, определенный согласно правилу индекс соответствующего раздела может быть определен как 0.
В некоторых вариантах осуществления координата проекции целевой центральной точки пересекающейся сетки находится на границе двух смежных разделов, и две соседние части расположены на северной стороне и южной стороне границы соответственно. То есть координата проекции целевой центральной точки (i, j) имеет соотношение i + j = N, в котором N может относиться к количеству равных сегментов на границе и, таким образом, в некоторых вариантах осуществления механизм 112 обработки может определить описание целевой центральной точки на основании уравнения (22):
, (22)
То есть механизм 112 обработки может определить, что целевая центральная точка принадлежит разделу, расположенному на северной стороне границы. Например, целевая центральная точка может быть расположена на стороне BC, CD, DE или EB, и механизм 112 обработки может указать целевую центральную точку как принадлежащую разделу «3», «0», «1» или «2», соответственно.
В некоторых вариантах осуществления координата проекции целевой центральной точки пересекающейся сетки находится на границе двух соседних разделов, и два смежных раздела расположены на восточной стороне и западной стороне границы, соответственно. То есть I-координата или J-координата целевой центральной точки может быть 0 и, таким образом, в некоторых вариантах осуществления механизм 112 обработки может определять, что целевая центральная точка принадлежит разделу, расположенному на восточной стороне границы. Например, целевая центральная точка может быть расположена на стороне AB, AC, AD или AE и механизм 112 обработки может указать целевую центральную точку, как принадлежащую разделу «3», «0», «1» или «2», соответственно.
В качестве другого примера, фиг.7J является схемой, иллюстрирующей общую целевую точку в сетке в форме ромба согласно некоторым вариантам осуществления настоящего изобретения. Раздел может иметь множество сеток в форме ромба, три или более смежных сеток могут иметь общую точку. Поскольку каждая вершина сетки в форме ромба может также быть вершиной двух или более других сеток в форме ромба, поэтому каждая вершина сетки в форме ромба может быть общей точкой.
Как показано на фиг.7J, возьмем сетку «STUV» в качестве примера, сетка «STUV» может иметь четыре общие точки S, T, U и V. Каждая сторона сетки в форме ромба может иметь длину 1 единицу. Предполагая, что координата проекции точки S равна (i, j), координаты проекции точек T, V и U могут быть (i + 1, j), (i, j + 1) и (i + 1, j + 1) соответственно. Каждая точка внутри сетки «STUV» может иметь I-координату в диапазоне (i, i + 1). Каждая точка внутри сетки «STUV» может иметь J-координату в диапазоне (j, j + 1). В некоторых вариантах осуществления механизм 112 обработки может определять общую точку, имеющую целочисленную координату первой координаты проекции, в качестве общей целевой точки. Например, координата первой проекции точки P' может быть (i + x, j + y), в которой x и/или y могут быть меньше 1 и больше 0. Соответственно, целочисленная координата первой проекции координаты может быть (i, j), то есть точка S может быть определена как общая целевая точка. Механизм 112 обработки может обозначать координату проекции общей целевой точки на разделе в качестве второй координаты проекции.
В некоторых вариантах осуществления механизм 112 обработки может определять индекс сетки, соответствующий паре координат, на основании уровня уточнения, формы многогранника, относящегося к DGGS, индекса соответствующего раздела, в котором находится пара координат и вторая координата проекции.
В некоторых вариантах осуществления индекс сетки может однозначно идентифицировать сетку в разделе карты. Область, содержащая одну или несколько пар координат, может быть проиндексирована, по меньшей мере, в одной сетке на разделе многогранника. Например, одна или несколько пар координат могут быть расположены в одной сетке и проиндексированы одним и тем же индексом сетки. В качестве другого примера одна или несколько пар координат могут располагаться в разных сетках и индексироваться разными индексами сетки. В некоторых вариантах осуществления индекс сетки может включать в себя информацию, относящуюся к описанному выше уровню уточнения, форме многогранника, индексу соответствующего раздела и/или второй координате проекции.
Индекс сетки может быть представлен как комбинация одного или нескольких чисел, одной или нескольких букв, одного или нескольких символов и т.д. Просто в качестве примера механизм 112 обработки может определить индекс сетки в форме строки «OL [] F [] i [] j []», в которой «O» может означать, что многогранник является октаэдром, «L» может относиться к уровню уточнения, «F» может относиться к индексу соответствующего раздела октаэдра, в котором находится пара координат, «i» и «j» могут относиться ко второй координате проекции и «[]» может относиться к тому, что одно или несколько чисел могут быть заполнены в текущей позиции строки. Например, если уровень уточнения равен 13, индекс соответствующего раздела равен 1 и вторая координата проекции равна (12,34, 56,78), то индекс сетки может быть «OL13F1i1234j5678».
Следует отметить, что приведенное выше описание процесса 700 предоставлено в целях иллюстрации и не предназначено для ограничения объема настоящего изобретения. Для специалистов в данной области техники очевидно, что, в соответствии с идеями настоящего изобретения, могут быть сделаны многочисленные вариации и модификации. Однако эти изменения и модификации не выходят за рамки настоящего изобретения. В некоторых вариантах осуществления, для облегчения операции преобразования, пара координат может быть преобразована в соответствующую. пару координат, что соответствует контрольной секции. Любой раздел может быть обозначен как опорный раздел. Например, раздел с индексом «0» может быть обозначен как опорный раздел. Если пара координат не на опорном разделе, механизм 112 обработки может преобразовать пару координат к опорному разделу «0». Как показано на фиг.7K, раздел, проиндексированный с помощью «4», может быть представлен как перевернутый треугольник, после преобразования раздела, индексированный с помощью «4», может быть отображен на опорный раздел «0». Соответственно, точка F может рассматриваться как начало (с координатой проекции (0, 0)) системы координат проекции, вектор FD может соответствовать оси I системы координат проекции и вектор FC может соответствовать J оси системы координат проекции.
Фиг.8 является блок-схемой алгоритма, иллюстрирующей примерный процесс определения (окончательной) последовательности граничной сетки геозоны на основании исходной последовательности граничной сетки согласно некоторым вариантам осуществления настоящего изобретения. В некоторых вариантах осуществления процесс 800 может быть реализован в системе 100 искусственного интеллекта, как показано на фиг.1. Например, процесс 800 может быть сохранен в устройстве 150 хранения и/или другом устройстве хранения (например, ROM 230, RAM 240) как форма инструкций и вызван и/или выполнен сервером 110 (например, механизм 112 обработки на сервере 110, процессор 220 механизма 112 обработки на сервере 110, один или несколько модулей механизма 112 обработки на сервере 110). Операции иллюстрированного процесса, представленные ниже, предназначены для иллюстрации. В некоторых вариантах осуществления процесс 800 может выполняться с помощью одной или нескольких дополнительных операций, которые не описаны, и/или без одной или нескольких обсуждаемых операций. Дополнительно, порядок, в котором выполняются операции процесса 800, как показано на фиг.8 и описано ниже, не предназначен для ограничения. В некоторых вариантах осуществления этап 520 процесса 500 может выполняться согласно процессу 800.
На 810 механизм 112 обработки (например, блок 421 идентификации модуля 420 определения границы геозоны) может идентифицировать последовательность граничной сетки (например, исходную последовательность граничной сетки, определенную на этапе 612, исходную последовательность граничной сетки, определенную на 653), соответствующие множеству граничных точек.
На 820 механизм 112 обработки (например, блок 422 выбора модуля 420 определения границы геозоны) может выбирать две соседние граничные точки из множества граничных точек. В целях иллюстрации две соседние граничные точки могут называться здесь парой точек. Для последовательности граничной сетки, соответствующей N граничным точкам, каждые две соседние граничные точки из N граничных точек могут называться парой точек. Механизм 112 обработки может определять N пар точек для N граничных точек. Следует отметить, что граничная точка, соответствующая первой сетке последовательности граничных сеток, и граничная точка, соответствующая последней сетке последовательности граничных сеток, также могут считаться смежными и упоминаться как две смежные граничные точки или пара точек. В некоторых вариантах осуществления множество граничных точек может обновляться путем интерполяции или удаления одной или нескольких точек.
На 830 механизм 112 обработки (например, блок 423 определения модуля 420 определения границы географической зоны) может определять, соответствуют ли две соседние граничные точки одной и той же сетке. Например, механизм 112 обработки может определять, совпадают ли индексы сетки, соответствующие двум соседним граничным точкам, друг другу. Если индексы сетки, соответствующие двум соседним граничным точкам, совпадают друг с другом, механизм 112 обработки (например, блок 423 определения модуля 420 определения границы географической зоны) может определить, что две соседние граничные точки соответствуют одной и той же сетке, например, точки C и D на фиг. 12А. Если индексы сетки, соответствующие двум соседним граничным точкам, различны, то механизм 112 обработки (например, блок 423 определения модуля 420 определения границы географической зоны) может определить, что две соседние граничные точки соответствуют двум разным сеткам.
В ответ на определение, что две соседние граничные точки соответствуют одной и той же сетке, это может указывать на то, что последовательность граничной сетки включает в себя повторяющиеся сетки, и повторяющиеся сетки являются смежными в последовательности граничной сетки, тогда процесс 800 может перейти к этапу 840. На 840 механизм 112 обработки (например, блок 424 удаления модуля 420 определения границы геозоны) может удалить одну из двух соседних граничных точек. Удаленная граничная точка может быть любой из двух соседних граничных точек. Затем на этапе 880 механизм 112 обработки (например, блок 426 обновления модуля 420 определения границы геозоны) может обновить последовательность граничной сетки, удалив сетку, соответствующую удаленной граничной точке.
В ответ на определение, что две соседние граничные точки соответствуют двум разным сеткам, процесс 800 может перейти к 850. На 850 механизм 112 обработки (например, блок 425 интерполяции модуля 420 определения границы геозоны) может выбрать точку между двумя соседними граничными точками. Выбранная точка может быть произвольной точкой между двумя соседними граничными точками, например, средней точкой двух соседних граничных точек, точкой около одной из двух соседних граничных точек или любой другой точкой между двумя соседними граничными точками. В настоящем изобретении изобретения выбранная точка является средней точкой двух соседних граничных точек в качестве примера, что не является ограничивающим. В некоторых вариантах осуществления механизм 112 обработки (например, блок 425 интерполяции) может напрямую интерполировать сетку, соответствующую выбранной точке в последовательности граничной сетки, чтобы обновить последовательность граничной сетки. В некоторых вариантах осуществления механизм 112 обработки (например, блок 425 интерполяции модуля 420 определения границы географической зоны) может дополнительно определять, удовлетворяется ли условие интерполяции. Условие интерполяции может заключаться в том, что сетка, соответствующая выбранной точке, отличается от любой из сеток, соответствующих двум соседним граничным сеткам.
Когда условие интерполяции удовлетворяется, механизм 112 обработки (например, блок 425 интерполяции модуля 420 определения границы географической зоны) может интерполировать выбранную точку, которая находится между двумя соседними граничными точками на 870. Интерполированная точка может быть обозначена как граничная точка геозоны. Затем на этапе 880 механизм 112 обработки (например, блок 426 обновления модуля 420 определения границы геозоны) может обновлять последовательность граничной сетки путем интерполяции сетки, соответствующей интерполированной граничной точке между двумя сетками, соответствующими двум соседним граничным точкам.
Когда условие интерполяции не удовлетворяется, механизм 112 обработки может не интерполировать выбранную точку. В некоторых вариантах осуществления для всех пар точек, относящихся к последовательности граничной сетки, механизм 112 обработки может интерполировать одну или несколько точек между двумя соседними граничными точками или удалять точку из двух соседних граничных точек параллельно. В некоторых вариантах осуществления для всех пар точек, относящихся к последовательности граничной сетки, механизм 112 обработки может интерполировать одну или несколько точек между двумя соседними граничными точками или последовательно удалять точку из двух соседних граничных точек. Например, механизм 112 обработки может последовательно получать две соседние граничные точки из множества граничных точек в 820 и выполнять этап 320 по 870, затем процесс 800 может вернуться к этапу 820 для получения еще двух соседних граничных точек. Следовательно, чтобы получить все сетки, которые заняты геозоной, механизм 112 обработки может повторять выполнение вышеупомянутых операций (например, операций, описанных с этапа 820 по этап 880). Для каждой пары точек при определении, что условие интерполяции удовлетворяется, механизм 112 обработки может рекурсивно интерполировать точку до тех пор, пока не будет выполнена интерполяция между двумя соседними точками граничной сетки (включающие в себя граничные точки, соответствующие исходной последовательности граничной сетки и интерполированные граничные сетки) генерирует точку, соответствующую той же сетке, что и одна из двух соседних граничных точек. Затем механизм 112 обработки может определить окончательную последовательность граничной сетки геозоны на основании удаленных граничных точек и/или интерполированных граничных точек.
Фиг.9A является блок-схемой алгоритма, иллюстрирующей примерный процесс определения одной или нескольких замкнутых областей, ассоциированных с географической областью, согласно некоторым вариантам осуществления настоящего изобретения. В некоторых вариантах осуществления процесс 900 может быть реализован в системе 100 искусственного интеллекта, как показано на фиг.1. Например, процесс 900 может быть сохранен в устройстве 150 хранения и/или другом устройстве хранения (например, ROM 230, RAM 240) как форма инструкций и вызван и/или выполнен сервером 110 (например, механизм 112 обработки на сервере 110, процессор 220 механизма 112 обработки на сервере 110, один или несколько модулей механизма 112 обработки на сервере 110). Операции иллюстрированного процесса, представленные ниже, предназначены для иллюстрации. В некоторых вариантах осуществления процесс 900 может выполняться с помощью одной или нескольких дополнительных операций, которые не описаны, и/или без одной или нескольких обсуждаемых операций. Дополнительно, порядок, в котором операции процесса 900, как показано на фиг.9A и описано ниже, не предназначен для ограничения. В некоторых вариантах осуществления этап 530 процесса 500 может выполняться согласно процессу 900.
На 910 механизм 112 обработки (например, блок 431 получения сетки модуля 430 определения замкнутой области) может получать последовательность граничной сетки, относящуюся к географической области. В некоторых вариантах осуществления последовательность граничной сетки может быть последовательностью граничной сетки, которая определяется на этапе 520 на фиг.5. Последовательность граничной сетки может включать все сетки, через которые проходит геозона. Сетки последовательности граничных сеток могут быть расположены в порядке их прохождения геозоной.
На 920 механизм 112 обработки (например, блок 432 определения сводной сетки модуля 430 определения замкнутой области) может определять, включает ли последовательность граничной сетки одну или несколько сводных сеток. Как описано выше, сводная сетка может относиться к сетке, через которую геозона проходит два или более раза, и сводная сетка может появляться два или более раз в последовательности граничной сетки. Следовательно, механизм 112 обработки может определить, включает ли в себя последовательность граничной сетки две или более одинаковых сетки, используя способ поиска. Например, механизм 112 обработки может сгенерировать список ссылок или вспомогательную карту для сеток последовательности граничных сеток на основании относительных позиций сеток, тогда механизм 112 обработки может определить, включает ли в себя последовательность граничных сеток один или несколько сводных сеток с помощью поиска в списке ссылок или на вспомогательной карте. В некоторых вариантах осуществления определение сводной сетки может быть получено путем выполнения одной или нескольких операций, описанных на фиг.9.
В ответ на определение, что последовательность граничной сетки не включает в себя сводную сетку, процесс 900 может перейти к этапу 930. На 930 механизм 112 обработки (например, блок 433 определения замкнутой области модуля 430 определения замкнутой области) может указать географическую область, как замкнутую область.
В ответ на определение, что последовательность граничной сетки включает в себя одну или несколько сводных сеток, процесс 900 может перейти к этапу 940. На 940 механизм 112 обработки (например, блок 433 определения замкнутой области модуля 430 определения замкнутой области) может определять одну или несколько замкнутых областей на основании одной или нескольких сводных сеток. Например, для каждой из одной или нескольких сводных сеток механизм 112 обработки может идентифицировать область в географической области на одной стороне сводной сетки, как первую замкнутую область и область в географической области на другой стороне сводной сетки, как вторую замкнутую область. В некоторых вариантах осуществления количество N замкнутых областей, ассоциированных со сводной сеткой, может быть определено на основании количества M, когда сводная сетка появляется в последовательности граничных сеток. В одном варианте осуществления, если конкретная сводная сетка появляется M раз (например, 2, 3, 4…) в последовательности граничных сеток, может быть N = M замкнутых областей, ассоциированных с конкретной сводной сеткой. В другом варианте осуществления, если конкретная сводная сетка появляется M раз (например, 3, 4…) в последовательности граничных сеток, может быть N (N меньше M, например, N = M-1) замкнутых областей, ассоциированных с конкретной опорной сеткой.
Фиг.9B является блок-схемой алгоритма, иллюстрирующей примерный процесс определения одной или нескольких замкнутых областей, ассоциированных с географической областью, с использованием операции стека согласно некоторым вариантам осуществления настоящего изобретения. В некоторых вариантах осуществления процесс 950 может быть реализован в системе 100 искусственного интеллекта, как показано на фиг.1. Например, процесс 950 может быть сохранен в устройстве 150 хранения и/или другом устройстве хранения (например, ROM 230, RAM 240) как форма инструкций и вызван и/или выполнен сервером 110 (например, механизм 112 обработки на сервере 110, процессор 220 механизма 112 обработки на сервере 110, один или несколько модулей механизма 112 обработки на сервере 110). Операции иллюстрированного процесса, представленные ниже, предназначены для иллюстрации. В некоторых вариантах осуществления процесс 950 может выполняться с помощью одной или нескольких дополнительных операций, которые не описаны, и/или без одной или нескольких обсуждаемых операций. Дополнительно, порядок, в котором операции процесса 950, как показано на фиг.9B и описанный ниже, не предназначен для ограничения. В некоторых вариантах осуществления этап 530 процесса 500 и процесс 900 могут выполняться в соответствии с процессом 950.
На 951 механизм 112 обработки (например, модуль 430 определения замкнутой области) может генерировать пустой стек и пустую вспомогательную карту. В некоторых вариантах осуществления механизм 112 обработки может генерировать пустой стек и пустую вспомогательную карту для хранения или обработки информации (например, граничных точек, сеток, индексов сетки, описанных в настоящем изобретении), относящейся к геозоне географической области. Вспомогательная карта может включать в себя две части, включающие в себя ключевую часть и часть значения. Ключ и соответствующее значение могут называться парой ключ-значение, представленной как <key, value>. Ключ во вспомогательной карте может быть уникальным, и каждый ключ может быть ассоциирован только с одним значением. В некоторых вариантах осуществления сетка в последовательности граничных сеток может быть пронумерована последовательно. Каждой сетке может соответствовать уникальный порядковый номер. Например, если общее количество сеток (или соответствующих индексов сетки) в последовательности граничных сеток равно n, то порядковые номера сеток могут быть указаны как «1», «2», «3», …, «n», Соответственно. Порядковый номер может быть введен в одну часть вспомогательной карты, и соответствующий индекс сетки может быть введен в другую часть вспомогательной карты. В некоторых вариантах осуществления пара «ключ-значение» вспомогательной карты может быть представлена как <порядковый номер, индекс сетки>, т.е. порядковый номер является ключом и индекс сетки является значением, относящимся к ключу. В качестве альтернативы пара «ключ-значение» вспомогательной карты может быть представлена как <индекс сетки, порядковый номер>, т.е. индекс сетки является ключом и порядковый номер является значением, относящимся к ключу. На 952 механизм 112 обработки (например, блок 431 получения сетки модуля 430 определения замкнутой области) может получать сетку из последовательности граничной сетки (например, последней последовательности граничной сетки, относящейся к геозоне географической области). В некоторых вариантах осуществления механизм 112 обработки может последовательно получать сетку в последовательности граничных сеток, например, из модуля 420 определения границ геозоны или устройства хранения (например, устройства 150 хранения). Механизм 112 обработки может сначала получить сетку, соответствующую порядковому номеру 1, затем получить сетку, соответствующую порядковому номеру 2, затем получить сетку, соответствующую порядковому номеру 3, …, и, наконец, получить сетку, соответствующую порядковому номеру n.
На 953 механизм 112 обработки (например, блок 432 определения сводной сетки модуля 430 определения замкнутой области) может определить, находится ли индекс сетки, соответствующий сетке, во вспомогательной карте, посредством поиска на вспомогательной карте.
В ответ на определение, что индекс сетки, соответствующий сетке, отсутствует во вспомогательной карте, процесс 950 может перейти к 954. На 954 механизм 112 обработки (например, модуль 430 определения замкнутой области) может вставить индекс сетки в стек. В некоторых вариантах осуществления механизм 112 обработки может одновременно помещать индекс сетки в стек и соответствующий порядковый номер в стеке или другом стеке. Механизм 112 обработки может также вводить индекс сетки во вспомогательную карту на этапе 954. В частности, механизм 112 обработки может вводить индекс сетки в одну часть вспомогательной карты (например, часть значения) и вводить соответствующий порядковый номер в другую часть вспомогательной карты (например, ключевая часть). Следует отметить, что вставка сетки в стек и ввод сетки в карту могут выполняться на одном и том же этапе или на разных этапах. После этапа 954 процесс 950 может перейти к этапу 952 для получения сетки, соответствующей следующему порядковому номеру.
В ответ на определение, что индекс сетки, соответствующий сетке, находится во вспомогательной карте, процесс 950 может перейти к этапу 955. На 955 механизм 112 обработки (например, блок 432 определения сводной сетки модуля 430 определения замкнутой области) может обозначать сетку как сводную сетку. Механизм 112 обработки также может обозначать индекс сетки, соответствующий сводной сетке, как индекс сводной сетки.
На этапе 956 механизм 112 обработки (например, блок 433 определения замкнутой области модуля 430 определения замкнутой области) может выбирать индексы сетки, которые находятся в стеке, из стека до тех пор, пока индекс сетки в верхней части стека не станет то же, что и индекс сводной сетки. В некоторых вариантах осуществления механизм 112 обработки также может извлекать индекс сетки, который совпадает с индексом сводной сетки, из верхней части стека. Затем на этапе 957 механизм 112 обработки (например, блок 433 определения замкнутой области модуля 430 определения замкнутой области) может назначить сетки, соответствующие выбранным индексам сетки, как граничные сетки замкнутой области, относящейся к сводной сетке (или индекс сетки). В некоторых вариантах осуществления, когда сетка и соответствующий порядковый номер помещаются в стек на этапе 954, механизм 112 обработки может извлекать индекс сетки и соответствующий порядковый номер из верхней части стека одновременно на этапе 956.
Следует отметить, что приведенное выше описание процесса 950 предоставлено в целях иллюстрации и не предназначено для ограничения объема настоящего изобретения. Специалисты в данной области техники, в соответствии с идеями настоящего изобретения могут сделать многочисленные вариации и модификации. Однако эти изменения и модификации не выходят за рамки настоящего изобретения. В некоторых вариантах осуществления индексы сетки и соответствующие порядковые номера могут быть помещены в два стека. Например, на этапе 951 механизм 112 обработки может генерировать два пустых стека. На 954 индекс сетки и соответствующий порядковый номер могут быть помещены в два стека соответственно. На этапе 956 механизм 112 обработки может извлекать индексы сетки и соответствующие порядковые номера из двух стеков соответственно. В некоторых вариантах осуществления на этапе 956 механизм 112 обработки может не извлекать индекс сетки, который совпадает с индексом сводной сетки, из стека.
В некоторых вариантах осуществления после определения первой замкнутой области процесс 950 может перейти к этапу 952. На этапе 952 механизм 112 обработки может продолжить получение сетки из последовательности граничных сеток. Выполняя этапы 953–957, механизм 112 обработки может определять следующую замкнутую область. В некоторых вариантах осуществления этапы 952–957 могут быть повторены для определения одной или нескольких замкнутых областей. Посредством повторения выполнения этапов 952–957 индексы сетки всех сеток в последовательности граничных сеток могут быть обработаны (например, вставлены или извлечены из стека). В некоторых вариантах осуществления, когда первая сетка, помещенная в стек, не является сводной сеткой, после того, как механизм 112 обработки определит все сводные сетки, в стеке все еще может оставаться несколько сеток (или индексов сетки), тогда механизм 112 обработки может обозначать сетки, соответствующие индексам сетки, остающимся в стопке, как граничные сетки другой замкнутой области. Когда все операции процесса 950 выполнены, механизм 112 обработки может идентифицировать все замкнутые области географической области (например, идентифицировать граничные сетки для каждой из замкнутых областей).
Фиг.10 является блок-схемой алгоритма, иллюстрирующей примерный процесс определения граничных сеток двух или более подобластей согласно некоторым вариантам осуществления настоящего изобретения. В некоторых вариантах осуществления процесс 1000 может быть реализован в системе 100 искусственного интеллекта, как показано на фиг.1. Например, процесс 1000 может быть сохранен в устройстве 150 хранения и/или другом устройстве хранения (например, ROM 230, RAM 240) как форма инструкций и вызван и/или выполнен сервером 110 (например, механизм 112 обработки на сервере 110, процессор 220 механизма 112 обработки на сервере 110, один или несколько модулей механизма 112 обработки на сервере 110). Операции иллюстрированного процесса, представленные ниже, предназначены для иллюстрации. В некоторых вариантах осуществления процесс 1000 может выполняться с помощью одной или нескольких дополнительных операций, которые не описаны, и/или без одной или нескольких обсуждаемых операций. Дополнительно, порядок, в котором операции процесса 1000, показанные на фиг.10 и описаны ниже, не предназначен для ограничения. В некоторых вариантах осуществления этап 550 процесса 500 может выполняться согласно процессу 1000.
На этапе 1010 механизм 112 обработки (например, блок 441 определения сетки перекрывающихся краев модуля 440 определения подобласти) может определять перекрывающиеся краевые сетки, где подобласть пересекается с одним или несколькими краями множества разделов. В некоторых вариантах осуществления термины «край», «граница» и «сторона» раздела могут использоваться взаимозаменяемо. В некоторых вариантах осуществления, если замкнутая область пересекает два или более разделов, механизм 112 обработки (например, модуль 440 определения подобласти) может сегментировать замкнутую область на две или более подобласти (со ссылкой на операцию, описанную в 540 процесса 500). В некоторых вариантах осуществления для подобласти подобласть может пересекаться с одним или несколькими краями разделов карты. Механизм 112 обработки может определять одну или более сеток перекрывающихся краев на основании граничных сеток подобласти на одном или более краях. Например, как показано на фиг.11B, есть примерный прямоугольный раздел 1166, включающий в себя множество примерных прямоугольных сеток 1167. Следует отметить, что раздел и/или сетки могут иметь другие формы и числа. Механизм 112 обработки (например, модуль 440 определения подобласти) может определять подобласть 1162 (область с наклонными пунктирными линиями) как одну из подобластей, относящихся к замкнутой области 1161. В некоторых вариантах осуществления для определения одной или более перекрывающихся краевых сеток подобласти 1162 на разделе 1166, механизм 112 обработки (например, блок 441 определения перекрывающейся сетки) может сначала определить точки (например, точка A и точка B), которые граничат с границей замкнутой области 1161, пересекаются с разделом 1166. Затем механизм 112 обработки (например, блок 441 определения перекрывающейся сетки) может определять сетки между точкой A и точкой C на краю EC как первые перекрывающиеся краевые сетки на основании индекса сетки, при наличии точки A и индекса раздела 1166. Механизм 112 обработки (например, блок 441 определения перекрывающейся сетки) может определять сетки между точкой B и точкой C на краю FC как вторые перекрывающиеся краевые сетки на основании индекса сетки, при наличии точки B и индекса раздела 1166. Следует отметить, что точка A и точка B находятся на границе замкнутой области 1162, поэтому сетка, где находится точка A, и сетка, где находится точка B, могут принадлежать граничным сеткам (также называемые здесь исходными граничными сетками) подобласти 1162 вместо перекрывающихся сеток подобласти 1162.
На этапе 1020 механизм 112 обработки (например, блок 442 определения граничной сетки модуля 440 определения подобласти) может определять граничные сетки подобласти на основании перекрывающихся краевых сеток и граничных сеток замкнутой области, относящейся к двум или более подобластям. В некоторых вариантах осуществления для подобласти механизм 112 обработки может комбинировать исходные граничные сетки подобласти и перекрывающиеся краевые сетки, относящиеся к подобласти, для определения граничных сеток (также называемых здесь конечными граничными сетками) подобласти. Следует отметить, что для каждой подобласти, определенной на этапе 540, механизм 112 обработки может выполнять операции, описанные на фиг.10 для определения граничных сеток подобласти.
Фиг.11A является блок-схемой алгоритма, иллюстрирующей примерный процесс определения внутренних сеток в подобласти согласно некоторым вариантам осуществления настоящего изобретения. В некоторых вариантах осуществления процесс 1100 может быть реализован в системе 100 искусственного интеллекта, как показано на фиг.1. Например, процесс 1100 может быть сохранен в устройстве 150 хранения и/или другом устройстве хранения (например, ROM 230, RAM 240) как форма инструкций и вызван и/или выполнен сервером 110 (например, механизм 112 обработки на сервере 110, процессор 220 механизма 112 обработки на сервере 110, один или несколько модулей механизма 112 обработки на сервере 110). Операции иллюстрированного процесса, представленные ниже, предназначены для иллюстрации. В некоторых вариантах осуществления процесс 1100 может выполняться с помощью одной или нескольких дополнительных операций, которые не описаны, и/или без одной или нескольких обсуждаемых операций. Дополнительно, порядок, в котором операции процесса 1100, как показано на фиг.11A и описанный ниже не предназначен для ограничения. В некоторых вариантах осуществления этап 560 процесса 500 может выполняться согласно процессу 1100.
На этапе 1110 механизм 112 обработки (например, блок 451 инициализации матрицы модуля 450 определения внутренней сетки) может инициализировать матрицу сканирования. Матрица сканирования может включать в себя множество сот. Каждая сота матрицы сканирования может иметь первое значение. Значение, заполняемое в матрице сканирования, может иметь любой формат, например, число, букву. В целях иллюстрации значение, заполненное в матрице сканирования, описанной в другом месте в настоящем изобретении, может быть в числовом формате, например, 0, 1, 2, 3…. В некоторых вариантах осуществления первое значение может быть нулем. В некоторых вариантах осуществления механизм 112 обработки (например, модуль 450 определения внутренней сетки) может определять размер матрицы сканирования на основании диапазона граничных сеток подобласти.
Просто в качестве примера, как показано на фиг.11B, OE и OF могут быть обозначены как ось I и ось J прямоугольного раздела OECF. Замкнутая область 1161 (например, в форме окружности) пересекает более одного раздела. Подобласть 1162 пересекает три сетки в направлении оси I прямоугольного раздела OECF и шесть сеток в направлении оси J прямоугольного раздела OECF. Механизм 112 обработки может определить, что диапазон подобласти 1162 равен 3 в направлении оси I и 6 в направлении оси J. Затем механизм 112 обработки (например, модуль 450 определения внутренней сетки) может определить матрицу сканирования, имеющую размер 3*6. Механизм 112 обработки (например, блок 451 инициализации матрицы модуля 450 определения внутренней сетки) может инициализировать матрицу сканирования, заполняя первое значение (например, ноль) в каждую соту матрицы сканирования. Просто в качестве примера инициализированная матрица Z сканирования может быть выражена уравнением (23):
. (23)
На этапе 1120 механизм 112 обработки (например, блок 452 обновления матрицы модуля 450 определения внутренней сетки) может выполнять первое обновление матрицы сканирования, заполняя второе значение каждой из первого множества сот матрицы сканирования. Первое множество сот может соответствовать граничным сеткам подобласти. Второе значение может быть любым значением (или числом), отличным от первого значения. Например, второе значение может быть 1.
В целях иллюстрации матрица сканирования после первого обновления может упоминаться в данном документе как первая обновленная матрица сканирования. Просто в качестве примера, когда первое значение равно 0 и второе значение равно 1, первая обновленная матрица Z’ сканирования может быть выражена уравнением (24):
. (24)
После этапа 1120 частичные соты могут иметь первое значение и частичные соты (например, первое множество сот) могут иметь второе значение. Затем на этапе 1130 механизм 112 обработки (например, модуль 450 определения внутренней сетки) может для соты, которая имеет первое значение, определить, находится ли сетка, соответствующая соте, в географическом области, используя способ луча. В некоторых вариантах осуществления для каждой из всех сот в матрице сканирования механизм 112 обработки может определять, находится ли сетка, соответствующая соте, в географической области, используя лучевой способ на этапе 1130.
В ответ на определение, что сетка, соответствующая соте, находится в географическом области, процесс 1100 может перейти к этапу 1140. На этапе 1140 механизм 112 обработки (например, блок 452 обновления матрицы модуля 450 определения внутренней сетки) может выполнять второе обновление матрицы сканирования путем заполнения третьего значения соты матрицы сканирования. Третье значение может быть любым значением (или числом), отличным от первого значения и таким же или отличным от второго значения. Например, третье значение может быть 2. В некоторых вариантах осуществления, если одна или несколько сеток, соответствующих сотам, которые имеют первое значение, находятся в географической области, механизм 112 обработки может выполнить второе обновление матрицы сканирования, заполнив третье значение в одну или несколько соответствующих сот.
В целях иллюстрации матрица сканирования после второго обновления может упоминаться в данном документе как вторая обновленная матрица сканирования. Просто в качестве примера, когда третье значение равно 2, вторая обновленная матрица Z’’ сканирования может быть выражена как уравнение (25):
. (25)
На этапе 1150 механизм 112 обработки (например, блок 453 определения внутренней сетки модуля 450 определения внутренней сетки) может обозначать сетки, соответствующие сотам с третьим значением (например, 2), как внутренние сетки в подобласти 1162.
В некоторых вариантах осуществления механизм 120 обработки может идентифицировать одну или несколько сот, которые окружены первым множеством сот, и определять, что сетки, соответствующие сотам, окруженным первым множеством сот, как внутренние сетки подобласти.
Механизм 112 обработки может просматривать матрицу сканирования для выбора соты со вторым (или третьим) значением. Механизм 112 обработки может указывать сетки, соответствующие сотам со вторым (или третьим) значением, как целевые сетки, соответствующие подобласти. Когда механизм 112 обработки выполняет операции в процессе 1100 для каждой подобласти в географической области, механизм 112 обработки может определять целевые сетки (включающие в себя граничные сетки и внутренние сетки) географической области, собирая все целевые сетки (включающие в себя граничные сетки и внутренние сетки), относящиеся к каждой подобласти в географической области.
После описания основных концепций специалистам в данной области техники после прочтения этого подробного описания может быть довольно очевидно, что вышеизложенное подробное изобретение предназначено для представления только в качестве примера и не является ограничивающим. Могут быть выполнены различные изменения, улучшения и модификации, предназначенные для специалистов в данной области техники, хотя здесь явно не указано. Эти изменения, улучшения и модификации, предложенные настоящим изобретением, должны находиться в пределах сущности и объема примерных вариантов осуществления настоящего изобретения.
Кроме того, для описания вариантов осуществления настоящего изобретения была использована определенная терминология. Например, термины «один вариант осуществления», «вариант осуществления» и/или «некоторые варианты осуществления» означают, что конкретный признак, структура или характеристика, описанные в связи с вариантом осуществления, содержаться, по меньшей мере, в одном варианте осуществления настоящего изобретения. Поэтому следует подчеркнуть, что две или более ссылки на «вариант осуществления», «один вариант осуществления» или «альтернативный вариант осуществления» в различных частях этого описания не обязательно относятся к одному и тому же варианту осуществления. Кроме того, конкретные признаки, структуры или характеристики могут быть скомбинированы в соответствии с одним или несколькими вариантами осуществления настоящего изобретения.
Кроме того, специалисту в данной области техники будет понятно, что аспекты настоящего изобретения могут быть проиллюстрированы и описаны здесь в любой из последовательности патентоспособных классов или контекста, включающие в себя любой новый и полезный процесс, машину, производство или композицию материалов, или любое новое и полезное улучшение. Соответственно, аспекты настоящего изобретения могут быть реализованы полностью аппаратным, полностью программным (включающие в себя микропрограммное обеспечение, резидентное программное обеспечение, микрокод и т.д.) или объединять программную и аппаратную реализацию, которые в целом могут упоминаться здесь как «блок», «модуль» или «система». Кроме того, аспекты настоящего изобретения могут принимать форму компьютерного программного продукта, воплощенного в одном или более машиночитаемых носителях, имеющих реализованный на них машиночитаемый программный код.
Постоянный машиночитаемый носитель сигнала может включать в себя распространяемый сигнал данных с машиночитаемым программным кодом, воплощенным в нем, например, в основной полосе частот или как часть несущей волны. Такой распространяемый сигнал может принимать любую из множества форм, включающую в себя электромагнитную, оптическую и т.п. или любую подходящую их комбинацию. Машиночитаемый носитель сигнала может быть любым машиночитаемым носителем, который не является машиночитаемым носителем данных и который может передавать, распространять или транспортировать программу для использования системой, устройством или устройством выполнения инструкций или в связи с ними. Программный код, реализованный на машиночитаемом носителе сигнала, может быть передан с использованием любой подходящей среды, включающую в себя беспроводную, проводную, волоконно-оптический кабель, RF или подобное или любую подходящую комбинацию вышеизложенного.
Компьютерный программный код для выполнения операций для аспектов настоящего изобретения может быть написан на любой комбинации одного или нескольких языков программирования, включающий в себя объектно-ориентированный язык программирования, такой как Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C ++. , C #, VB. NET, Python и т.п., обычные процедурные языки программирования, такие как язык программирования «C», Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, языки динамического программирования, такие как Python, Ruby и Groovy или другие языки программирования. Программный код может полностью выполняться на компьютере пользователя, частично на компьютере пользователя, как автономный пакет программного обеспечения, частично на компьютере пользователя и частично на удаленном компьютере или полностью на удаленном компьютере или сервере. В последнем сценарии удаленный компьютер может быть подключен к компьютеру пользователя через сеть любого типа, включающую в себя локальную сеть (LAN) или глобальную сеть (WAN) либо соединение может быть выполнено с внешним компьютером (например, через интернет с использованием интернет-провайдера) или в среде облачных вычислений, или предлагается в качестве услуги, такой как «программное обеспечение как услуга» (SaaS).
Кроме того, изложенный порядок элементов или последовательностей обработки или использование цифр, букв или других обозначений, следовательно, не предназначен для ограничения заявленных процессов и способов каким-либо порядком, за исключением случаев, указанных в формуле изобретения. Хотя в приведенном выше изобретении с помощью различных примеров обсуждается то, что в настоящее время считается множеством полезных вариантов реализации изобретения, следует понимать, что такие подробности предназначены исключительно для этой цели и что прилагаемая формула изобретения не ограничивается раскрытыми вариантами осуществления, но, напротив, предназначены для охвата модификаций и эквивалентных устройств, которые находятся в пределах сущности и объема раскрытых вариантов осуществления. Например, хотя реализация различных компонентов, описанных выше, может быть воплощена в аппаратном устройстве, она также может быть реализована только как программное решение, например, установка на существующий сервер или мобильное устройство.
Аналогичным образом, следует принимать во внимание, что в предшествующем описании вариантов осуществления настоящего изобретения различные признаки иногда сгруппированы вместе в одном варианте осуществления, чертеже или его описании с целью упорядочивания изобретения, способствующего пониманию одного или более различных вариантов осуществления изобретения. Этот способ изобретения, однако, не следует интерпретировать как отражающий намерение, что заявленный предмет изобретения требует большего количества функций, чем прямо указано в каждом пункте формулы изобретения. Скорее, варианты осуществления изобретения заключаются не во всех признаках одного вышеупомянутого раскрытого варианта осуществления.
В некоторых вариантах осуществления числа, выражающие количества, свойства и так далее, используемые для описания и утверждения определенных вариантов осуществления изобретения, следует понимать как измененные в некоторых случаях термином «около», «приблизительно» или «по существу». Например, «около», «приблизительно» или «по существу» могут указывать на отклонение ±20% от описываемого значения, если не указано иное. Соответственно, в некоторых вариантах осуществления числовые параметры, изложенные в письменном описании и прилагаемой формуле изобретения, являются приблизительными, которые могут варьироваться в зависимости от требуемых свойств, которые должны быть получены с помощью конкретного варианта осуществления. В некоторых вариантах осуществления числовые параметры следует толковать в свете количества сообщаемых значащих цифр и с применением обычных способов округления. Несмотря на то, что числовые диапазоны и параметры, определяющие широкий объем некоторых вариантов осуществления настоящего изобретения, являются приблизительными, числовые значения, изложенные в конкретных примерах, сообщаются настолько точно, насколько это возможно.
Каждый из патентов, патентных заявок, публикаций патентных заявок и других материалов, таких как статьи, книги, спецификации, публикации, документы, материалы и/или тому подобное, упомянутые в настоящем документе, тем самым включены в настоящее описание посредством этой ссылки в полном объеме для всех целей, за исключением любого рассмотрения дела по заявке, ассоциированной с ним, любого из того же, что несовместимо с настоящим документом или противоречит ему, или что-либо из того же, что может иметь ограничивающее влияние в отношении самого широкого объема формулы изобретения в настоящее время или позже, ассоциированный с настоящим документом. В качестве примера, при наличии какого-либо несоответствия или конфликта между описанием, определением и/или использованием термина, ассоциированного с любым из включенных материалов, и тем, что ассоциировано с настоящим документом, описанием, определением и/или использование термина в настоящем документе имеет преимущественную силу.
В заключение, следует понимать, что варианты осуществления настоящего изобретения, раскрытые в данном документе, иллюстрируют принципы вариантов осуществления настоящего изобретения. Другие модификации, которые могут быть использованы, могут входить в объем настоящего изобретения. Таким образом, в качестве примера, но не ограничения, альтернативные конфигурации вариантов осуществления настоящего изобретения могут быть использованы в соответствии с идеями в данном документе. Соответственно, варианты осуществления настоящего изобретения не ограничиваются тем, что в точности показано и описано.
Настоящее техническое решение относится к области вычислительной техники для навигации. Технический результат заключается в повышении скорости идентификации сетки географической области на карте текущего пользователя с получением доступа к информации, относящейся к данной сетке. Технический результат осуществляется за счёт системы для идентификации сетки для геозоны в области на карте, выполненной с возможностью идентифицировать сетки для геозоны в области на карте, которая включает в себя множество независимо проиндексированных областей сеток, содержащая носитель данных, хранящий карту и набор инструкций для идентификации географической области; процессор, взаимодействующий с носителем данных, который загружает часть карты в схему кэширования, генерирует представление части карты, получает информацию о геозоне географической области на карте, определяет последовательность граничной сетки геозоны, идентифицирует замкнутую область в геозоне, сегментирует замкнутую область так, чтобы каждая подобласть находилась только в одном разделе множества разделов, определяет граничные сетки для подобластей, идентифицирует внутренние сетки в подобласти, идентифицирует сетки в географической области путем сбора граничных сеток подобластей и внутренних сеток в подобластях. 9 з.п. ф-лы, 13 ил.
1. Система для идентификации сетки для геозоны в области на карте, выполненная с возможностью
идентифицировать сетки для геозоны в области на карте, которая включает в себя множество независимо проиндексированных областей сеток, содержащая:
по меньшей мере, один носитель данных, хранящий карту и набор инструкций для идентификации географической области;
по меньшей мере, один процессор, взаимодействующий с, по меньшей мере, одним носителем данных, в которой при выполнении набора инструкций, по меньшей мере, один процессор выполнен с возможностью:
загружать, по меньшей мере, часть карты, по меньшей мере, из одного носителя данных, по меньшей мере, в одну схему кэширования;
генерировать представление, по меньшей мере, части карты, в которой карта разбита на множество сеток и разделена на множество разделов, каждая сетка множества сеток на карте ассоциирована с индексом сетки, и сетки в каждом разделе независимо индексируются;
получать информацию о геозоне географической области на карте;
определять последовательность граничной сетки геозоны из множества сеток;
идентифицировать, по меньшей мере, одну замкнутую область в географической области на основании последовательности граничной сетки;
после определения, что замкнутая область, по меньшей мере, одной замкнутой области пересекает два или более разделов множества разделов, сегментировать замкнутую область на две или более подобласти так, чтобы каждая подобласть из двух или более подобластей находилась только в одном разделе множества разделов;
определять граничные сетки для каждой из двух или более подобластей;
для каждой из двух или более подобластей идентифицировать из множества сеток внутренние сетки в подобласти на основании граничных сеток подобласти и индекса раздела, в которой находится подобласть; и
идентифицировать сетки в географической области путем сбора граничных сеток двух или более подобластей и внутренних сеток в двух или более подобластях.
2. Система по п.1, в которой информация о геозоне включает в себя набор пар координат, соответствующих множеству граничных точек; и
для определения последовательности граничной сетки геозоны, по меньшей мере, один процессор дополнительно выполнен с возможностью:
идентифицировать из множества сеток последовательность граничной сетки, соответствующую множеству граничных точек; и
выполнить одну или несколько операций, включающих в себя следующие этапы:
получение двух соседних граничных точек из множества граничных точек,
определение, соответствуют ли две соседние граничные точки одной и той же сетке;
в ответ на определение, что две соседние граничные точки соответствуют одной и той же сетке, удаление одной из двух соседних граничных точек;
в ответ на определение, что две соседние граничные точки соответствуют двум разным сеткам, интерполирование граничной точки между двумя соседними граничными точками; и
обновление последовательности граничной сетки, соответствующей множеству граничных точек.
3. Система по п.1, в которой
последовательность граничной сетки включает в себя сетки из множества сеток карты, через которую проходит геозона; и
для идентификации, по меньшей мере, одной замкнутой области, по меньшей мере, один процессор дополнительно выполнен с возможностью:
определять, включает ли в себя последовательность граничной сетки одну или несколько сводных сеток, в которой сводная сетка соответствует, по меньшей мере, двум одинаковым индексам сетки; и
в ответ на определение, что последовательность граничной сетки включает в себя одну или несколько сводных сеток, для каждой из одной или нескольких сводных сеток идентифицировать область в географической области на одной стороне сводной сетки как первую замкнутую область и область в географической области на другой стороне сводной сетки как вторую замкнутую область, отличную от первой замкнутой области.
4. Система по п.3, в которой для идентификации, по меньшей мере, одной замкнутой области, по меньшей мере, один процессор дополнительно выполнен с возможностью:
генерировать пустой стек и пустую вспомогательную карту;
для каждой сетки последовательности граничных сеток;
последовательно получить сетку из последовательности граничной сетки;
определять, находится ли индекс сетки, соответствующий сетке, во вспомогательной карте;
в ответ на определение, что индекс сетки не находится во вспомогательной карте, размещать индекс сетки в стек и вводить индекс сетки во вспомогательную карту;
в ответ на определение, что индекс сетки находится на вспомогательной карте, обозначить сетку, соответствующую индексу сетки, как сводную сетку одной или нескольких сводных сеток, обозначить индекс сетки как индекс сводной сетки, выбирать индексы сетки, которые находятся в стеке, из стека до тех пор, пока индекс сетки в верхней части стека не станет таким же, как индекс сводной сетки, и обозначить сетки, соответствующие выбранным индексам сетки, как граничные сетки первой замкнутой области; и
обозначить сетки, соответствующие индексам сетки, остающимся в стеке, как граничные сетки второй замкнутой области.
5. Система по п.1 или 2, в которой геозона определяется
на основании окружности, определяемой центром и радиусом, и
для идентификации, по меньшей мере, одной замкнутой области в географической области, по меньшей мере, один процессор дополнительно выполнен с возможностью:
осуществлять выборку множества точек выборки на окружности с заданным интервалом выборки; и
определять граничные сетки, по меньшей мере, одной замкнутой области в географической области на основании множества точек выборки.
6. Система по п.5, в которой заданный интервал выборки ассоциирован с радиусом окружности и разрешением, относящимся к сетке множества сеток.
7. Система по п.5, в которой, по меньшей мере, один процессор дополнительно выполнен с возможностью:
после определения, что две или более точек выборки множества точек выборки соответствуют одной и той же сетке, удалить одну или несколько точек выборки из двух или более точек выборки, так что существует только одна точка выборки, соответствующая сетке.
8. Система по п.1 или 2, в которой после сегментирования, по меньшей мере, одной замкнутой области на две или более подобластей, по меньшей мере, один процессор выполнен с возможностью:
определять перекрывающиеся краевые сетки, где две или более подобласти пересекаются с одним или более краями множества разделов; и
добавлять пересекающиеся краевые сетки к двум или более подобластям как граничные сетки двух или более подобластей.
9. Система по п.1 или 2, в которой для идентификации из множества сеток внутренних сеток в подобласти, по меньшей мере, один процессор выполнен с возможностью:
инициализировать матрицу сканирования, в которой матрица сканирования включает в себя множество сот, и каждая сота матрицы сканирования имеет первое значение;
выполнить первое обновление матрицы сканирования путем заполнения вторым значением каждой из первого множества сот матрицы сканирования, причем первое множество сот соответствует граничным сеткам подобласти;
для каждой соты матрицы сканирования после первого обновления, имеющей первое значение, определять, находится ли сетка, соответствующая соте, в географической области;
в ответ на определение, что сетка, соответствующая соте, находится в географической области,
выполнить второе обновление матрицы сканирования, заполнив третьим значением соты матрицы сканирования; и
обозначить сетки, соответствующие сотам с третьим значением, как внутренние сетки в подобласти.
10. Система по п.9, в которой второе значение и третье значение идентичны друг другу.
Автомобиль-сани, движущиеся на полозьях посредством устанавливающихся по высоте колес с шинами | 1924 |
|
SU2017A1 |
Токарный резец | 1924 |
|
SU2016A1 |
Токарный резец | 1924 |
|
SU2016A1 |
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ ИДЕНТИФИКАЦИИ И СООБЩЕНИЯ МЕСТОПОЛОЖЕНИЙ | 2014 |
|
RU2667036C9 |
Авторы
Даты
2021-12-22—Публикация
2018-06-06—Подача