Связь объектов с БД

САПР и ГИС
Franklin1967
Активный участник
Сообщения: 128
Зарегистрирован: 03 фев 2011, 13:19
Репутация: 16
Откуда: Борисполь, Украина

Связь объектов с БД

Сообщение Franklin1967 » 10 мар 2011, 11:38

Всем доброго времени суток !
У меня возникла следующая проблема. Имеется чертёж с подложкой полученный с формата MID/MIF вместе с специальной нагрузкой. Информация об элементах специальной нагрузки хранится в базе данных с типом InterBase. Каким образом связать запись элемента этой базы данных с объектами в различных чертежах?
Изображение
Подскажите пожалуйста.

trir
Гуру
Сообщения: 5292
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Связь объектов с БД

Сообщение trir » 10 мар 2011, 13:55

1. autoCAD Map 3D
2. ODBC

Используя Map/Civil 3D загружаешь подложки с полями (хотябы key), подложку сохраняешь в sdf/shp, подключаешь. Потом устанавливаешь соединение через FDO=>ODBC, подключаешь таблицу. Потом объединяешь таблицы через key.

Franklin1967
Активный участник
Сообщения: 128
Зарегистрирован: 03 фев 2011, 13:19
Репутация: 16
Откуда: Борисполь, Украина

Re: Связь объектов с БД

Сообщение Franklin1967 » 10 мар 2011, 15:37

trir, благодарю за обширный ответ, но проблема в том, что сохранение подложки в формате sdf/shp возможно, но не допустимо. Мы не используем официальную ArcView или ArcMap для обработки данных подобного типа, и не имеем право выполнять обработку, анализ и поставку оконечным потребителям информации из-за отсутствия лицензии. Вариант с форматом ESRI отпадает.
База данных ODBC на мой взгляд это специальный тип баз данных который не требует установки дополнительных компонент и программ на компьютер. Такой вариант приемлем но тут возникает следующая проблема. Ввод информации производится централизовано в базу данных типа InterBase. Создания отдельных таблиц ODBC предусматривает дубляж информации с общей базы данных, которые заполняют операторы ежедневно и что в свою очередь, сулит неприятностями, связанными с тем, что в общую базу данных могут изменить, а в моей таблице копии ODBC останутся старые данные. У нас в подразделении имеется три рабочих места AutoDesk Map 2007 и каждый оператор работает с определённым сектором, например, я работаю с аэродромами гражданской авиации, мой коллега с аэродромами государственной авиации, а второй коллега с вертодромами и посадочными площадками. Вся информация об аэродромах и вертодромах, согласно спецификации ИКАО хранится в одной таблице, которую ведёт один оператор - девушка. По Вашему методу, кроме ведения общей базы данных наша оператор, должна ещё обновлять все три таблички на наших рабочих местах, при чём знать кому из нас, какие данные нужны. Такой путь влечёт за собой дополнительные трудозатраты и путаницу.
trir, можно ли организовать связь напрямую с общей базой данных разных рабочих мест минуя создания промежуточных данных ? Как связываться с централизованной базой данных через сеть я знаю. Не могу понять, как связать запись конкретной таблицы с объектом чертежа. Поле “Key” имеется во всех табличках базы и оно ключевое.

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Связь объектов с БД

Сообщение nadiopt » 10 мар 2011, 16:03

вот если бы у тебя получилось кугис поставить, была бы у тебя официальная лицензия на шейпы. сам-то формат нелицензируемый
ин гроссен фамилен нихт клювен клац клац

Franklin1967
Активный участник
Сообщения: 128
Зарегистрирован: 03 фев 2011, 13:19
Репутация: 16
Откуда: Борисполь, Украина

Re: Связь объектов с БД

Сообщение Franklin1967 » 10 мар 2011, 17:16

nadiopt, допустим, что у меня есть программное обеспечение которое позволяет хранить информацию в формате shp. Что же получается, всю информацию нужно перегонять в shp, а это 539 одних аэродромов/вертодромов и посадочных площадок только как описание.
Изображение
К каждой записи присоединена информация о характеристиках составляющих аэродрома а это несколько десятков таблиц с определёнными связями согласно ИКАО в которых хранится информация об порогах, размерах ВПП, характеристиках покрытия, рулёжных дорожках, перронах, терминала и так далее. Перевод всей информации под другой формат это же колоссальная затрата времени, средств и человеческих ресурсов при чём при постоянном ведении текущей информации. Вот один из 539 аэродромов/вертодромов который Вы советуете переводить в другой формат. Вот приблизительно столько информации, в одном из них
Изображение
Ваше предложение nadiopt похоже на что-то из области
"Ваша организация работает в QGIS? Вы накапливали всю информацию в формате shp в течении восьми лет? Ваши структуры данных соответствуют формату ESRI? Вы обновляете её каждый день и анализируете ? - замечательно! Вы всё это время были на неправильном пути и все Ваши наработки не в том формате. Переведите их в формат MapInfo только тогда Вы сможете работать с связанной базой" ну что-то в таком роде. Вы думаете что это выход с положения ? я так не думаю.

trir
Гуру
Сообщения: 5292
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Связь объектов с БД

Сообщение trir » 10 мар 2011, 18:10

Ууу, тяжёлый случай.
УЧИ МАТ ЧАСТЬ!!!
1. ODBC - технология доступа к данным, ставишь драйвер ODBC к своей БД и можешь открывать данный откуда угодно, например из Access. Никакого копирования, просто сторонний доступ.
http://ru.wikipedia.org/wiki/ODBC
2. SDF - родной формат Map 3D
http://en.wikipedia.org/wiki/Spatial_Data_File

"У нас в подразделении имеется три рабочих места AutoDesk Map 2007" - вот и переводите всё в SDF, если работаете в Map 3D

Ооо, оказывается sdf это бд - "The current format version is SDF3 (based on SQLite3), which is a single file"

В подложке помимо графики должны быть доп. данные - их тоже надо грузить. У меня нет под рукой MID/MIF файла, так что не могу показать как. Скинь одну исходную подложку и соответствующую таблицу в виде Excel/Access и тебе по шагам раскажу как это делать.

Из справки Civil 3D
"Как импортировать объекты, имеющие связи с внешней базой данных

1. Убедитесь, что создан шаблон связи для внешней базы данных и эта база данных подключена и с ней установлено соединение.
2. Выберите последовательно вкладку «Вставка»панель «Импорт»«Импорт карты».
3. Диалоговое окно «Импорт»: щелкните мышью в поле Данные. Нажмите кнопку .
4. Диалоговое окно «Данные атрибутов»: выберите опцию Добавить в таблицу базы данных.
5. Выберите используемый шаблон связи.
6. Выберите опцию Создать только связь.
7. Нажмите ОК, чтобы закрыть диалоговое окно Данные атрибута.
Когда импортируются объекты, содержащиеся в объектах атрибутные данные преобразуются в связанные данные для выбранного шаблона связи."

Franklin1967
Активный участник
Сообщения: 128
Зарегистрирован: 03 фев 2011, 13:19
Репутация: 16
Откуда: Борисполь, Украина

Re: Связь объектов с БД

Сообщение Franklin1967 » 10 мар 2011, 19:00

Стоп trir !
Давайте попорядку. Вы пишите что ODBC - технология доступа к данным, пусть технология вопрос что делать мне как оператору у которого знания в AutoCAD Map 3D ниже среднего ? Судя по Вашим словам рядовой оператор не сможет сделать связь. Когда при старом операторе связь между базой InterBase и чертежами AutoCAD Map 3D была. Когда коллега ушёл мы переустановили операционную систему и все связи пропали. Думал что кто-то встречался с технологией связи чертёж-база InterBase, видимо я ошибся. :( Отрицательный результат тоже результат.
Всем спасибо за ответы !

Аватара пользователя
Olga_@@@
Гуру
Сообщения: 715
Зарегистрирован: 24 фев 2009, 15:42
Репутация: 0
Ваше звание: городошник
Откуда: Екатеринбург
Контактная информация:

Re: Связь объектов с БД

Сообщение Olga_@@@ » 10 мар 2011, 19:10

где-то видела подключение к .gdb
не ниже 2011 версии
У меня из Apple дома только компот.

trir
Гуру
Сообщения: 5292
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Связь объектов с БД

Сообщение trir » 10 мар 2011, 19:32

Если работаете с ГИС - учите SQL и всё с ним связанное, ОБЯЗАТЕЛЬНО!

Как так можно было отпустить человека и вся работа встала? Куда у вас начальство смотрело? Он же не один работал - куда коллеги смотрели, почему не изучали?

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Связь объектов с БД

Сообщение gamm » 10 мар 2011, 19:51

Franklin1967 писал(а):Стоп trir !
Давайте попорядку. Вы пишите что ODBC - технология доступа к данным, пусть технология вопрос что делать мне как оператору у которого знания в AutoCAD Map 3D ниже среднего ? Судя по Вашим словам рядовой оператор не сможет сделать связь. Когда при старом операторе связь между базой InterBase и чертежами AutoCAD Map 3D была. Когда коллега ушёл мы переустановили операционную систему и все связи пропали. Думал что кто-то встречался с технологией связи чертёж-база InterBase, видимо я ошибся. :( Отрицательный результат тоже результат.
Всем спасибо за ответы !
я не очень понимаю, что там у вас за программа, но в старом AutoCAD было просто поле (с кодом 5, если я правильно вспомнил), на которое цеплялась база (это и был ключ). Но таких навороченных картинок не было.

Судя по подключению к InterBase, рядом с вашей программой есть что-то, написанное на Delphi, и производящее эти красоты. Если я не ошибаюсь с использованной конструкцией, то нужно:

а) установить клиент InterBase - вы это сделали после переустановки системы? (входит в поставку Delphi)
б) прописать где-то пароль/логин для входа в InterBase (в том числе в самом InterBase - вы же его тоже переустановили). Вы это делали?
в) положить написанную на Delphi приблуду в нужную папку рядом с программой. Или картинки и сейчас появляются? Кто их производит на свет?

trir
Гуру
Сообщения: 5292
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Связь объектов с БД

Сообщение trir » 10 мар 2011, 20:01

gamm писал(а): я не очень понимаю, что там у вас за программа, но в старом AutoCAD было просто поле (с кодом 5, если я правильно вспомнил), на которое цеплялась база (это и был ключ). Но таких навороченных картинок не было.
Судя по подключению к InterBase, рядом с вашей программой есть что-то, написанное на Delphi, и производящее эти красоты. Если я не ошибаюсь с использованной конструкцией, то нужно:
а) установить клиент InterBase - вы это сделали после переустановки системы? (входит в поставку Delphi)
б) прописать где-то пароль/логин для входа в InterBase (в том числе в самом InterBase - вы же его тоже переустановили). Вы это делали?
в) положить написанную на Delphi приблуду в нужную папку рядом с программой. Или картинки и сейчас появляются? Кто их производит на свет?
Вы всё усложняете, но мысль у вас в правильном направлении движется
а) Надо ставить EasySoft ODBC или DataDirect ODBC, что то должно быть в комплекте InterBase (не входит в поставку Delphi, после 7 версии - уже не входит)
б) прописать в ODBC подключении
в) это уже лишнее

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Связь объектов с БД

Сообщение gamm » 10 мар 2011, 20:26

trir писал(а):
gamm писал(а): Вы всё усложняете, но мысль у вас в правильном направлении движется
а) Надо ставить EasySoft ODBC или DataDirect ODBC, что то должно быть в комплекте InterBase (не входит в поставку Delphi, после 7 версии - уже не входит)
б) прописать в ODBC подключении
в) это уже лишнее
если мне не изменяет мой склероз, ODBC драйвер тупо копирует данные в локальный файл (по крайней мере не позволяет изменять данные). Так что забудьте про ODBC , это не то, что здесь нужно. И вообще, похоже там уже есть клиент, просто нет connection.

Аватара пользователя
Olga_@@@
Гуру
Сообщения: 715
Зарегистрирован: 24 фев 2009, 15:42
Репутация: 0
Ваше звание: городошник
Откуда: Екатеринбург
Контактная информация:

Re: Связь объектов с БД

Сообщение Olga_@@@ » 10 мар 2011, 20:28

Разве? а, мы не знаем и меняем. :)
У меня из Apple дома только компот.

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Связь объектов с БД

Сообщение gamm » 10 мар 2011, 20:39

Olga_@@@ писал(а):Разве? а, мы не знаем и меняем. :)
значит, отстал я от жизни - лет 10 не пользовался ODBC :-)

P.P.S. посмотрел стандарт - можно менять :-) Склероз ...

trir
Гуру
Сообщения: 5292
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Связь объектов с БД

Сообщение trir » 10 мар 2011, 21:08

Возможность редактирования БД через ODBC зависит от конкретных дров.
В данном случае речь стоит о том - как подключить БД к подложке в Map 3D.
Для этого можно использовать dbConnect или FDO, но в обоих случаях надо использовать ODBC.

Franklin1967, а кто у вас базу админит? Как бы Админ должен знать, что такое ODBC и как через него устанавливать связь с его базой. Пните Админа, пусть он покажет как это делается, хотя бы в Excel, в Map это не сильно отличается.

Ответить

Вернуться в «AutoCAD Map 3D/Civil 3D»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей