powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование БД. Пересечение улиц.
34 сообщений из 34, показаны все 2 страниц
Проектирование БД. Пересечение улиц.
    #33799730
Dremlin13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
У меня такой вопрос.
Как лучше спроектировать БД в SQL Server 2000 для реализации следующей задачи.
Есть улицы, по ним задаются направления с севера на юг или с запада на восток. Улицы пересекаются, образуя перекрестки. Все пересечения улиц образуют квадратные кварталы. Необходимо хранить информацию по перекресткам (такую как вид перекрестка, кол-во светофоров и т.д.) и по участкам дорог (такую как ширина проезжой части, кол-во люков, состояние участка улицы и т.д.), которые образуются при пересечении улиц. Мало того что нужно хранить, нужно еще и редактировать информацию по пересечениям. Т.е. может добавиться новая улица или удалиться старая, или может измениться направление улицы и т.д.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33799793
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поиск по ГИС (недёшево это... или у Вас клиент уже есть?)
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33799818
Dremlin13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГИС и карту уже купили. Теперь необходимо спроектировать БД и привязать коды объектов карты с объектами, описанными в БД. И соотетственно написать клиентское приложение для работы с БД.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33799832
Dremlin13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня интересует как можно решить такую задачу наиболее правильным способом. Потому как идет работа и с перекрестками и с участками дорог. Еще очень важный момент - редактирование пересечений улиц.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33799873
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dremlin13ГИС и карту уже купили. Теперь необходимо спроектировать БД и привязать коды объектов карты с объектами, описанными в БД. И соотетственно написать клиентское приложение для работы с БД.
MapInfo?
IMHO
- если купили, может там проектировать вообще не надо? (есть форум по MapInfo)
- привязка-связка 2-х БД сильно зависит от того что купили.
Здесь вроде все с нуля проектируют форумчане?
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33799892
Dremlin13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 Dremlin13ГИС и карту уже купили. Теперь необходимо спроектировать БД и привязать коды объектов карты с объектами, описанными в БД. И соотетственно написать клиентское приложение для работы с БД.
MapInfo?
IMHO
- если купили, может там проектировать вообще не надо? (есть форум по MapInfo)
- привязка-связка 2-х БД сильно зависит от того что купили.
Здесь вроде все с нуля проектируют форумчане?

Купили компонент для работы с картами GISINFO (http://www.gisinfo.ru/). Инструментарий очень широкий в 9-ой версии. Но мне необходимо еще хранить в БД дополнительную информацию для отчетности и др. задач. В общем стоит выше описанная задача. Кто может, подскажите как проще её решить.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33799909
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если пересекаются пять улиц?
Вообще видится таблица с пересечениями(хотя это лучше назвать не пересечением а местом установки светофоров, т.к. они стоят не только на пересечении), таблица в котрой указано какие улицы в каком пересечении участвуют. Можно указать, например номер дома перед пересечением. Тогда можно будет сортировать.. Ну и таблица с улицами.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33799938
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Изучить то что купили и как ОНО работает с БД (хотя бы по EAV/текстовые_файлы/......).
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33799951
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКто может, подскажите как проще её решить.
купить у нас )))))))
мы всё расскажем и покажем ) (а как у них правда - незнаем).
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33799954
Dremlin13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vromanovА если пересекаются пять улиц?
Вообще видится таблица с пересечениями(хотя это лучше назвать не пересечением а местом установки светофоров, т.к. они стоят не только на пересечении), таблица в котрой указано какие улицы в каком пересечении участвуют. Можно указать, например номер дома перед пересечением. Тогда можно будет сортировать.. Ну и таблица с улицами.

На самом деле я отталкиваюсь не от светофоров (эта информация второстепенная), а от самих улиц. Мне важно хранить какую-то информацию по перекресткам дорог и по участкам дорог (которые образуются из-за пересечений улиц).
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33800001
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dremlin13 vromanovА если пересекаются пять улиц?
Вообще видится таблица с пересечениями(хотя это лучше назвать не пересечением а местом установки светофоров, т.к. они стоят не только на пересечении), таблица в котрой указано какие улицы в каком пересечении участвуют. Можно указать, например номер дома перед пересечением. Тогда можно будет сортировать.. Ну и таблица с улицами.

На самом деле я отталкиваюсь не от светофоров (эта информация второстепенная), а от самих улиц. Мне важно хранить какую-то информацию по перекресткам дорог и по участкам дорог (которые образуются из-за пересечений улиц).
наверно лучше команда:
- на основе улиц 1,2,5,7 сгенерировать объекты-перекрёстки с инфой о .......
- вставить ЭТО в БД.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33800009
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dremlin13и по участкам дорог (такую как ширина проезжой части, кол-во люков, состояние участка улицы и т.д.), которые образуются при пересечении улиц
это свойства улицы а не пересечения.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33800027
Dremlin13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 Dremlin13и по участкам дорог (такую как ширина проезжой части, кол-во люков, состояние участка улицы и т.д.), которые образуются при пересечении улиц
это свойства улицы а не пересечения.
Я имею в виду участок улицы - промежуток между одним и следующим перекрестками.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33800073
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опять же от НИХ зависит:
- ИХ компонет без проблем может рассматривать "улицу" как "связку кусков улиц" каждый кусок при этом имеет разные атрибуты. Куски можно собирать или разбирать в запросах или при показе-отрисовке.
- ИХ компонет НЕ может рассматривать ........ а эмулирует это
- через генерацию свойств СвойствоКускаN.....
- ........
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33800086
Dremlin13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123опять же от НИХ зависит:
- ИХ компонет без проблем может рассматривать "улицу" как "связку кусков улиц" каждый кусок при этом имеет разные атрибуты. Куски можно собирать или разбирать в запросах или при показе-отрисовке.
- ИХ компонет НЕ может рассматривать ........ а эмулирует это
- через генерацию свойств СвойствоКускаN.....
- ........
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
Я же сказал, мне необходима дополнительная информация для формирования отчетов. В общем существует выше описанная задача. У кого какие есть соображения. В принципе я знаю, как можно все это реализовать. Меня не очень устраивает дальнейшая работа с такой структурой БД.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33800353
Фотография smeh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть сущность: улица
она состоит из:
- перекресток
- прямой участок


я бы сделал 2 таблицы:
1. Улицы
- ИдУлицы (pk)
- Порядковый номер (это первый вариант узнать что за чем следует)
- ИдПерекресткаУчастка (fk)
2. Перекрестки и прямые участки
- ИдПереересткаУчастка (pk)
- ЭтоПерекресток - да/нет - смысл ясен думаю
- Прочие поля, описывающие данный участок (или можно в третью таблицу вынести, чтобы можно было добавлять произвольное кол-во параметров)

- ПредыдущийПерекрестокУчасток (ссылка на себя) (второй вариант)
- СледущийПерекрестокУчасток (ссылка на себя) (второй вариант)

По первому варианту выбираешь все и сортируешь по Порядковому номеру,
а во втором случае немного хитрее надо выбирать.

Все параметры перекрестков и участков действительно можно сложить в отдельную таблицу, тогда их легко можно менять (и кол-во и виды параметров). Надо 2 таблицы:
1. Вид параметра
- ИдВидаПараметра (pk)
- Наименование Параметра (Кол-во светофоров, Дата последнего ремонта, Ширина проезжей части, Номер дома, и т.п. хз че там еще тебе надо )
- ТипПараметра (типа число, строка или еще чего, там Дата последенего ремонта - Дата тоесть)
2. ПараметрыПерекресткаУчастка
- ИдПерекресткаУчастка (fk)
- ИдПараметра (fk) - тут типа ссылка на "кол-во светофоров"
- ВеличинаПараметра - а тут следовательно само кол-во: 4 например

Вот такие мысли.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33800429
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
smeh- Порядковый номер (это первый вариант узнать что за чем следует)

зачем это знать?
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33800473
Dremlin13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
smehЕсть сущность: улица
она состоит из:
- перекресток
- прямой участок


я бы сделал 2 таблицы:
1. Улицы
- ИдУлицы (pk)
- Порядковый номер (это первый вариант узнать что за чем следует)
- ИдПерекресткаУчастка (fk)
2. Перекрестки и прямые участки
- ИдПереересткаУчастка (pk)
- ЭтоПерекресток - да/нет - смысл ясен думаю
- Прочие поля, описывающие данный участок (или можно в третью таблицу вынести, чтобы можно было добавлять произвольное кол-во параметров)

- ПредыдущийПерекрестокУчасток (ссылка на себя) (второй вариант)
- СледущийПерекрестокУчасток (ссылка на себя) (второй вариант)

По первому варианту выбираешь все и сортируешь по Порядковому номеру,
а во втором случае немного хитрее надо выбирать.

Все параметры перекрестков и участков действительно можно сложить в отдельную таблицу, тогда их легко можно менять (и кол-во и виды параметров). Надо 2 таблицы:
1. Вид параметра
- ИдВидаПараметра (pk)
- Наименование Параметра (Кол-во светофоров, Дата последнего ремонта, Ширина проезжей части, Номер дома, и т.п. хз че там еще тебе надо )
- ТипПараметра (типа число, строка или еще чего, там Дата последенего ремонта - Дата тоесть)
2. ПараметрыПерекресткаУчастка
- ИдПерекресткаУчастка (fk)
- ИдПараметра (fk) - тут типа ссылка на "кол-во светофоров"
- ВеличинаПараметра - а тут следовательно само кол-во: 4 например

Вот такие мысли.

В этой структуре остутсвует информация по тому, какая дорога произвела пересечение с другой дорогой и создала перекресток. Потом по этой структуре я не могу определить от какой до какой улицы у меня участок дороги.

