Научный журнал
Современные наукоемкие технологии
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 1,279

К ВОПРОСУ ВЫЧИСЛИТЕЛЬНОГО МОДЕЛИРОВАНИЯ МЕСТОРАСПОЛОЖЕНИЯ ТОРГОВЫХ ОБЪЕКТОВ

Калач А.В. 1, 2, Чикунов С.В. 1, Никольников П.А. 1, Лебедев Д.Н. 2
1 Федеральное государственное бюджетное образовательное учреждение высшего образования «Воронежский государственный университет инженерных технологий»
2 Федеральное казенное образовательное учреждение высшего образования «Воронежский институт Федеральной службы исполнения наказаний»
Калач А.В. - визуализация результатов
Чикунов С.В. - валидация результатов
Никольников П.А. - разработка программного обеспечения
Лебедев Д.Н. - работа с данными
В работе обсуждаются вычислительные аспекты моделирования месторасположения торговых объектов на онлайн-картах. Геолокационные данные важны при моделировании, так как они позволяют точно определить местоположение торговых точек объектов, их доступность для клиентов и другие важные параметры. Цель исследования – вычислительное моделирование месторасположения торговых объектов, позволяющее предоставить клиенту необходимые данные для анализа торговых точек конкурентов на основе их геолокационных данных в виде встраиваемого в приложения виджета. Исследования основаны на использовании методов математического моделирования и объектно-ориентированного программирования. В ходе исследования выполнено моделирование месторасположения объектов на карте и определение расстояний между ними с использованием геолокационных данных. Предложено описание модели поиска точек в заданном радиусе от исходной с использованием разработанного авторами алгоритма с применением ограничений для сужения области поиска решения, позволяющего уменьшить его вычислительную сложность. Описаны структура хранения данных и создание функций Oracle для эффективного нахождения объектов на карте. На тестовых примерах проведен анализ вычислительной сложности полученной алгоритмической модели. Выполнена программная реализация в виде виджета отображения торговых точек конкурентов на карте согласно заданным требованиям, отсутствующим у большинства программ-конкурентов, реализованы мероприятия для уменьшения времени загрузки найденных точек. Результаты вычислительных экспериментов демонстрируют эффективность предложенной модели по повышению производительности геопространственного анализа. Сделан вывод о том, что применение предложенных моделей позволит уменьшить время обработки данных и понизить нагрузку на систему. Клиенты смогут пользоваться результатами исследования в личном кабинете на сайте или интегрировать его в свою систему с помощью API.
торговые точки
онлайн-касса
геолокационные данные
географические координаты
алгоритм
карты
вычислительное моделирование
Артемова Д. А. Современные подходы к повышению конкурентоспособности организации // Вестник Московского Международного Университета. 2025. № 2 (6). С. 9–12. EDN: GUDOSH.
Лезина Т. А., Рябчук К. Г. Обзор подходов к определению местоположения объектов продуктового ритейла // Экономика и бизнес: теория и практика. 2019. № 6–2. С. 23–26. URL: https://www.elibrary.ru/item.asp?id=38577836 (дата обращения: 26.05.2026). DOI: 10.24411/2411-0450-2019-10851.
Головнин О. К., Игонина А. А. Оптимизация схемы размещения торговых объектов на основе математико-картографической модели // Модели, системы, сети в экономике, технике, природе и обществе. 2021. № 2 (38). С. 115–129. DOI: 10.21685/2227-8486-2021-2-8. EDN: WTULAZ.
Алчинов А. И., Гороховский И. Н., Акифьева Е. В. Состояние и тенденции развития географических информационных систем // Проблемы управления. 2024. № 2. С. 3–22. URL: https://www.elibrary.ru/item.asp?id=67239026 (дата обращения: 26.05.2026). DOI: 10.25728/pu.2024.2.1.
Адаменко А. А., Хорольская Т. Е., Маркелов В. В. Актуальные вопросы перехода на онлайн-кассы российскими предпринимателями // Естественно-гуманитарные исследования. 2018. № 21 (3). С. 70–77. URL: https://elibrary.ru/item.asp?id=36497958 (дата обращения: 26.05.2026). EDN: YOYQMX.
Щасная К. Ю., Сергеева И. И. Основные принципы и технологии функционирования онлайн-касс // Экономическая среда. 2017. № 2 (20). С. 23–26. EDN: ZAGWNX.
Кузнецов М. А., Кравченя П. Д., Скринкович В. С., Володченков Л. В. Использование геоинформационных систем для анализа привлекательности торговых точек города // Прикаспийский журнал: управление и высокие технологии. 2021. № 3 (55). С. 62–71. EDN: ESDRIG.
Пестун М. В. Методы построения навигационных описаний маршрутов для картографических компьютерных систем: дис. ... канд. физ.-мат. наук. Москва, 2015. 115 с. [Электронный ресурс]. URL: http://library.keldysh.ru/diss.asp?id=2015-pestun (дата обращения: 26.05.2026).
Поленов М. Ю., Иванов Д. А. Модифицированная распределенная архитектура обработки данных для геоинформационных систем // Известия ЮФУ. Технические науки. 2020. № 6 (216). С. 99–108. URL: https://www.elibrary.ru/item.asp?id=45602902 (дата обращения: 26.05.2026). DOI: 10.18522/2311-3103-2020-6-99-108.
Буряковский П. К. Подход к определению кратчайшего расстояния между объектами разнородной геопространственной геометрии // Системная инженерия и информационные технологии. 2023. Т. 5. № 5 (14). С. 88–94. URL: https://elibrary.ru/item.asp?id=58807244 (дата обращения: 26.05.2026). DOI: 10.54708/2658-5014-SIIT-2023-no5-p88.
Смолев А. М., Михеева Т. И., Клепиков Н. М. Адресное позиционирование и его реализация в геоинформационной системе // ИТ & Транспорт. Сборник статей. Самара: ООО «Научно-производственный центр «Интеллектуальные транспортные системы», 2024. С. 4–10. EDN: VAPXAS.
Ботнев В. А., Устинов С. М. Методика определения расстояния от точки до отрезка в задачах навигации // Научно-технические ведомости СПбГПУ. Информатика, телекоммуникации и управление. 2019. Т. 12. № 2. С. 68–79. URL: https://infocom.spbstu.ru/userfiles/files/articles/2019/2/68-79.pdf (дата обращения: 26.05.2026). DOI: 10.18721/JCSTCS.12206.
Сяо H. Алгоритмы ГИС / Пер. с англ. А. А. Слинкина. М.: ДМК Пресс, 2021. 328 с. URL: https://ibooks.ru/bookshelf/388451/reading (дата обращения: 26.05.2026). ISBN 978-5-97060-908-8.
Никольников П. А. Алгоритм поиска точек на карте в определенном радиусе от заданной точки на основе геолокации // Парадигма. 2025. № 11–4. С. 73–76. EDN: LSGNGI.
Никольников П. А. Реализация алгоритма поиска точек в определенном радиусе от заданной точки в Oracle // Парадигма. 2025. № 11–4. С. 69–72. EDN: NWSPXR.

