|
Присвоение кода близлежащим точкам | ☑ | ||
---|---|---|---|---|
0
ИС-2
naïve
12.08.14
✎
16:32
|
Торговым точками клиентов будет присваиваться определенный код. При сортировке их должно получиться, что рядом будут точки которые находятся рядом с друг другом.
Вот один из вариантов. Состав координаты = Префикс (номер зоны) + Регион + Номер нас.пункта + Номер улицы + номер дома + номер буквы Что можно использовать как номер улицы и номер нас. пункта? Код из кладра? Что еще? |
|||
1
_fvadim
12.08.14
✎
16:35
|
индексы почтовые
|
|||
2
ironkrab
12.08.14
✎
16:40
|
А если не улицы а широта и долгота из навигатора?
Ведь иногда улицы весьма закручены и сходу не поймешь что ближе |
|||
3
Chum
12.08.14
✎
16:45
|
(1) +1 все гениальное просто
|
|||
4
ИС-2
naïve
12.08.14
✎
17:02
|
(2) думал. Но почему-то вариант отклонили
|
|||
5
_fvadim
12.08.14
✎
17:05
|
Вообще задача поставлена некорректно.
Решение "Префикс (номер зоны) + Регион + Номер нас.пункта + Номер улицы + номер дома + номер буквы" некорректно тоже. |
|||
6
_fvadim
12.08.14
✎
17:08
|
Точки находятся в соседних домах, а улицы разные (скажем перекрёсток).
В твоём решении точка на этой же улице но на другом конце города ближе, чем в соседнем доме. |
|||
7
_fvadim
12.08.14
✎
17:09
|
Ну и вообще списком отсортировать корректно не получится, потому как надо от чего-то плясать.
|
|||
8
ptiz
12.08.14
✎
17:11
|
Порядок точек должен выстраивать ответственный, если это так важно.
|
|||
9
МихаилМ
12.08.14
✎
17:16
|
||||
10
Garykom
гуру
12.08.14
✎
17:22
|
(0) берем координаты точек, на них накладываем сетку и получаем... кадастровые номера ))
|
|||
11
Garykom
гуру
12.08.14
✎
17:25
|
(10)+ но не катит, вообщем надо иначе как то задачу решать если обход/объезд нужен ))
|
|||
12
_fvadim
12.08.14
✎
17:25
|
(10) не-а, там не по координатам разбиение
|
|||
13
_fvadim
12.08.14
✎
17:26
|
АА:ВВ:ССРРLL:КК
АА — кадастровый округ. ВВ — кадастровый район. ССРРLL — кадастровый квартал. КК — номер земельного участка. |
|||
14
_fvadim
12.08.14
✎
17:27
|
(0) а для чего вообще такая сортировка?
|
|||
15
Garykom
гуру
12.08.14
✎
17:28
|
(13) дык рядом же соседние )) при сортировке...
исключая случай когда в разные округа попали соседние точки, поэтому и сказал что не катит |
|||
16
_fvadim
12.08.14
✎
17:30
|
(15) собственно тот же итог, что и в (0)
надо координатную сетку накладывать и делать как в (9). только, сдаётся мне, решение проблемы лежит в другой плоскости. |
|||
17
Ndochp
12.08.14
✎
17:35
|
(0) Не взлетит. Ты на плоскости, а не на прямой посмотри например на (13)
Точки стоящие рядом друг с другом в соседних округах не отсортируются. Если координаты брать, то представь себе квадрат ABCD Рассмотрим А для нее сортировка должна быть ABDC или ADBC Для B будет BACD или BCAD Теперь выкинем А из рассмотрения: сортировки из первого пункта (BDC и DBC) резко становятся неправильными. И это справедливо для любого упорядочения справочника в целом - подмножества, отсортированные по алфавиту могут не удовлетворять требованию. Так что задача строгого решения не имеет. |
|||
18
Garykom
гуру
12.08.14
✎
17:53
|
О придумал задачка то легко решается )) только нужно точное определение что такое
"точки которые находятся рядом с друг другом"? |
|||
19
_fvadim
12.08.14
✎
17:56
|
(18) чёт я подозреваю, что там оптимальный маршрут надо построить, только ТС вбросил и молчит.
|
|||
20
Ndochp
12.08.14
✎
18:07
|
(18) Например рядом это когда некая функция от двух точек (расстояние) не больше, чем в среднем по справочнику для двух произвольных точек.
Для квадрата из (17) твое решение точно подойдет? |
|||
21
Ndochp
12.08.14
✎
18:08
|
(19) Да, там как бы не задачу коммивояжера на сортировке кодов решают.
|
|||
22
_fvadim
12.08.14
✎
18:11
|
(21) я просто не придумал для чего ещё нужна подобная сортировка.
|
|||
23
ИС-2
naïve
13.08.14
✎
11:56
|
(6) для этого существует ПрефиксЗоны. Город в основном поделен на зоны по улицам
(14) при погрузке товара в машину, рядом стараются класть груз для точек в порядке следования (но в каком порядке куда ехать решает водитель). |
|||
24
Garykom
гуру
13.08.14
✎
13:45
|
Срэднее бэри срэднее
В смысле как одну из составляющих можно взять среднее расстояние от точки до всех остальных )) Тогда у точек рядом эти средние расстояния будут похожи Но проблема что в эти похожие влезет еще куча левых далеких точек )) |
|||
25
Garykom
гуру
13.08.14
✎
13:47
|
(24)+ т.е. это по сути некая хеш-функция
|
|||
26
ИС-2
naïve
13.08.14
✎
14:06
|
(24) можно растояния поместить в массив и по индексу массива присвоить номер
|
|||
27
Garykom
гуру
13.08.14
✎
14:12
|
(26) а это уже детали
тут по сути выходит преобразование n мерных координат в (n-1) мерные в данном случае из двумерных получаем одномерные понятно что идет потеря информации и нужна точка, точнее линия отсчета - ось на которую и будем проецировать все точки... да это не обязательно прямая может быть и различная кривая |
|||
28
Ndochp
13.08.14
✎
15:53
|
(27) Да не детали это. Вот у тебя точка отсчета - северный полюс. Область проверки - северное полушарие. Определяемые точки - координатная сетка с неким шагом. Тогда у тебя Тайланд будет ближе к Мали, чем к Китаю.
|
|||
29
Garykom
гуру
13.08.14
✎
16:43
|
(28) угу, зато требования в (0) выполняется " При сортировке их должно получиться, что рядом будут точки которые находятся рядом с друг другом"
|
|||
30
Garykom
гуру
13.08.14
✎
16:44
|
(29)+ про то что также рядом не должны находиться точки которые далеко друг от друга ничего не сказано ))
|
|||
31
Ndochp
13.08.14
✎
17:35
|
(30)Зато у тебя сортировка должна получиться "Китай тайланд Ливия Чад", а будет "Китай Ливия Чад Тайланд"
|
|||
32
lodger
13.08.14
✎
17:49
|
графы с весовыми ребрами не предлагать?
классическая задача курьера же... |
|||
33
Ndochp
13.08.14
✎
17:51
|
(32) Не предлагать. В (0) сказано, что нужен статический код для каждой точки. я с (17) пытаюсь доказать, что на плоскости решения не существует.
|
|||
34
Фокусник
13.08.14
✎
18:03
|
(0) Лет 8 назад для одного заказчика делал так:
На карту города наносится сетка (достаточно крупная, скажем 1 квадрат = 1 км). Нумеруются квадраты по порядку или по схеме: Х-У. Каждый клиент замеряется: в каком квадрате расположен. Далее дело техники: зная размеры карты (ширина/высота), зная номер квадрата определить ближайшие квадраты (все 8, вокруг текущего квадрата) и соответственно определить ближайшие "точки" :) Сейчас, вооружившись GPS, проще координаты замерить. И вычислять расстояния по координатам :) |
|||
35
Garykom
гуру
13.08.14
✎
18:24
|
(33) решение предложено, оно работает: хеш-функция (например среднее расстояние до остальных точек)
для квадрата из (17) результат будет у всех один код, т.е. они все рядом если добавить еще одну точку в стороне (чтобы убрать симметрию) то также можно убедиться что работает |
|||
36
Garykom
гуру
13.08.14
✎
18:26
|
(35)+ да есть недостаток, что "неправильно" добавляет в ближайшие точки точки далекие друг от друга
например к тому же квадрату если добавить 2 точки симметрично слева и справа то в результате выйдет что они рядом друг с другом хотя они наоборот максимально далеки... |
|||
37
ИС-2
naïve
14.08.14
✎
10:24
|
(28) Обрабатываться будет Удмуртия + ближайщие регионы
(32) нет. Слишком сложно (33) а бизнесу надо - значит надо делать |
|||
38
Ndochp
14.08.14
✎
10:33
|
(37) Я Удмуртию с регионами не знаю, но проблема будет та же. Только в качестве северого полюса будет выступать столица. А в качестве равноудаленных от нее точек, лежащих на одном диаметре выбирай что удобнее.
Я же в (17) привел пример для 4 точек, что как ни нумеруй будет плохо. |
|||
39
ИС-2
naïve
14.08.14
✎
11:01
|
(38) поэтому вся удмуртия поделена на зоны
|
|||
40
Garykom
гуру
14.08.14
✎
11:24
|
(37) Если бизнесу надо то надо узнать скоко он готов заплатить за нормальный вариант
Может оно дешевле будет ЗЫ не дубль тема случаем? Сортировка списка на основе неполных данных там в конце ссылки заюзать это и будет счастье да можно по адресу автоматом через api яндекса координаты получить, человек только проверит что правильно и все http://api.yandex.ru/maps/tools/getlonglat/ http://api.yandex.ru/maps/features/?p=geocode |
|||
41
ИС-2
naïve
14.08.14
✎
14:40
|
(40) нет. Разные все же вещи
|
|||
42
Ndochp
14.08.14
✎
15:32
|
(39) Поэтому расположенные через дорогу точки, находящиеся в соседних зонах будут "дальше" чем диаметр одной зоны.
|
|||
43
Garykom
гуру
14.08.14
✎
15:50
|
(41) разные но смысл один, оптимизация загрузки машины и(или) поездок по точкам доставки...
|
|||
44
Garykom
гуру
14.08.14
✎
15:53
|
(43)+ кстати это да можно оттуда ценную мысль использовать
взять в статистике поездок частоту встречаемости пар точек если например ехали А Б В то наверно рядом (А и Б), (Б и В), а вот (А и В) далеко... |
|||
45
ИС-2
naïve
15.08.14
✎
09:23
|
(44) можно, но машина едет не просто так, а если есть заказ у клиента
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |