|
|
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. У меня такой вопрос. Как лучше спроектировать БД в SQL Server 2000 для реализации следующей задачи. Есть улицы, по ним задаются направления с севера на юг или с запада на восток. Улицы пересекаются, образуя перекрестки. Все пересечения улиц образуют квадратные кварталы. Необходимо хранить информацию по перекресткам (такую как вид перекрестка, кол-во светофоров и т.д.) и по участкам дорог (такую как ширина проезжой части, кол-во люков, состояние участка улицы и т.д.), которые образуются при пересечении улиц. Мало того что нужно хранить, нужно еще и редактировать информацию по пересечениям. Т.е. может добавиться новая улица или удалиться старая, или может измениться направление улицы и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 14:00 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
Поиск по ГИС (недёшево это... или у Вас клиент уже есть?) ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 14:18 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
ГИС и карту уже купили. Теперь необходимо спроектировать БД и привязать коды объектов карты с объектами, описанными в БД. И соотетственно написать клиентское приложение для работы с БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 14:25 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
Меня интересует как можно решить такую задачу наиболее правильным способом. Потому как идет работа и с перекрестками и с участками дорог. Еще очень важный момент - редактирование пересечений улиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 14:28 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
Dremlin13ГИС и карту уже купили. Теперь необходимо спроектировать БД и привязать коды объектов карты с объектами, описанными в БД. И соотетственно написать клиентское приложение для работы с БД. MapInfo? IMHO - если купили, может там проектировать вообще не надо? (есть форум по MapInfo) - привязка-связка 2-х БД сильно зависит от того что купили. Здесь вроде все с нуля проектируют форумчане? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 14:36 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
Petro123 Dremlin13ГИС и карту уже купили. Теперь необходимо спроектировать БД и привязать коды объектов карты с объектами, описанными в БД. И соотетственно написать клиентское приложение для работы с БД. MapInfo? IMHO - если купили, может там проектировать вообще не надо? (есть форум по MapInfo) - привязка-связка 2-х БД сильно зависит от того что купили. Здесь вроде все с нуля проектируют форумчане? Купили компонент для работы с картами GISINFO (http://www.gisinfo.ru/). Инструментарий очень широкий в 9-ой версии. Но мне необходимо еще хранить в БД дополнительную информацию для отчетности и др. задач. В общем стоит выше описанная задача. Кто может, подскажите как проще её решить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 14:43 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
А если пересекаются пять улиц? Вообще видится таблица с пересечениями(хотя это лучше назвать не пересечением а местом установки светофоров, т.к. они стоят не только на пересечении), таблица в котрой указано какие улицы в каком пересечении участвуют. Можно указать, например номер дома перед пересечением. Тогда можно будет сортировать.. Ну и таблица с улицами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 14:46 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
1. Изучить то что купили и как ОНО работает с БД (хотя бы по EAV/текстовые_файлы/......). ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 14:53 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
авторКто может, подскажите как проще её решить. купить у нас ))))))) мы всё расскажем и покажем ) (а как у них правда - незнаем). ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 14:55 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
vromanovА если пересекаются пять улиц? Вообще видится таблица с пересечениями(хотя это лучше назвать не пересечением а местом установки светофоров, т.к. они стоят не только на пересечении), таблица в котрой указано какие улицы в каком пересечении участвуют. Можно указать, например номер дома перед пересечением. Тогда можно будет сортировать.. Ну и таблица с улицами. На самом деле я отталкиваюсь не от светофоров (эта информация второстепенная), а от самих улиц. Мне важно хранить какую-то информацию по перекресткам дорог и по участкам дорог (которые образуются из-за пересечений улиц). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 14:56 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
Dremlin13 vromanovА если пересекаются пять улиц? Вообще видится таблица с пересечениями(хотя это лучше назвать не пересечением а местом установки светофоров, т.к. они стоят не только на пересечении), таблица в котрой указано какие улицы в каком пересечении участвуют. Можно указать, например номер дома перед пересечением. Тогда можно будет сортировать.. Ну и таблица с улицами. На самом деле я отталкиваюсь не от светофоров (эта информация второстепенная), а от самих улиц. Мне важно хранить какую-то информацию по перекресткам дорог и по участкам дорог (которые образуются из-за пересечений улиц). наверно лучше команда: - на основе улиц 1,2,5,7 сгенерировать объекты-перекрёстки с инфой о ....... - вставить ЭТО в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:05 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
Dremlin13и по участкам дорог (такую как ширина проезжой части, кол-во люков, состояние участка улицы и т.д.), которые образуются при пересечении улиц это свойства улицы а не пересечения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:07 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
Petro123 Dremlin13и по участкам дорог (такую как ширина проезжой части, кол-во люков, состояние участка улицы и т.д.), которые образуются при пересечении улиц это свойства улицы а не пересечения. Я имею в виду участок улицы - промежуток между одним и следующим перекрестками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:11 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
опять же от НИХ зависит: - ИХ компонет без проблем может рассматривать "улицу" как "связку кусков улиц" каждый кусок при этом имеет разные атрибуты. Куски можно собирать или разбирать в запросах или при показе-отрисовке. - ИХ компонет НЕ может рассматривать ........ а эмулирует это - через генерацию свойств СвойствоКускаN..... - ........ ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:21 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
Petro123опять же от НИХ зависит: - ИХ компонет без проблем может рассматривать "улицу" как "связку кусков улиц" каждый кусок при этом имеет разные атрибуты. Куски можно собирать или разбирать в запросах или при показе-отрисовке. - ИХ компонет НЕ может рассматривать ........ а эмулирует это - через генерацию свойств СвойствоКускаN..... - ........ ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! Я же сказал, мне необходима дополнительная информация для формирования отчетов. В общем существует выше описанная задача. У кого какие есть соображения. В принципе я знаю, как можно все это реализовать. Меня не очень устраивает дальнейшая работа с такой структурой БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:25 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
Есть сущность: улица она состоит из: - перекресток - прямой участок я бы сделал 2 таблицы: 1. Улицы - ИдУлицы (pk) - Порядковый номер (это первый вариант узнать что за чем следует) - ИдПерекресткаУчастка (fk) 2. Перекрестки и прямые участки - ИдПереересткаУчастка (pk) - ЭтоПерекресток - да/нет - смысл ясен думаю - Прочие поля, описывающие данный участок (или можно в третью таблицу вынести, чтобы можно было добавлять произвольное кол-во параметров) - ПредыдущийПерекрестокУчасток (ссылка на себя) (второй вариант) - СледущийПерекрестокУчасток (ссылка на себя) (второй вариант) По первому варианту выбираешь все и сортируешь по Порядковому номеру, а во втором случае немного хитрее надо выбирать. Все параметры перекрестков и участков действительно можно сложить в отдельную таблицу, тогда их легко можно менять (и кол-во и виды параметров). Надо 2 таблицы: 1. Вид параметра - ИдВидаПараметра (pk) - Наименование Параметра (Кол-во светофоров, Дата последнего ремонта, Ширина проезжей части, Номер дома, и т.п. хз че там еще тебе надо ) - ТипПараметра (типа число, строка или еще чего, там Дата последенего ремонта - Дата тоесть) 2. ПараметрыПерекресткаУчастка - ИдПерекресткаУчастка (fk) - ИдПараметра (fk) - тут типа ссылка на "кол-во светофоров" - ВеличинаПараметра - а тут следовательно само кол-во: 4 например Вот такие мысли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 16:29 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
smeh- Порядковый номер (это первый вариант узнать что за чем следует) зачем это знать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 16:43 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
smehЕсть сущность: улица она состоит из: - перекресток - прямой участок я бы сделал 2 таблицы: 1. Улицы - ИдУлицы (pk) - Порядковый номер (это первый вариант узнать что за чем следует) - ИдПерекресткаУчастка (fk) 2. Перекрестки и прямые участки - ИдПереересткаУчастка (pk) - ЭтоПерекресток - да/нет - смысл ясен думаю - Прочие поля, описывающие данный участок (или можно в третью таблицу вынести, чтобы можно было добавлять произвольное кол-во параметров) - ПредыдущийПерекрестокУчасток (ссылка на себя) (второй вариант) - СледущийПерекрестокУчасток (ссылка на себя) (второй вариант) По первому варианту выбираешь все и сортируешь по Порядковому номеру, а во втором случае немного хитрее надо выбирать. Все параметры перекрестков и участков действительно можно сложить в отдельную таблицу, тогда их легко можно менять (и кол-во и виды параметров). Надо 2 таблицы: 1. Вид параметра - ИдВидаПараметра (pk) - Наименование Параметра (Кол-во светофоров, Дата последнего ремонта, Ширина проезжей части, Номер дома, и т.п. хз че там еще тебе надо ) - ТипПараметра (типа число, строка или еще чего, там Дата последенего ремонта - Дата тоесть) 2. ПараметрыПерекресткаУчастка - ИдПерекресткаУчастка (fk) - ИдПараметра (fk) - тут типа ссылка на "кол-во светофоров" - ВеличинаПараметра - а тут следовательно само кол-во: 4 например Вот такие мысли. В этой структуре остутсвует информация по тому, какая дорога произвела пересечение с другой дорогой и создала перекресток. Потом по этой структуре я не могу определить от какой до какой улицы у меня участок дороги. Потом у улиц есть направления например с севера на юг и с запада на восток. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 16:52 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
Пересечение - это отдельная сущность (главная таблица) улицы, номера домов, светофоры - дочерние таблицы светофор без пересечения - частный случай перекрестка (нет второй улицы) пересечение без светофора - тоже самое. вот и все 1.Таблицы назаний пересечений 2.Таблица светофоров на пересечении 3.Таблица улиц пересечения 4.Таблица с номерами домов на пересечении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 17:34 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
Мне кажется сама концепция перекрестка как результата пересечения ошибочна. Если речь конечно идет о городе - чтой-то у Вас все слишком прямоугольное. Аналогично север-юг. А кольцевые и прочие загогулины? А пересечения на разных уровнях? А знаки, если речь о транспорте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 19:47 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
Что-то никто дельного совета не может дать... :-(((. Я же говорю мне нужны перекрестки (кольцевые будут биться опять же на участки дорог) и участки, которые обращуются при пресечении дорог. Информация по дорогам привязывается к перекрестку или участку дороги. Необходимо также редактирование сруктуры по пересечениям перекрестков, причем, чтобы эти изменения отражались на участках дорог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 07:02 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
Dremlin13Что-то никто дельного совета не может дать... :-(((. ============= а ты на них не реагируешь :) Я же говорю мне нужны перекрестки (кольцевые будут биться опять же на участки дорог) и участки, которые обращуются при пресечении дорог. ========= в ГИС это называется "слой". Перекрёстки - это "слой", который можно показать/непоказывать. Т.е. не динамическое, а создаваемая сущность по команде оператора в отдельной таблице. Информация по дорогам привязывается к перекрестку =============== нельзя дорогу привязать к перекрёстку (дороги главнее) или участку дороги. =============== если ваши компоненты умеют это (см. выше) Необходимо также редактирование сруктуры по пересечениям перекрестков, причем, чтобы эти изменения отражались на участках дорог. =============== если ваши компоненты умеют это (см. выше) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 10:38 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
В общем идея такая таблица RoadsCross содержит информацию по перекресткам дорог. Причем поле NS_Street_Id - это поле дороги с направлением с севера на юг (или наоборот, в общем не важно), а поле EW_Street_Id - дорога с направлением с востока на запад. Редактируется только эта таблица при изменениях пересечений дорог на карте. Таблица RoadsPart - содержит участки дорог, которые образуются при пересечении улиц в таблице RoadsCross. В этой таблице поле Direction_Type_Id - направление дороги, Street_Id - сама дорога, Cross_Street_Id_1 и Cross_Street_Id_2 - дороги, которые пересекают дорогу Street_Id и соответственно образуют участок дороги. В эту же таблицу можно запихать всякую инфу по участкам дорог. Далее как то хитро нужно (триггером скорее всего) переносить изменения из таблицы RoadsCross в RoadsPart. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 12:32 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
RoadsCross. там вроде составной ключь? - может быть ситуация 2 32 3______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 13:08 |
|
||
|
Проектирование БД. Пересечение улиц.
|
|||
|---|---|---|---|
|
#18+
Смысл остается загадкой. Как будет выглядеть в базе скажем Красная площадь , г. Москва, с ближайшими улицами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 13:19 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33800009&tid=1545190]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
387ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 682ms |

| 0 / 0 |