Введение

В современном мире конкуренция на рынке розничной торговли становится все более интенсивной. Для успешного ведения бизнеса компаниям необходимо не только привлекать новых клиентов, но и эффективно анализировать деятельность своих конкурентов. Одним из ключевых инструментов в этом процессе является анализ торговых точек конкурентов, который позволяет выявить их сильные и слабые стороны, а также определить потенциальные возможности для собственного развития [1].

Геолокационные данные играют важную роль в этом анализе, так как позволяют точно определить местоположение торговых точек, их доступность для клиентов и другие важные параметры. Однако сбор и обработка таких данных требуют использования специализированных информационных систем, которые могут эффективно обрабатывать большие объемы информации и предоставлять их для дальнейшего анализа [2–4].

В 2016 г. обязанность применять при расчетах в торговле онлайн-кассы охватила практически всех предпринимателей [5]. Для фискализации платежей бизнесу необходимо подключение к оператору фискальных данных (ОФД) – компании, которая принимает информацию с онлайн-касс, передает сведения о продажах в федеральную налоговую службу (ФНС) [6]. При регистрации/перерегистрации кассы в ФНС ей присваивается уникальный идентификатор ФИАС ID, необходимый для идентификации конкретного адреса в базе данных Федеральной информационной адресной системы (ФИАС), и заполняются координаты здания, в котором она находится. В итоге получают множество торговых точек, каждая из которых имеет свои геокоординаты, хранящиеся в базе данных.

Личный кабинет клиента (ЛКК) и партнера на сайте ОФД оснащены уникальным функционалом, позволяющим создавать нужные шаблоны всевозможных данных по статистике продаж в автоматическом режиме. Все чеки кассы проходят через ОФД, из этого складывается возможность на основе данных предоставлять различную аналитику продаж клиенту. Также в ЛКК реализована логика сравнения торговых точек клиента на основе их выручки. Адрес установки подтягивается автоматически из последнего отчета с данными о регистрации/перерегистрации кассы.

В настоящее время для анализа торговых точек конкурентов можно использовать известные приложения-аналоги, например 2GIS, Wikimapia, OpenStreetMap, Яндекс Карты и др. [7, 8]. Однако следует отметить, что они не обладают достаточной функциональностью, необходимой для анализа торговых точек конкурентов по следующим критериям: возможность просмотра своих торговых точек, разделение на свои и чужие, информация об удаленности точки, просмотр конкурентов из другой области бизнеса, частота актуализации информации, поиск конкурентов в определенном радиусе.

Цель исследования – вычислительное моделирование месторасположения торговых объектов, позволяющее предоставить клиенту необходимые данные для анализа торговых точек конкурентов на основе их геолокационных данных в виде встраиваемого в приложения виджета.

Для достижения цели требуется решить следующие задачи:

1) cформулировать требования к разрабатываемой модели и алгоритмам;

2) разработать математическую и алгоритмическую модели поиска точек на карте в заданном радиусе от исходной, провести их тестирование;

3) разработать программную реализацию модели в виде клиент-ориентированного виджета.

Материалы и методы исследования

Реализация функционала виджета «Maps» – отображение и сравнение торговых точек конкурентов по коду общероссийского классификатора видов экономической деятельности (ОКВЭД) и удаленности от торговых точек клиента в ЛКК на сайте осуществлялась по результатам вычислительного моделирования месторасположения торговых объектов на основе их географических координат. Разработка такого геоаналитического виджета требует реализации клиент-серверной архитектуры с агрегацией данных на бэкенде [9]. Для обеспечения скорости загрузки не более 15 с, все вычисления, привязку к кодам ОКВЭД и фильтрацию следует проводить на стороне сервера.

При реализации данной архитектурно-технической структуры исходили из следующих требований к виджету: 1) возможность выбора кода ОКВЭД для поиска торговых точек конкурентов; 2) возможность скрытия отображения своих торговых точек; 3) возможность выбора радиуса отображения точек конкурентов, совпадающих коду ОКВЭД, заданному в поиске; 4) время отображения данных в разделе должно занимать не более 15 с.

Использование в виджете алгоритма поиска точек в заданном радиусе от исходной с применением предлагаемых в работе ограничений позволит уменьшить время обработки данных и понизить нагрузку на систему.

Исследования основаны на использовании методов математического моделирования и объектно-ориентированного программирования.

Моделирование месторасположения объектов на карте и определение расстояний между ними. Задача определения расстояний между объектами на земной поверхности по географическим координатам (широта и долгота) имеет огромное значение в различных областях человеческой деятельности. Однако особенности формы Земли, используемые на практике методы расчета расстояний, каждый из которых обладает своими преимуществами и недостатками, уменьшение длины градуса долготы по направлению к полюсам не позволяют точно определять расстояния между объектами [10–12].

Исходя из физической формы Земли при выполнении расчетов полагали, что расстояние между двумя параллелями, отличающимися на 1° по широте, равно 111,11 км, а длина 1° долготы уменьшается к полюсам в зависимости от широты и составляет

Lп = Lэ ∙ cos(φ),

где Lп – длина дуги 1° параллели, Lэ – длина дуги 1° экватора, равная 111,3 км, φ – географическая широта точки [13, с. 25].

Моделирование процедуры поиска точек объектов от исходной в заданном радиусе. Задача моделирования заключается в том, чтобы из имеющегося множества точек объектов, имеющих географические координаты, отобрать все те, которые попадают в заданный радиус R от исходной. Тогда расстояние между двумя точками (φi, λi) и (φj, λj) можно рассчитать по следующему выражению:

, (*)

где (φi, λi) – географические координаты (широта, долгота) точки объекта А, (φj, λj) – географические координаты точки объекта B, Rзем – средний радиус Земли, равный 6371 км. Вычислительная сложность модели определяется используемым алгоритмом отбора точек из имеющегося множества точек, находящихся на земной поверхности.

Классический алгоритм полного перебора обеспечивает поиск всех вариантов решений за приемлемое время при относительно небольших размерах множества искомых точек. Однако при увеличении количества торговых объектов, вычислительная сложность данного алгоритма возрастает, что делает его малопригодным для больших наборов данных [14]. В связи с этим для сужения множества проверяемых точек и уменьшения вычислительной сложности принято решение использовать алгоритм, в основе которого лежит перебор элементов множества и их проверка на соответствие определенным ограничениям.

Алгоритм с применением ограничений

Полагали, что долготу (λ2) точки, расположенной на земной поверхности на расстоянии S от заданной, можно определить как

, ,

где (φ1, λ1) – широта и долгота заданной точки, Δλ – изменение долготы, S – расстояние от заданной точки.

Все точки, расположенные в пределах круга радиуса Rкр от заданной точки (φn, λn), попадают в прямоугольную область, ограниченную по широте φn ± Δφ и долготе λn ± Δλ. При этом Rкр = S, а Δφ зависит только от значения радиуса Rкр. Такой подход позволяет сократить объем проверок, поскольку достаточно рассмотреть только точки внутри области, ограниченной внешним квадратом со стороной 2∙Rкр, в который вписан данный круг.

Внутри этого круга можно выделить вписанный в него квадрат, длина стороны которого равна Rкр. Следовательно, все точки, принадлежащие внутреннему квадрату, попадают в область, ограниченную

по широте

и долготе .

Рассмотрим особенности функционирования алгоритма.

1. Ввод исходных данных. Вводятся координаты заданной точки (φi, λi), определяется множество точек, из которых будет осуществлен отбор, задается радиус поиска Rкр.

2. Задание внешних ограничений в виде квадрата. Точки, находящиеся за его границами, исключаются из рассмотрения.

3. Задание внутренних ограничений в виде квадрата. Точки, находящиеся внутри его границ, будут отобраны без проверки.

4. Из множества оставшихся точек, расположенных между внешним и внутренним квадратами, выбираются координаты очередной непроверенной точки (φj, λj).

5. С помощью выражения (*) вычисляется расстояние между этими точками.

6. Проверяется условие попадания очередной точки в область с радиусом Rкр (L ≤ Rкр).

7. В случае выполнения условия очередная точка (φj, λj) выбирается для отображения.

8. Повторение этапов 4–7 до тех пор, пока множество точек не станет пустым.