Потом у улиц есть направления например с севера на юг и с запада на восток.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33800696
sergey888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пересечение - это отдельная сущность (главная таблица)
улицы, номера домов, светофоры - дочерние таблицы
светофор без пересечения - частный случай перекрестка (нет второй улицы)
пересечение без светофора - тоже самое.
вот и все
1.Таблицы назаний пересечений
2.Таблица светофоров на пересечении
3.Таблица улиц пересечения
4.Таблица с номерами домов на пересечении.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33801065
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется сама концепция перекрестка как результата пересечения ошибочна. Если речь конечно идет о городе - чтой-то у Вас все слишком прямоугольное. Аналогично север-юг.
А кольцевые и прочие загогулины?
А пересечения на разных уровнях?
А знаки, если речь о транспорте?
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33801429
Dremlin13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то никто дельного совета не может дать... :-(((.
Я же говорю мне нужны перекрестки (кольцевые будут биться опять же на участки дорог) и участки, которые обращуются при пресечении дорог. Информация по дорогам привязывается к перекрестку или участку дороги. Необходимо также редактирование сруктуры по пересечениям перекрестков, причем, чтобы эти изменения отражались на участках дорог.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33801768
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dremlin13Что-то никто дельного совета не может дать... :-(((.
============= а ты на них не реагируешь :)

Я же говорю мне нужны перекрестки (кольцевые будут биться опять же на участки дорог) и участки, которые обращуются при пресечении дорог.
========= в ГИС это называется "слой". Перекрёстки - это "слой", который можно показать/непоказывать. Т.е. не динамическое, а создаваемая сущность по команде оператора в отдельной таблице.

Информация по дорогам привязывается к перекрестку
===============
нельзя дорогу привязать к перекрёстку (дороги главнее)

или участку дороги.
===============
если ваши компоненты умеют это (см. выше)

Необходимо также редактирование сруктуры по пересечениям перекрестков, причем, чтобы эти изменения отражались на участках дорог.
===============
если ваши компоненты умеют это (см. выше)
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33802201
Dremlin13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем идея такая таблица 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.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33802352
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RoadsCross.
там вроде составной ключь?
- может быть ситуация
2 32 3______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33802391
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смысл остается загадкой. Как будет выглядеть в базе скажем Красная площадь , г. Москва, с ближайшими улицами?
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33802433
`
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
`
Гость
так что в голову пришло - это же граф - имеем "перекресток" вершина узла
"улица" ребро графа. основное отличие вершины от ребра в вашей ситуации наверное будет такое - вершина может иметь координатные привязки ( а может не иметь, если вам не надо), а ребро имеет направление, и не имеет координатных привязок. соответственно если вам надо конкретную позицию привязать к координатам то "привязываем" к вершине, если координатной привязки не надо, то к ребру.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33802463
Фотография Visitor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRСмысл остается загадкой. Как будет выглядеть в базе скажем Красная площадь , г. Москва, с ближайшими улицами?

полагаю десятком записей описывающих все "пересечения"
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33802529
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Visitor ModelRСмысл остается загадкой. Как будет выглядеть в базе скажем Красная площадь , г. Москва, с ближайшими улицами?

полагаю десятком записей описывающих все "пересечения"
почему слова, а не этот 10-ток записей?
1.
2.
3.
.....
Чернил жалеть не надо , а то студенты уже давно решат данную задачу.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33802680
Dremlin13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Petro123] RoadsCross.
там вроде составной ключь?
- может быть ситуация
2 32 3
Правильно. Там составной первичный ключ. Но как Вы знаете первичный ключ он еще и уникальный...
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33802691
Dremlin13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Visitor ModelRСмысл остается загадкой. Как будет выглядеть в базе скажем Красная площадь , г. Москва, с ближайшими улицами?

полагаю десятком записей описывающих все "пересечения"
Именно улица "Красная площадь" будет пересечена всеми улицами, образуя перекрестки.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33802843
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dremlin13[quot Petro123] RoadsCross.
там вроде составной ключь?
- может быть ситуация
2 32 3
Правильно. Там составной первичный ключ. Но как Вы знаете первичный ключ он еще и уникальный...
пример выше должен быть в БД. Вы считаете по другому?
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33802913
Фотография Visitor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dremlin13 Visitor ModelRСмысл остается загадкой. Как будет выглядеть в базе скажем Красная площадь , г. Москва, с ближайшими улицами?

полагаю десятком записей описывающих все "пересечения"
Именно улица "Красная площадь" будет пересечена всеми улицами, образуя перекрестки.

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

боян :) еще один велосипед т.е.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33803078
Dremlin13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последний вариант. Перекрестки и участки дорог.
...
Рейтинг: 0 / 0
Проектирование БД. Пересечение улиц.
    #33803168
Фотография Visitor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dremlin13Последний вариант.

ну-ну...

вам же посоветовали держать нос по ветру иерархических структур... чего огород-то городить... ваша схема <совершенно> не соответствует задаче

в том виде как вы сформулировали одну и представили другую
...
Рейтинг: 0 / 0
34 сообщений из 34, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование БД. Пересечение улиц.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]