Считать данные из слоя

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Kudman
Новоприбывший
Сообщения: 10
Зарегистрирован: 08 дек 2011, 18:14
Репутация: 0

Считать данные из слоя

Сообщение Kudman »

Всем здравствуйте!
Мой вопрос уже был задан, но ответа я не получил, подскажите пожалуйста!
Выбираю инструментом объект на карте, данные об этом объекте выводятся в стандартное диалоговое окно предусмотренное работой кнопки Identify.
Как выводить эти же данные об объекте в свое диалоговое окно?
Как выводить в свое диалоговое окно не все подряд данные из таблицы, а только определенные поля?
Спасибо.
Аватара пользователя
Шаки
Активный участник
Сообщения: 187
Зарегистрирован: 02 июл 2008, 11:57
Репутация: 1
Контактная информация:

Re: Считать данные из слоя

Сообщение Шаки »

не отвечают т.к. алгоритм думаю Вы и сами знаете, а писать макрос за Вас вряд ли кто будет
Алгоритм
1)создайте инстумент уиконтрол
2)на его метод маус даун повесте определения объекта на котором был произведен клик мышы, установите его селект(где то на этом этапе Ваша макрос знает с какой таблицы и какая запись)
3) выберете из его таблицы содержания нужные поля и выводите их в свою форму

Это мой алгоритм, можно и по другому
Kudman
Новоприбывший
Сообщения: 10
Зарегистрирован: 08 дек 2011, 18:14
Репутация: 0

Re: Считать данные из слоя

Сообщение Kudman »

Да, алгоритм понятен спасибо, просто хотелось бы разъяснения, на что обратить внимание и что исправить, привожу кусок кода, если кто может подсказать, я не знаю как получить на выходе не все данные, а например поле ID, и как получить имя слоя который он нашел, pLayer.Name не печатается Спасибо. Я совсем новичок в этом деле :D

Код: Выделить всё

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
Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Считать данные из слоя

Сообщение Дмитрий Барышников »

Приведенный код не соответствует предложенному выше алгоритму.
Ваш цикл перебирает среди слоев доступных к выборке в диалоге идентификации.
См. http://edndoc.esri.com/arcobjects/9.2/C ... gprops.htm
Ответить

Вернуться в «ArcGIS»

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

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