Таким образом, для каждой исходной точки можно сразу определить подмножество точек, удовлетворяющих условию L ≤ Rкр, и не тратить время и вычислительные ресурсы на проверку неподходящих, что приводит к уменьшению количества итераций этапов 4–7 алгоритма. В итоге необходимо лишь проверить небольшую часть площади внешнего квадрата на присутствие требуемых точек, применяя формулу (*).

Разработанная модель предоставляет механизм для поиска всех точек объектов из множества возможных, находящихся в пределах заданного радиуса от начальной точки.

Результаты исследования и их обсуждение

Реализация алгоритма с применением ограничений. Программные эксперименты по исследованию предлагаемой модели проведены в СУБД Oracle с использованием средств интегрированной среды PL/SQL Developer. Так как в Oracle отсутствует специализированный тип данных для хранения градусов, информация о них представлена в числовом формате (geo_lat, geo_lon), совпадающем с форматом хранения данных в БД ФИАС.

Для корректного выполнения тригонометрических вычислений числовые данные переводятся в радианы с использованием функции RADIANS:

Поиск расстояния L между двумя точками с использованием выражения (*) реализован функцией GET_DISTANCE_KM:

Пример реализации алгоритма для поиска точек в радиусе 3 км от заданной:

Эти условия задают ограничения, используемые для выделения области на карте, расположенной между внутренними и внешними границами, обозначенными квадратами.

Полученные ограничения служат основой для определения критериев формирования ограниченной выборки точек из множества оставшихся вариантов (функция GET_DISTANCE_KM):

а) б)

Рис. 1. Нагрузка при выполнении: а) алгоритма полного перебора, б) алгоритма с ограничениями Примечание: составлен авторами по результатам данного исследования

Таким образом, изменяя значение радиуса поиска Rкр в рассмотренном примере, можно найти географические координаты всех точек в любом радиусе от исходной точки с минимальными затратами вычислительных ресурсов [15].

Определение вычислительной сложности алгоритма с применением ограничений. На одном и том же наборе данных из БД одновременно были запущены два запроса: с использованием алгоритма полного перебора и алгоритма с применением ограничений. Оба алгоритма выдали одинаковые результаты в ответе. После их завершения были получены планы работы запросов с соответствующей нагрузкой (рис. 1).

Рис. 2. Параметры отображения торговых точек Примечание: составлен авторами по результатам данного исследования

Рис. 3. Выбор кода ОКВЭД Примечание: составлен авторами по результатам данного исследования

Время выполнения запроса (A-Time) алгоритмом полного перебора составило почти 2 мин. Время выполнения алгоритмом с ограничениями составило 3 с. Так же на основе полученной экспериментальным путем статистики используемых вычислительных ресурсов (Buffers, OMem, 1Mem) видно, что во втором случае сокращается нагрузка на БД.

Рис. 4. Торговые точки клиента на карте Примечание: составлен авторами по результатам данного исследования

Рис. 5. Отрисовка торговых точек конкурентов в радиусе 3 км Примечание: составлен авторами по результатам данного исследования

Рис. 6. Фрагмент трассировочного файла Примечание: составлен авторами по результатам данного исследования

Рис. 7. Схема алгоритма процедуры поиска точек Примечание: составлен авторами по результатам данного исследования

Программная реализация модели в виде виджета. Для доступа к карте с главной страницы ЛКК сайта был реализован виджет «Maps», содержащий информацию о количестве зарегистрированных касс клиента в каждом федеральном округе. Режим отображения точек имеет 4 различных параметра (рис. 2): 1) торговые точки клиента; 2) конкуренты, расположенные в пределах 3 км от торговых точек клиента; 3) конкуренты, расположенные в пределах от 3 до 10 км от торговых точек клиента; 4) конкуренты, расположенные в пределах от 10 до 20 км от торговых точек клиента. Необходимый код ОКВЭД выбирается из выпадающего списка (рис. 3) и определяется через связь в системе «онлайн-касса → ИНН → основной код ОКВЭД». Следует отметить, что поиск по коду ОКВЭД происходит по верхнему уровню.

