Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » [решено] Оптимальное решение для привязки координат к географическим объектам на MS SQL Server

Ответить
Настройки темы
[решено] Оптимальное решение для привязки координат к географическим объектам на MS SQL Server

В Поисках Истины


Сообщения: 802
Благодарности: 135


Конфигурация

Профиль | Отправить PM | Цитировать


Добрый день.

В организации проводятся некоторые измерения по различным районам. К данным по измерениям привязываются координаты с GPS. Данные агрегируются по долготам/широтам (с точностью до 4го знака) и храняться в таблицах на SQL Server. Далее для ведения статистики (отчетности) необходимо разбивать все позиции на различные группы (н-р, районы, округа, города, поселки, основные трассы). И тут встает вопрос, каким способом производить такое разбиение?

Изначально, когда разбивалось только на районы, алгоритм был такой:
в таблице на сервере создавались географические полигоны, и принадлежавшие полиганам позиции помечались идентификатором района.
Данных по измерениям очень большое количество, и поэтому такой способ занимал длительное время обработки.
Более того, так как сейчас необходимо разбиение на большее количество групп, очень сложно будет создать такие полигоны на сервере, и время обработки увеличится. (Изначально было всего 30-35 районов.)

На данный момент была мысль создать таблицу, содержащую весь список возможных координат (с шагом 0.0001) и привязать к каждой позиции информацию о принадлежности к группе. Записей в таблице получается около 1500000000, поэтому теперь сомневаюсь, что такой способ является "хорошим".

Подскажите, как реализовать такую задачу.
Буду рад любой информации.

Спасибо.

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 16:04, 31-05-2013

 

Аватара для freese

Ветеран


Contributor


Сообщения: 6683
Благодарности: 1296

Профиль | Отправить PM | Цитировать


я немного далек от sql, но пять копеек вставлю (-
Цитата LilLoco:
На данный момент была мысль создать таблицу, содержащую весь список возможных координат (с шагом 0.0001) и привязать к каждой позиции информацию о принадлежности к группе. »
да, создать список, но к каждой позиции только данные измерений. Отдельно районы, округа и т.д. с указаниием диапазонов координат из таблицы

Отправлено: 17:53, 31-05-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: png 1.PNG
(10.6 Kb, 9 просмотров)

freese, спасибо.

Можно немного поподробнее. Не совсем понял, ваше представление - структуры всего этого.
Я думал что - то наподобие (см. вложение).

Ну и соответственно, ко всем необходимым таблицам по измерениям добавлять столбец PosId, которая берется из Position по совпадения Longitude, Latitude.

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 19:48, 31-05-2013 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


LilLoco, что за группы 1…N?

Отправлено: 21:12, 31-05-2013 | #4


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Iska, как бы уровни вложенности. Например: 1 группа- Москва, московская область; 2 группа - цао, вао, Ногинский район, Шатурский район; 3 группа - деревни, поселки; ну и так далее... То есть каждая группа будет отвечать за определенное разбиение на уровни.

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 00:11, 01-06-2013 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


LilLoco, с точки зрения теории это явно избыточно. Необходимо и достаточно держать в таблице только нижний уровень.

Мне не очень алгоритм понятен. Полигоны — это что суть, физически?
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:16, 01-06-2013 | #6


Аватара для Tau_0

Ветеран


Сообщения: 6211
Благодарности: 1393

Профиль | Отправить PM | Цитировать


Цитата Iska:
Полигоны — это что суть, физически? »
По всему, --- нечто подобное:
Полигонометрия

http://ru.wikipedia.org/wiki/Полигонометрия
ЗЫ Раньше узлами сетки служили тригопункты, а теперь ко всему можно привязаться...

Последний раз редактировалось Tau_0, 01-06-2013 в 09:52.


Отправлено: 04:45, 01-06-2013 | #7


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Tau_0:
http://ru.wikipedia.org/wiki/Полигонометр »
Цитата:
В Википедии нет статьи с таким названием.
Поправьте ссылку.

Хотелось бы услышать автора темы.

Отправлено: 06:20, 01-06-2013 | #8


Аватара для Tau_0

Ветеран


Сообщения: 6211
Благодарности: 1393

Профиль | Отправить PM | Цитировать


Цитата Iska:
Поправьте ссылку. »
Исправил...

Отправлено: 09:53, 01-06-2013 | #9


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Цитата:
Полигоны — это что суть, физически?
географическая область. Н-р, Ногинский район.

Цитата:
Необходимо и достаточно держать в таблице только нижний уровень.
А как тогда определять уровни вложенности? Н-р, г.Электросталь. Предположим, что это нижний уровень. Выше идут: Ногинский район, московская область, обслуживающее подразделение...

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 14:04, 01-06-2013 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » [решено] Оптимальное решение для привязки координат к географическим объектам на MS SQL Server

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - Обновление SP4 для внутренней базы MS SQL Server 2005 (kb2463332) El Scorpio Windows Server 2008/2008 R2 1 05-03-2017 02:24
MSFT SQL Server - Есть ли способ перейти с MS SQL 2005 на MS SQL 2000 elec Программирование и базы данных 10 18-04-2013 12:35
2008 R2 - Оптимальное решение для перемещения пользователя Ruldik Windows Server 2008/2008 R2 9 28-09-2012 16:52
Использование - MS SQL server cal 2005 для доступа к SQL SRV 2008 xaustov Лицензирование продуктов Microsoft 1 20-01-2012 17:55
Подбор - MS Win 2003 Server + MS SQL 2005 на кластер PetrK Лицензирование продуктов Microsoft 0 22-02-2008 14:12




 
Переход