Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Группировка по расположению  [new]
vso
Member

Откуда: СПб
Сообщений: 270
Всем добрый день!

есть запрос с данными о координатах устройств, примерно так

+


MARK_UNT SAFE_UNT X_UNT Y_UNT Z_UNT
------------------------ ----------- -------- -------- --------
10SAQ01AA207 5 -63480 27360 11500
10SAQ06AA101 5 -96400 26950 -1500
10SAQ06AA102 6 -96400 52150 -1500
10SAQ07AA201 5 -96125 80325 -5675
10SAQ11AA102 5 -52900 60850 11050
10SAQ11AA103 5 -51800 60850 11050
10SAQ11AA104 5 -50450 60850 11050
10SAQ11AA201 5 -56980 61330 13850
10SAQ81AA101 5 -96300 53900 2700
10SAQ81AA102 6 -96300 55800 2700
10SAQ81AA103 5 -96300 25600 14000
10SAQ81AA104 6 -96300 27100 14000
10SAQ82AA101 5 -96300 45200 11000
10SAQ82AA102 6 -96300 46400 11000
10SAQ82AA103 5 -96300 55000 14000
10SAQ82AA104 6 -96300 56450 14000
10GCF72AA101 5 -52870 74800 500
10GCF72AA102 6 -58750 49650 9778
10GCF72AA103 5 -58100 49650 9778
10GCF73AA101 5 -55400 49650 9778
10GCF74AA101 5 -59750 67372 1451
10GCF74AA102 5 -59220 63969 1345
10GCP11AA101 5 -73550 52550 6000
10GCP11AA102 5 -73550 52550 6000
10GCP12AA101 5 -73550 52550 6000
10GCP20AA101 5 -83500 44900 1800
10GCP20AA201 5 -83500 44900 1800
10GCP30AA101 5 -82000 67800 8800
10GCP40AA101 5 -82000 67800 8800
10LBG61AA101 5 -90255 51900 4970
10LBG61AA102 5 -89355 53235 5264
10LBG61AA103 6 -89355 54835 5264
10LBG61AA104 5 -89355 56435 5264
10LBG61AA105 0 -89345 52881 4872
10LBG61AA106 0 -89345 54481 4872
10LBG61AA107 0 -89345 56081 4872
10LBG61AA201 5 -90790 53235 5306
10LBG61AA202 6 -90790 54835 5305
10LBG61AA203 5 -90785 56435 5305
10LBG61AA204 0 -90283 52881 4881
10LBG61AA205 0 -90283 54481 4881
10LBG61AA206 0 -90283 56081 4881
10LBG62AA101 5 -86840 51800 5015
10LBG62AA201 5 -85835 56202 5553
10LBG63AA101 5 -73550 52550 6000


Необходимо отсортировать (сгруппировать) устройства по близости расположения. Что это значит, скажем сгруппировать устройства в радиусе 10 метров. Причем, еще необходимо учитывать его канал, 5 и 6 нужно жестко разводить по разным группам, а вот 0-й можно включать как в5-й, так и 6-й...

Буду очень признателен за помощь....
6 апр 15, 11:26    [17477822]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по расположению  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21243
Я понимаю, если бы Вы группировали по попаданию в ячейку некоторой сетки (например, 10*10). Тогда задача несложна.
А вот если Вы желаете выполнить кластеризацию массива данных - то SQL для решения такой задачи не очень подходит.

PS. И не бывает "можно так, а можно эдак". Извольте определиться. Или "0 строго к 5", или "0 строго к 6". И третий вариант - "одну копию с каналом - к 5, вторую - к 6".
6 апр 15, 11:40    [17477916]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по расположению  [new]
vso
Member

Откуда: СПб
Сообщений: 270
Akina
PS. И не бывает "можно так, а можно эдак". Извольте определиться. Или "0 строго к 5", или "0 строго к 6". И третий вариант - "одну копию с каналом - к 5, вторую - к 6".


Я имел ввиду что если устройство с 0-м каналом входит в заданный радиус с устройствами 5-го канала, то смело его включаем, если же 6-го, то тоже включаем. А если мы решим на берегу, что 0-й только к 5-му и сложится такая ситуация что по расположению 0-й близок к группе из 6-го, то все он останится "сиротой"...
6 апр 15, 11:49    [17477965]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по расположению  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
vso,

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

ты бы сгенерил with as (...) чтобы людям было на чем тестить. или в csv выгрузил.
6 апр 15, 12:01    [17478069]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по расположению  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21243
Значит, третий вариант - канал 0 включаем И к каналу 5, И к каналу 6. Т.е. дублируем запись. Ибо чёткого критерия отнесения его к определённой группе - нет.
6 апр 15, 12:02    [17478079]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по расположению  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21243
churupaha, так это он утонет в дублях - даже если отсеет кластеры с количеством точек ниже некоего порога. А если отбирать по максимуму входящих в кластер точек - есть риск пролюбить два частично пересекающихся кластера (типа восьмёрки), получив один в области пересечения.
6 апр 15, 12:07    [17478109]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по расположению  [new]
vso
Member

Откуда: СПб
Сообщений: 270
churupaha
vso,

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

ты бы сгенерил with as (...) чтобы людям было на чем тестить. или в csv выгрузил.


1. блин, опять попался, у меня mssql 2008 R2.
2. я совершенно не против сгенерить, но можно поподробнее что это за with as (...)???

P.S. а csv приложил.

К сообщению приложен файл (expdata.csv - 20Kb) cкачать
6 апр 15, 12:15    [17478166]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по расположению  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
vso,

еще добавь это разовая затычка или оно постоянно будет использоваться?
6 апр 15, 12:17    [17478179]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по расположению  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
Akina
churupaha, так это он утонет в дублях - даже если отсеет кластеры с количеством точек ниже некоего порога. А если отбирать по максимуму входящих в кластер точек - есть риск пролюбить два частично пересекающихся кластера (типа восьмёрки), получив один в области пересечения.


мда...
6 апр 15, 12:18    [17478184]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по расположению  [new]
vso
Member

Откуда: СПб
Сообщений: 270
churupaha
vso,

еще добавь это разовая затычка или оно постоянно будет использоваться?


Планирую постоянно
6 апр 15, 12:56    [17478397]     Ответить | Цитировать Сообщить модератору
 Re: Группировка по расположению  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
vso
churupaha
vso,

еще добавь это разовая затычка или оно постоянно будет использоваться?


Планирую постоянно


спроси там

у них, кажется, есть в SSAS
6 апр 15, 13:02    [17478421]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить