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

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

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

Ответ
Поиск в этой теме
Непрочитано 05.12.2012, 04:42
реализация задачи 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. Спасибо!
Просмотров: 13130
 
Автор темы   Непрочитано 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
Сообщений: 5,051


Не зная вашей "кухни" - я, право, теряюсь и не могу предложить вам оптимальное решение. Может расскажите "общую картину"?
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
Сообщений: 5,051


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
Сообщений: 5,051


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
Сообщений: 5,051


А не проще тогда, сохранить эти два участка как 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"В
Сообщений: 13,381


Цитата:
Работаем с земельными планами: участки земли представлены как полигоны, имеются названия улиц, адреса домов (текст), полигоны границ города и тп ( в общей сложности для каждого города на чертеже автокад присутствует от 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
Сообщений: 5,051


Не надо, 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"В
Сообщений: 13,381


Цитата:
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
Сообщений: 5,051


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