Страница 1 из 1
Считать данные из слоя
Добавлено: 11 янв 2012, 14:35
Kudman
Всем здравствуйте!
Мой вопрос уже был задан, но ответа я не получил, подскажите пожалуйста!
Выбираю инструментом объект на карте, данные об этом объекте выводятся в стандартное диалоговое окно предусмотренное работой кнопки Identify.
Как выводить эти же данные об объекте в свое диалоговое окно?
Как выводить в свое диалоговое окно не все подряд данные из таблицы, а только определенные поля?
Спасибо.
Re: Считать данные из слоя
Добавлено: 11 янв 2012, 14:46
Шаки
не отвечают т.к. алгоритм думаю Вы и сами знаете, а писать макрос за Вас вряд ли кто будет
Алгоритм
1)создайте инстумент уиконтрол
2)на его метод маус даун повесте определения объекта на котором был произведен клик мышы, установите его селект(где то на этом этапе Ваша макрос знает с какой таблицы и какая запись)
3) выберете из его таблицы содержания нужные поля и выводите их в свою форму
Это мой алгоритм, можно и по другому
Re: Считать данные из слоя
Добавлено: 12 янв 2012, 11:36
Kudman
Да, алгоритм понятен спасибо, просто хотелось бы разъяснения, на что обратить внимание и что исправить, привожу кусок кода, если кто может подсказать, я не знаю как получить на выходе не все данные, а например поле ID, и как получить имя слоя который он нашел, pLayer.Name не печатается Спасибо. Я совсем новичок в этом деле
Код: Выделить всё
Dim pActiveView As IActiveView
Dim Form_Info As IIdentifyDialog
Dim pIdentifyDialogProps As IIdentifyDialogProps
Dim pEnumLayer As IEnumLayer
pActiveView = m_pMxDoc.FocusMap
Form_Info = New IdentifyDialog
pIdentifyDialogProps = Form_Info
Form_Info.Map = m_pMxDoc.FocusMap
Form_Info.Display = pActiveView.ScreenDisplay
Form_Info.ClearLayers()
pEnumLayer = pIdentifyDialogProps.Layers
pEnumLayer.Reset()
pLayer = pEnumLayer.Next
Do While Not pLayer Is Nothing
Form_Info.AddLayerIdentifyPoint(pLayer, X, Y)
pLayer = pEnumLayer.Next
Loop
Re: Считать данные из слоя
Добавлено: 13 янв 2012, 01:15
Дмитрий Барышников
Приведенный код не соответствует предложенному выше алгоритму.
Ваш цикл перебирает среди слоев доступных к выборке в диалоге идентификации.
См.
http://edndoc.esri.com/arcobjects/9.2/C ... gprops.htm