Search
Write a publication
Pull to refresh

Нанесение клиентской базы на карту

Reading time2 min
Views2.3K
Это скорее топик «как я начал это делать, или помогите с вопросом — Правильно я начал?»

Работаю в торговой фирме. В связи с кризисом вынуждены максимально оптимизировать ресурсы нашей фирмы. Для того чтобы реально видить(!) как агенты ходят по городу, я и начинаю данный топик.



Вступление


Каждый наш агент оснащен КПК. Данные заказов пересылаются на сервер, где фиксируются разные данные в т.ч. «код клиента», «начала сессии» и «конец сессии», «данные заявки» и прочее (по каждому клиенту).

На сервере хранятся следующие данные по визитам агентов:

 id | id клиента | id агента |    Дата    | НачалоСессии | КонецСессии | Успешный | Отказ
-------------------------------------------------------------------------------------------
  1 |    1031    |    15     | 10.09.2008 |     09:30:14 |    09:36:50 |    1     |   0
  2 |    1491    |    16     | 10.09.2008 |     19:30:14 |    09:36:50 |    1     |   0


Озадачили


Задача №1: Нанести >4000 потенциальных клиентов на карту города. С привязкой ID.

Задача№2: Разбить по категориям «Хороший», «Среднячок» и «Жадный». (В разрезах месяца, квартала, года — по желанию)

Задача №3: Автоматизировать процесс отрисовки маршрута пройденного агентом по своему охваченному району.

И др. задачи упрощающие работу агента по обходу своего района.


Процесс


Есть база более 1000 клиентов, такого вида:

 Id  | Название                      | Адрес
-----------------------------------------------------------------
1031 | Рожкова ТОО «Местный магазин» | ул. Пушкина д.24
1491 | Остров ИП «Кулинария»         | ул. Садовая д.13 корп. 17


Конечно же их необходимо нанести с помощью не очень хитрого софта написанного для максимального упрощения сей задачи.

Добавиться поле в базу:
 Id  | Название                      | Адрес                     | <b>Координаты</b>
---------------------------------------------------------------------------
1031 | Рожкова ТОО «Местный магазин» | ул. Пушкина д.24          | <b>x=2145;y=504</b>
1491 | Остров ИП «Кулинария»         | ул. Садовая д.13 корп. 17 | <b>x=332;y=1276</b>


Инструмент




По скриншоту видно, что можно выбрать клиентов (LIMIT 50): «все», «обозначенные», «не обозначенные», «не найденные».

После успешного нанесения клиентов на карту. Можем отслеживать агентов по их передвижениям, по заданной территории.

Имея карту с клиентами, руководствуясь таблицей визитов, используя SVG, можем отрисовать путь по имеющимся координатам в клиентской базе.

Основные проблемы:
— Наша местность не прорисованно детально ни в одном из сервисов(google.com, yandex.ru) =(
— Карта размерами 28000x28000 px не оторбражается в браузере. Пришлось разбивать, получилось таблица 14x14 кусков по 2000px

Некоторые ясности:
— Основная система учета Визитов, Заказов, Загрузка, Доставка висит в Win32 оболочке на FireBird’е.
— Облегчение в том что инструмент нужен только для локального доступа.
— Инструмент пишется на PHP + MySQL
— Клиенты наносятся как объекты в виде «img» c id=id клиента

(Продолжение следует)

p.s. Если кто-то сталкивался с подобными задачами, или просто есть мысли, просьба — поделитесь ими
Tags:
Hubs:
Total votes 8: ↑6 and ↓2+4
Comments29

Articles