Архитектору и проектировщику|Тепло- и звукоизоляция URSA.RU
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > реализация задачи visual studio2012 (visual basic .net) autocad 2012, oracle11g

реализация задачи visual studio2012 (visual basic .net) autocad 2012, oracle11g

Ответ
Поиск в этой теме
Непрочитано 05.12.2012, 04:42 #1
реализация задачи visual studio2012 (visual basic .net) autocad 2012, oracle11g
Anta
 
Регистрация: 05.12.2012
Сообщений: 11

Здравствуйте, подскажите пожалуйста, передо мной поставлена задача:по нажатию на кнопку или выделению линии в datagridview выделить объект на плане в Autocad. В oracle11g создана таблица (таблица объектов, не удовлетворяющих критериям), хранящая информацию об объекте (id объекта и слой на котором расположен объект: это может быть линия, текст, полигон). В приложении на visual basic .net, я отображаю эту таблицу в stringgridview, необходимо по нажатию на линию или кнопку визулизировать (выделить) этот объект на плане. Возможно ли реализовать такую задачу на visual basic .net? если да, то с чего начать, подскажите, где примеры посмотреть по работе через (visual basic .net) с автокадом, в свое приложение я подключила библиотеки и у меня в работающем приложение сразу появилась ошибка: не могу конверировать объект datatable в autocad.datatable. хотя я еще не начала писать ничего,связанное с autocad. Спасибо!
Просмотров: 9319
 
Непрочитано 05.12.2012, 11:05
#2
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Anta Посмотреть сообщение
таблица (таблица объектов, не удовлетворяющих критериям), хранящая информацию об объекте (id объекта и слой на котором расположен объект: это может быть линия, текст, полигон).
Если речь идёт об ObjectId, то это глухой номер, ибо:
Цитата:
Идентификаторы (ObjectId) объектов в базе данных существуют, только, когда база данных загружена в памяти. Как только база данных закрывается, идентификаторы объектов перестают существовать, и возможно будут отличаться при следующей загрузке этой базы данных.
Если во внешней базе данных хранить идентификаторы объектов чертежа, то для этого следует использовать Handle:
Цитата:
Метки (handles) остаются постоянными между сеансами работы AutoCAD, поэтому, их использование для доступа к объектам это лучший способ если вам нужно экспортировать информацию из чертежа во внешний файл и использовать её позже для обновления чертежа.
Цитата:
Сообщение от Anta Посмотреть сообщение
В приложении на visual basic .net, я отображаю эту таблицу в stringgridview, необходимо по нажатию на линию или кнопку визулизировать (выделить) этот объект на плане. Возможно ли реализовать такую задачу на visual basic .net?
Речь об автономном приложении, или о плагине, загружаемом в AutoCAD командой _Netload?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 06.12.2012, 05:27
#3
Anta


 
Регистрация: 05.12.2012
Сообщений: 11


Цитата:
Сообщение от hwd Посмотреть сообщение
Если во внешней базе данных хранить идентификаторы объектов чертежа, то для этого следует использовать Handle:
подскажите, где хранится Handle, если я могу его выбрать, то буду сохранять и его в таблицу.
Цитата:
Сообщение от hwd Посмотреть сообщение
Речь об автономном приложении, или о плагине, загружаемом в AutoCAD командой _Netload? Handle:
Приложение автономное, но если таким образом нельзя решить задачу, то какой другой способ решения? Возможно загружать таблицу прямо при работе с файлом в автокад и написать код на vb-макрос или что-то подобное для организации связи с объектами и чтоб через эту таблицу было бы возможно выполнить Highlight?
Anta вне форума  
 
Непрочитано 06.12.2012, 10:38
#4
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Anta Посмотреть сообщение
то буду сохранять и его в таблицу.
Не "и его", а именно его, поскольку хранить ObjectId нет смысла. Почитайте это. Это вы сохраняете в БД своего рода "метки", с помощью которых ссылаетесь на конкретные объекты в чертеже. В рамках данного чертежа эти метки уникальны и постоянны.
Цитата:
Сообщение от Anta Посмотреть сообщение
какой другой способ решения?
Не уверен, что правильно вас понял: вы хотите хранить во внешней базе данных (например в Oracle) графические примитивы и вставлять их в чертёж по мере необходимости? Если так, то хранить объекты вам придётся либо в формате DXF, либо нужную информацию сохранять в виде внешнего блока (т.е. блока, хранящегося во внешнем файле - как правило юзеры могут создавать его командой _Wblock, но вы можете делать это программно). Полученный файл сохраняете в базе данных СУБД как массив байтов.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 06.12.2012, 12:52
#5
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,276
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
либо нужную информацию сохранять в виде внешнего блока (т.е. блока, хранящегося во внешнем файле - как правило юзеры могут создавать его командой _Wblock, но вы можете делать это программно)
Не рекомендую. Этот файл (как и любой другой dwg-файл) будет зависеть от версии AutoCAD.
Александр Ривилис вне форума  
 
Непрочитано 06.12.2012, 13:20
#6
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Не рекомендую. Этот файл (как и любой другой dwg-файл) будет зависеть от версии AutoCAD.
Исходить следует из реальных условий, т.е. сохранять блоки в той версии DWG, с которой работают в компании, либо понижать версию, если при этом в блоках не теряются нужные возможности. Все последующие, более новые версии автокада, успешно будут работать с этими файлами, а если стараться хранить информацию так, чтобы можно было открывать файл в версии AutoCAD 1.0, то жертвовать придётся весьма многими возможностями - не вижу в этом смысла.

Впрочем это имхо.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 06.12.2012 в 13:34.
hwd вне форума  
 
Непрочитано 06.12.2012, 17:15
#7
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 11,107


Цитата:
это может быть линия, текст, полигон
Уж не ГИС ли делаете? Имеется стандартное решение: такие объекты (точечные, линейные, полигональные) вообще не хранятся ни в DWG, ни в каких-то других графических форматах. В базе данных, помимо всяческих атрибутивных данных (семантики) хранятся и координаты объектов - пространственные данные.

В Oracle есть и специальное расширение - SpatialWare.

Когда их надо визуализировать, то "щелчком по кнопке" нужные объекты просто создаются в соответствующей графической среде (можно и в AutoCAD).
Редактирование пространственных данных может осуществляться разными способами - как по известным координатам вершин (например земельных участков), так и путем извлечения координат нарисованных объектов из графического редактора (например AutoCAD).

ГИС-технологии могут быть использованы не только с "картами", но и с любыми изображениями, имеющими координаты объектов (хоть здания, хоть схемы какие-нибудь). А в AutoCAD все объекты имеют координаты.

Да и вообще такие задачи сейчас нет смысла заново делать, так как все уже изобретено и полным-полно готовых решений, в том числе бесплатных или "практически бесплатных".
ShaggyDoc вне форума  
 
Непрочитано 06.12.2012, 17:17
#8
trir


 
Регистрация: 18.12.2010
Сообщений: 3,464


очередное изобретение велосипеда, это всё можно реализовать штатными методами
Autocad: dbConnect
Autocad Map 3D: FDO, Oracle Spatial
trir вне форума  
 
Автор темы   Непрочитано 15.12.2012, 01:40
#9
Anta


 
Регистрация: 05.12.2012
Сообщений: 11


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Уж не ГИС ли делаете? Имеется стандартное решение: такие объекты (точечные, линейные, полигональные) вообще не хранятся ни в DWG, ни в каких-то других графических форматах. В базе данных, помимо всяческих атрибутивных данных (семантики) хранятся и координаты объектов - пространственные данные.
Здравствуйте, имеено ГИС. Разработчик БД находится где-то в середине стадии разработки, для проверки на наличие "неправильных" объектов он sql запросом заносит результат запроса в таблицу (TableErreur), где хранится ID объекта (уникален)и слой объекта (таблица БД). VB он хочит получить визуальный доступ (Hithligth), выбрав строку с ID объекта.

Сегоданя разработчик БД ознакомил с принципом работы c "чертежем", вообщем это уже не "привычный" для меня чертеж , который хранится в файле dwg. Все элемены чертежа хранятся в БД Oracle. Геометрия объекта хранится в таблице, в поле GEOM, которое создается автоматически при создание Future class. К примеру имеется 30 чертежей (в каждом из чертежей есть по 30 слоев), все хранится в БД. Принцип работы: открываю Автокад подключаюсь к БД Oracle, загружается в автокад , в выпадающий список названия чертежей- 30 названий ( каждое название соотвествует одной схеме в Oracle), выбираю чертеж из списка и все элементы чертежа (линии, текст и тп) загружаются визуально в чертеж. Разработчик БД говорит о том, что как ObjectID я должна использовать ID (Элемента чертажа ) в таблицы, он уникален и не когда повторятся не будет.

-----
очередное изобретение велосипеда, это всё можно реализовать штатными методами
Autocad: dbConnect
Autocad Map 3D: FDO, Oracle Spatial
------

В Oracle Spatial и будим работать... для наших чертежников в VB клиентское приложение разрабатывается, что б они могли сделать Hithligth объекта и потом отредактировать его. Таблица ошибок уже не связанна с объектом, в ней хранится только его ID

Последний раз редактировалось Anta, 15.12.2012 в 01:49. Причина: подумав, добавила
Anta вне форума  
 
Непрочитано 15.12.2012, 16:14
#10
trir


 
Регистрация: 18.12.2010
Сообщений: 3,464


ЗАЧЕМ??? AutoCAD Map 3D и так умеет это делать! А можно ещё использовать QGIS!
trir вне форума  
 
Непрочитано 15.12.2012, 16:18
#11
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,760


Anta, ObjecID уникален в пределах одной сессии. Handle уникален в пределах файла (независимо от сессии). ObjectID - десятичное число, Handle - щестнадцатиричное.
Одно из двух - либо разработчик не понимает принципов работы AutoCAD, либо здесь у нас налицо испорченный телефон.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.12.2012, 16:23
#12
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
ObjectID - десятичное число, Handle - щестнадцатиричное.
гы... шестнадцатеричное, десятичное, восьмеричное, двоичное - это форма записи числа. Число можно записать в любом из перечисленных выше представлений. Тип числа и форма его записи - это разные понятия. Типы, это например int, long int, short int, unsigned int, unsigned long int и т.д.
hwd вне форума  
 
Непрочитано 15.12.2012, 16:39
#13
trir


 
Регистрация: 18.12.2010
Сообщений: 3,464


Испорченный телефон, имеется в виду ключ в базе, а не в акаде. И кодить тут ничего не надо, а использовать любую ГИС - Map 3D или QGIS.
trir вне форума  
 
Автор темы   Непрочитано 16.12.2012, 23:33
#14
Anta


 
Регистрация: 05.12.2012
Сообщений: 11


Цитата:
Сообщение от trir Посмотреть сообщение
Испорченный телефон, имеется в виду ключ в базе, а не в акаде. И кодить тут ничего не надо, а использовать любую ГИС - Map 3D или QGIS.
Да ключ в таблице БД Оракл, используется Autocad Map 3D 2012, просветите как использовать, таблица ошибок уже не связана с объектами, имеется возможность связать эту таблицу с объектами прямо в Autocad Map 3D?
Anta вне форума  
 
Непрочитано 16.12.2012, 23:41
#15
trir


 
Регистрация: 18.12.2010
Сообщений: 3,464


Можно и графику загрузить, Map eё видит. С какими объектами связать? Тут вопрос как подключатся к данным, лично я работаю через FDO. FDO создаёт собственное "хранилище", но можно подключится к любой таблице с графикой и он её поймёт и нарисует.
Миниатюры
Нажмите на изображение для увеличения
Название: scr4.jpg
Просмотров: 97
Размер:	204.5 Кб
ID:	92660  

Последний раз редактировалось trir, 26.12.2012 в 18:27.
trir вне форума  
 
Непрочитано 17.12.2012, 12:44
#16
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 813


Offtop:
Цитата:
Сообщение от trir Посмотреть сообщение
Тут вопрос как подключатся к данным, лично я работаю через FDO. FDO создаёт собственное "хранилеще",
См. словарь Ожегова, п-ста
Олег (jr.) вне форума  
 
Автор темы   Непрочитано 26.12.2012, 04:01
#17
Anta


 
Регистрация: 05.12.2012
Сообщений: 11


Цитата:
Сообщение от trir Посмотреть сообщение
Тут вопрос как подключатся к данным, лично я работаю через FDO. FDO создаёт собственное "хранилеще", но можно подключится к любой таблице с графикой и он её поймёт и нарисует.
То есть в моем приложение можно создать соединение с моей таблицей в оракл через Autodesk FDO Provider for Oracle? Задача не стоит, в том чтоб нарисовать объект, а в том, чтоб зная ключ объекта (ключ в бд оракл), выделить его на рисунке, "подсветить". В одной из статей об FDO написано, что компонент FDO Enterprise Edition устанавливается для Autocad 3d Map, то есть можно предположить, что необходимый мне компонент уже стоит, нужно подключить какие-либо библиотеки в vb net для его использования?
Извините, что во времени между моими ответами значительный промежуток, бывает, меня вырывают на другие задания..
Anta вне форума  
 
Непрочитано 26.12.2012, 18:32
#18
trir


 
Регистрация: 18.12.2010
Сообщений: 3,464


Так что ли?
Для связки Oracle и Map 3D - ненужно никакого программирования, вообще, никак
Миниатюры
Нажмите на изображение для увеличения
Название: scr5.jpg
Просмотров: 80
Размер:	358.6 Кб
ID:	93429  
trir вне форума  
 
Автор темы   Непрочитано 27.12.2012, 07:40
#19
Anta


 
Регистрация: 05.12.2012
Сообщений: 11


Так что ли? Да!!!! , то что, вы мне показали на миниатюре, то , что мне нужно...НО
изначально
задача стоит не в том,что б связать таблицу Оракл и map 3d, а связать таблицу (результат запроса), которая загружается в datagridview в vb net из oracle c map3d.
К примеру, в oracle имеются 3 таблицы, в которой хранятся: геометрия объекта, ключ (id объекта в данной таблице), имя feature class, дата создания объекта и тп. Далее к этим трем таблицам делается запрос: select id, имя feature class ...where дата создания="20/12/2012", результат запроса помещается в созданную специально для этого таблицу - Таблица1. У меня есть приложение на vb net, где я создаю связь с Оракл и загружаю Таблица1 в datagridview. И, находясь в vb net, необходимо, выделив строку в datagridview-> выделить этот объект в map 3d (извиняюсь за тофтологию). Дело в том, что Таблица1-результат запроса и уже никак не связана с объектами. Или ее можно все таки связать с объектами? Если ее нельзя связать с объектом, находясь в vb net, то как ее связать, хотя бы, находясь уже в map 3d? Хотя, наверняка есть способ это сделать в vb net. Спасибо.

Последний раз редактировалось Anta, 27.12.2012 в 07:47.
Anta вне форума  
 
Непрочитано 27.12.2012, 16:49
#20
trir


 
Регистрация: 18.12.2010
Сообщений: 3,464