После загрузки на карте отображаются торговые точки клиента (рис. 4). Отрисовка конкурентов в радиусе 3 км от торговой точки клиента изображена на рис. 5. При уменьшении масштаба точки группируются для удобства отображения их на карте. При поиске в радиусе 10 и 20 км круги визуально не выделяются. При выборе своей точки отобразится адрес, юрлицо, бренд, описание кода ОКВЭД и количество касс в данной точке. В торговых центрах, сдающих свои площади в аренду, адреса установки торговых точек разных предпринимателей совпадают. Для таких случаев предусмотрена логика объединения торговых точек в список, точки группируются по ФИАС ID.

Тестирование и оптимизация. Уменьшение времени загрузки карты. При открытии виджета спустя продолжительное время отображаются точки на карте. У клиентов с малым количеством касс загрузка происходит за пару секунд. На клиентах с числом касс близким к тысяче время ожидания занимает более 30 с. Если ожидание ответа превышает 60 с, сервер автоматически прервет выполнение метода и данные не отображаются.

На рис. 6 приведен фрагмент трассировочного файла, в котором виден SQL_ID запроса с самым долгим временем выполнения (elapsed total = 39.5).

Анализ плана запроса показал, что процедура Oracle, отвечающая за поиск точек для отрисовки на карте виджета, выполняется долго из-за большого числа исходных точек клиента, рядом с которыми происходит поиск других точек. Чем больше исходных точек, тем больше время выполнения процедуры.

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

Таким образом, сокращается время ответа процедуры и, следовательно, время загрузки карты. На рис. 7 представлена схема алгоритма, реализующего данную процедуру после проведения оптимизации.

Необходимо отметить, что после доработки алгоритма время работы процедуры сократилось почти в 13 раз и не превысило 3 с, что отвечает изначально заданным требованиям к скорости отображения данных в виджете.

Заключение

Таким образом, разработаны математическая и алгоритмическая модели, позволяющие предоставить клиенту данные для анализа торговых точек конкурентов на основе их геоданных. Для поиска торговых точек конкурентов предложены и реализованы алгоритм поиска с применением предлагаемых в работе ограничений и позволяющий найти торговые точки конкурентов в любом радиусе от исходной точки за наименьшее время и с минимальными затратами вычислительных ресурсов; алгоритм отображения торговых точек конкурентов на карте, позволяющий сократить время их загрузки; структура хранения данных и функции СУБД Oracle для эффективного нахождения торговых объектов на карте.

Созданный на основе полученных моделей программный продукт в виде клиент-ориентированного виджета позволяет предоставить информацию для проведения анализа торговых точек конкурентов на основе геолокационных данных, информации из базы ОКВЭД и удаленности от торговых точек клиента. Пользователи могут использовать виджет в личном кабинете на сайте или интегрировать его в свою систему с помощью API.

Основные преимущества разработанного программного продукта заключаются в возможности выбора кода ОКВЭД для поиска торговых точек конкурентов; адаптивном выборе радиуса отображения точек конкурентов, совпадающих по коду ОКВЭД, заданному в поиске; возможности получения результатов поиска за меньшее время (время отображения данных на карте не превышает 15 с).


Конфликт интересов
Авторы заявляют об отсутствии конфликта интересов.

Финансирование
Авторы заявляют об отсутствии внешнего финансирования.

Библиографическая ссылка

Калач А.В., Чикунов С.В., Никольников П.А., Лебедев Д.Н. К ВОПРОСУ ВЫЧИСЛИТЕЛЬНОГО МОДЕЛИРОВАНИЯ МЕСТОРАСПОЛОЖЕНИЯ ТОРГОВЫХ ОБЪЕКТОВ // Современные наукоемкие технологии. 2026. № 7. С. 81-90;
URL: https://top-technologies.ru/ru/article/view?id=40862 (дата обращения: 12.08.2026).