Таблица:
Код:
[Выделить все]
CREATE TABLE `exp_serv_point` (
  `sid` int(10) unsigned NOT NULL,
  `featid` int(10) unsigned NOT NULL,
  `c_road` int(10) unsigned default NULL,
  `geom` point NOT NULL,
  `sname` varchar(45) default NULL,
  `C_TYPE_ENGINEERING` int(10) unsigned default NULL,
  `s_name` varchar(45) default NULL,
  `deistv` tinyint(1) unsigned default NULL,
  `leg_form` varchar(45) default NULL,
  `oname` varchar(45) default NULL,
  `tel` varchar(7) default NULL,
  `mtel` varchar(11) default NULL,
  `inn` varchar(12) default NULL,
  `ogrn` varchar(15) default NULL,
  `www` varchar(45) default NULL,
  `email` varchar(45) default NULL,
  PRIMARY KEY  (`sid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
Почему нельзя записать геометрию в результирующую таблицу?
Открыть таблицу с геометрией в Map 3D, а потом сделать объединение с результирующей таблицей по ключу.
Миниатюры
Нажмите на изображение для увеличения
Название: scr1.JPG
Просмотров: 50
Размер:	51.5 Кб
ID:	93490  Нажмите на изображение для увеличения
Название: scr2.JPG
Просмотров: 52
Размер:	68.9 Кб
ID:	93491  
trir вне форума  
 
Автор темы   Непрочитано 28.12.2012, 07:33
#21
Anta


 
Регистрация: 05.12.2012
Сообщений: 11


Цитата:
Сообщение от trir Посмотреть сообщение
Почему нельзя записать геометрию в результирующую таблицу?
Открыть таблицу с геометрией в Map 3D, а потом сделать объединение с результирующей таблицей по ключу.
Миниатюры
Таблица1 содержит id объектов, которые каким-либо образом не соответсвуют критериям "правильности". К примеру, текст, который не находится под нужным углом либо незамкнутая полилиния, которая должна быть закрыта, либо другой критерий. Загрузка Таблица1 , геометрию, наверное можно и записать (новая задача для разработчика БД в оракл), открытие и объединение не приведет ли к дублированию объектов в Map 3D? Дело в том, что Таблица1 будит обновлятся , скажем, раз в 2 недели для 20 (как минимум) очень объемных чертежей. Цель разработчика БД автоматизировать работу по максимуму, так как он у нас по контракту и после себя ему необходимо оставить все в таком виде, что б нашим чертежникам не пришлось вмешиваться в БД. Поэтому написаны процедуры oracle для выборки id "неправильных" объектов. В vb net есть интерфейс для запуска всех процедур и заполнения Таблица1 и теперь необходимо подвсетить эти объекты, когда они открыты в Map 3D. То есть со стороны чертужников вмешательство и манипуляции с таблицами через интерфейс map 3d должно свестись к минимуму...
Anta вне форума  
 
Непрочитано 28.12.2012, 21:24
#22
trir


 
Регистрация: 18.12.2010
Сообщений: 3,464


Не зная вашей "кухни" - я, право, теряюсь и не могу предложить вам оптимальное решение. Может расскажите "общую картину"?
P.S. А не делаете ли вы аналог TOPOBASE?
trir вне форума  
 
Автор темы   Непрочитано 29.12.2012, 20:55
#23
Anta


 
Регистрация: 05.12.2012
Сообщений: 11


Цитата:
Сообщение от trir Посмотреть сообщение
Не зная вашей "кухни" - я, право, теряюсь и не могу предложить вам оптимальное решение.
Да, я понимаю...

Цитата:
Сообщение от trir Посмотреть сообщение
Может расскажите "общую картину"?
В смысле? От куда и куда идем?) Работаем с земельными планами: участки земли представлены как полигоны, имеются названия улиц, адреса домов (текст), полигоны границ города и тп ( в общей сложности для каждого города на чертеже автокад присутствует от 30 до 60 слоев, иногда больше). На данный момент работаем в autocad 2004 + MS access. Атрибуты каждого объекта хранятся в таблице БД Access (количесво таблиц варьируется от 30 до 60). Так как объем информации растет , то MS access уже не подходит, поэтому переходим на autocad MAP 3d +Orcale spatial. Теперь все данные будут хранится в Oracle. Через программу "посредник" все существующие данные будут отправлены в бд Oracle. Каждый город соответсвует одной схеме в Oracle (у нас их около 80). Для работы с каждым отдельным городом: открываем autocad MAP 3d, в выпадающем списке выбираем один город (схему) и все данные загружаются в чертеж. Каждые 2 недели нужно обновлять информацию на чертеже (новое разбиение участков либо группирование старых, то есть из одного земельного участки можем получить разбиение на 10, либо сгруппировать 5 участков под одну матрикуль, либо из 3х, к примеру, снова сдлеать один участок и тп, все изменения в земельном кадастре нужно отобразить на чертеже). После того как измения сделаны, нужно проверить, а нет ли ошибок (ошибки программ, которые подготавливают новые данные для внедрения в чертеж, либо человеческий фактор). Для подготовки данных и последующей проверки удачного внедрения на чертеж разработаны (некоторые в стадии разработки) процедуры на pl/sql в Оracle. Весь процесс внедрения новых данных об изменениях земельных участков будит автоматизирован на 80%. Моя задача - разработка приложения на vb net для запуска соответсвующих процедур. Первый из интефейсов служит для запуска программы, которая генерирует все необходимые геометрические объекты в dxf файле, выполняются некотрые процедуры..., потом нажатие на кнопку- и удаление старх объектов из тыблиц Orcale , второе нажатие на кнопку и внедрение (необходимые данные о геометрии новых объектов записываюся в Oracle) новых элементов. Второй интефейс позволяет запустить процедуры Оracle на проверку ошибок - в результате, из всех таблиц для одной схеме происходит выборка объектов с ошибками ( неправильный угол, забыли нарисовать символ, указывающие что, к пример,два участка, разделенные дорогой, принадлежат одному лицу и тп ) в таблицу. Таблица1 теперь содержит название таблицы (feature class) и id объекта в этом (feature class). Теперь интерфес должен позволить по выделени строки (или нажатию на кнопку) подсветить этот объект на карте map 3d. Вот в общем схема работы.. Спасибо
Anta вне форума  
 
Непрочитано 30.12.2012, 03:06
#24
trir


 
Регистрация: 18.12.2010
Сообщений: 3,464


1. Вам не нужна "программа "посредник"" - это умеет Map 3D
2. "все данные загружаются в чертеж" - через FDO?
3. "Каждые 2 недели нужно обновлять информацию на чертеже" - Зачем? Используя FDO мы всегда будем иметь актуальные данные в чертеже.
4. "геометрические объекты в dxf файле" - Зачем???
Итог: У вас ГИС, учите теорию!

P. S. Да... вы знаете толк в извращениях ;=)
trir вне форума  
 
Автор темы   Непрочитано 30.12.2012, 04:02
#25
Anta


 
Регистрация: 05.12.2012
Сообщений: 11


Цитата:
Сообщение от trir Посмотреть сообщение
1. Вам не нужна "программа "посредник"" - это умеет Map 3D
данные,которые мы получаем: чертежи новых земельных участков в формате dxf, данные о лицах,которые ими владеют в формате d01, что бы связать данные из файла d01 и данные чертежа и создать новые строки в таблицах БД ACCESS используется программа FME Desktop (Converter/Translator). Как я поняла, эта программа будит необходима для дальнейшей работы со всеми входящими, новыми данными, для их интеграции в Oracle spatial. Другие форматы(не dxf) нам не предостовляют. Возможно вы правы, я спорить не будут, ни как, не компетентна в этом вопросе на данный момент. Мне нужно пару дней на изучение этой стороны вопроса, изменения, которые сейчас происходят в ГИС для меня новы...и нас отправили на длииинные выходные.
Цитата:
Сообщение от trir Посмотреть сообщение
"Каждые 2 недели нужно обновлять информацию на чертеже" - Зачем? Используя FDO мы всегда будем иметь актуальные данные в чертеже.
Я наверное не правильно выразилась, обновлять данные в Oracle spatial и затем autocad map 3d необходимо производит манипуляции с земельными участками, для приведения данных к требованиям по ведению земельного кадастра.
Anta вне форума  
 
Непрочитано 30.12.2012, 04:11
#26
trir


 
Регистрация: 18.12.2010
Сообщений: 3,464


5. формат d01???
6. Map 3D (FDO) - это лишь интерфейс для редактирования пространственных и атрибутивных данных в БД.

Update.1 FME Desktop - мощная штука. А насчёт "ловли блох" - я бы делал это ДО импорта данных в БД, благо инструментов хватает.

Последний раз редактировалось trir, 30.12.2012 в 04:20.
trir вне форума  
 
Автор темы   Непрочитано 30.12.2012, 08:00
#27
Anta


 
Регистрация: 05.12.2012
Сообщений: 11


Цитата:
Сообщение от trir Посмотреть сообщение
5. формат d01???
в нашем случае это текстовый файл, похож на .csv, разделитель текста- точка с запятой, эти данные отправляются в access, в будущем в oracle.
Цитата:
Сообщение от trir Посмотреть сообщение
6. А насчёт "ловли блох" - я бы делал это ДО импорта данных в БД
в некоторых случаях не возможно, так как есть моменты, которые не касаются именно чертежа, но касаются земельного участка, как единицы собственноси...а потом уже это отражается на чертеже: анализ получившейся картины земельного реестра для оценки собственности-> принятие решения->отражение в гис.
К примеру, у вас есть земельный участок, разделенный дорогой, с одной стороны стоит жилой дом, а на другой стороне улицы ваш садовый участок или просто кусок пустой земли. Нужно принять решение: это 2 единицы собственности или все таки одна. Это решение принимает не чертежник, это не в его компетенции, если решение принято, что это все таки 1 единица собсвенности, состоящая из 2х участков, то это нужно отобразить на чертеже (в oracle), для этого служит просто линия, соединяющая эти 2 участка через дорогу, но ее нужно указать. Вот такие заморочки, это всего лишь один пример "ловли блох". Проверка реализована в процедуре pl/sql, грубо говоря, берем геометрию этих двух участков, ищим линию в БД, существует ли она, та самая, координаты начала и конца, которой совпадают с "координатами" этих двух участков, ага, такая линия не существует, тогда заносим id объекта-полигона (змельного участка) в Таблицу 1.
Anta вне форума  
 
Непрочитано 30.12.2012, 10:07
#28
trir


 
Регистрация: 18.12.2010
Сообщений: 3,464


А не проще тогда, сохранить эти два участка как multipolygon и не плодить лишних общностей?
Изучите OGC-SFA:
http://gis-lab.info/docs/ogc-sfa1-v1.pdf
trir вне форума  
 
Непрочитано 30.12.2012, 11:16
#29
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 11,107


Цитата:
Работаем с земельными планами: участки земли представлены как полигоны, имеются названия улиц, адреса домов (текст), полигоны границ города и тп ( в общей сложности для каждого города на чертеже автокад присутствует от 30 до 60 слоев, иногда больше
Ну точно - изобретаете велосипед, причем не подозревая, что "колесо" уже изобретено.

При этом за основу берете менее всего пригодный для ГИС инструмент - AutoCAD. Так уж исторически сложилось - фирма Autodesk проспала начало развития ГИС. При этом она по-прежнему всё связыает со своим форматом.
Вот и вы туда же:
Цитата:
в общей сложности для каждого города на чертеже автокад присутствует от 30 до 60 слоев, иногда больше). На данный момент работаем в autocad 2004 + MS access.
Так пытались делать 20 лет назад. В том числе и я - делали ГИС на базе AutoCAD. Оттого что вместо Access будете использовать Oracle принципиально ничего не изменится.

Сейчас 2012 год заканчивается. Программ для ГИС множество. Есть очень дорогие, есть средней стоимости, есть бесплатные (но пока убогие). Есть и такие, которые даже студенту по карману.

И уж с земельными-то участками всё давно решено. "Земели" пользуются ObjectLand. Очень неплохая российская ГИС. И недорогая. Пробная версия отличается только впечатыванием логотипа в карту. Можно очень хорошо ознакомиться. Все ваши задачи там решены. А какие-то дополнительные (специфичные) легко решаются программированием уже в самой ObjectLand на любом языке - там открытая модель.
Надо только один раз переконвертировать старые данные.

Разумеется, есть и другие продукты. Из российских - ГИС Панорама, ИнГЕО. Про продукты ESRI уж не говорю - можно всё. Но дороговато.

Уходите вообще от графического формата, тем более от такого, как DWG. Продукты Autodesk великолепны для черчения, но не для "информирования". Всё, что фирма сделала в этом направлении - жалкие попытки показать - "и у нас тоже можно...".
ShaggyDoc вне форума  
 
Непрочитано 30.12.2012, 11:44
#30
trir


 
Регистрация: 18.12.2010
Сообщений: 3,464


Не надо, Map 3D - вполне себе ГИС, спокойно тегается с MapInfo, а все отечественные подделки уделывает в лёгкую.
- Вы не любите кошек? Вы просто не умеете их готовить!
trir вне форума  
 
Непрочитано 30.12.2012, 19:07
#31
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 11,107


Цитата:
Map 3D - вполне себе ГИС, спокойно тегается с MapInfo
Это для тех, кто не знает, что такое настоящая ГИС. "Кому и кобыла невеста" (С). С Mapinfo тягаться - всё равно, что с "запорожцем". В Mapinfo я работаю много лет, в ней есть кое-что лучше, чем в других ГИС. Но это всё-таки настольный однопользовательский продукт с примитивнейшей системой хранения информации.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 30.12.2012, 21:03
#32
Anta


 
Регистрация: 05.12.2012
Сообщений: 11


Цитата:
Сообщение от trir Посмотреть сообщение
А не проще тогда, сохранить эти два участка как multipolygon и не плодить лишних общностей?
До нынешних пор так и было, мультиполигон для "разбитой" единицы собственности. Я предполагала, что перейдя в oracle spatial полигоны сохранятся, но разработчик БД говорит, что нет....хотя наличие полигонов очень упрощало работу и проверку на "мух", но увы я не нахожусь в позиции с ним спорить...Вместо полигонов теперь линии, и имеется идентификатор, что бы определить, линия относится к единице собственности или к отдельному участку земли в этой единице.
Вместо Autocad map3d предполагалась использовать ESRI (как я поняла), но финансовые затраты на эту систему...вообщем принято решение использовать map3d.
Планы в Autocad map3d все еще необходимы, так как необходимо их предостовлять для муниципалитетов, а Oracle spatial нам очень полезен, так как информация хранящаяся в БД будит служить источником для другой системы, которая служит уже не для хранения геометрии, а именно данных земельного реестра. БД oracle и система земельного реестра будут в непосредственном взаимодествии для контроля качества данных.
Цитата:
Сообщение от ShaggyDoc
Ну точно - изобретаете велосипед, причем не подозревая, что "колесо" уже изобретено.
Почему изобретаем? Ведь задача сведется к тому, что имеющиеся данные ,с помощью FME, будут интегрированны в Oracle, производится необходимая коррекция процесса интеграции новых данных в БД оракл, и для визуального пердставления (изменения после принятия решения) и печати планов используется map3d. Возможно, так как я не являюсь специалистом ГИС , мне трудно судить об этом, но моя задача разработка функций ПО для конкретной задачи, если поставленную задачу не имеет возможности решить через VB net, то мне нужно найти альтернативное решение. И я рада любой информации и помощи. На данном этапе ознакомляюсь с программированием "через netload", но похоже это не та "дорога", задача, вероятно решается через технологию COM на vb net либо, как упомянули ранее через FDO, находясь в самом map3d.
Кстати, всех с наступющим Новым Годом! Всех Вам благ!!!

Последний раз редактировалось Anta, 30.12.2012 в 21:24.
Anta вне форума  
 
Непрочитано 31.12.2012, 07:35
#33
trir


 
Регистрация: 18.12.2010
Сообщений: 3,464


1. В OS есть MULTIPOLYGON:
http://docs.oracle.com/cd/E11882_01/...ma.htm#autoId1

"DL07 - MULTIPOLYGON or MULTISURFACE - Geometry can have multiple, disjoint polygons (more than one exterior boundary). or surfaces (MULTIPOLYGON is a superset of POLYGON, and MULTISURFACE is a superset of SURFACE.)"

2. Забудьте про COM

3. Порядок экспорта в ГИС
http://docs.autodesk.com/MAP/2012/EN...8F67380BD1.htm
trir вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > реализация задачи visual studio2012 (visual basic .net) autocad 2012, oracle11g

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интеграция Autodesk СПДС в AutoCAD 2012 bolotov Прочее. Программное обеспечение 24 07.01.2013 20:22
Запуск AutoCAD 2012, Inventor 2012 под пользователем DonVik AutoCAD 7 28.02.2012 01:57
Информация по идентификационным кодам программ в сетевых лицензиях Autodesk KSI AutoCAD 1 14.09.2009 15:59
Visual Basic + AutoCAD 2006 = FATAL ERROR evgm Программирование 6 03.04.2009 13:40