Вопросы по разработке инструментов в ArcGIS 9.3

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).

Алексей Дорофеев
Участник
Сообщения: 98
Зарегистрирован: 20 ноя 2010, 14:37
Репутация: 0

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Сообщение Алексей Дорофеев » 20 мар 2012, 13:26

Bishop писал(а):http://edndoc.esri.com/arcobjects/9.2/N ... ed7d14.htm
Не совсем ясно, как реализуется это:
The simplest and recommended method is to add code to your .NET classes that automatically registers the classes in a particular component category when the component is registered with COM.
By using the ArcGIS Component Category Registrar dialog box, which is part of the Visual Studio IDE Integration Framework, you can quickly add code to your classes, which automatically registers them to component categories. This dialog box uses classes from the ESRI.ArcGIS.ADF assembly to help perform the registrations
Куда нужно заходить?

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

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Сообщение Дмитрий Барышников » 20 мар 2012, 22:06

Я не пишу на Net. В случае чистого Си++ делается запись в rgs файл (http://edndoc.esri.com/arcobjects/9.0/) и все.
Нашел аналогичный вариант для Net - http://edndoc.esri.com/arcobjects/9.0/A ... gories.htm
Я так понимаю это пишется в начале класса.
Еще есть пошаговая инструкция http://edndoc.esri.com/arcobjects/9.0/
читайте раздел "Adding COM category registration functions"

Алексей Дорофеев
Участник
Сообщения: 98
Зарегистрирован: 20 ноя 2010, 14:37
Репутация: 0

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Сообщение Алексей Дорофеев » 23 ноя 2012, 21:56

Alexei24 писал(а):1. Предполагается, что когда инструмент будет вынесен на панель Tools, при его выборе на экране будет открываться форма, одним из компонентов которой является таблица для отображения задействованных данных (по аналогии с тем, как, например, реализована таблица для списка исходных слоёв в форме инструмента Merge). Так вот, вопрос, собственно, заключается в том, как это сделать с помощью средств программирования, предоставляемых ArcGIS 9.3? Сама проблема состоит в следующем: в Toolbox'е дизайнера форм ArcGIS 9.3 не нахожу компонента для реализации таблицы такого типа.
Поднимаю этот давно заданный вопрос. Как можно узнать, с помощью какого компонента реализована таблица входных наборов данных в инструменте Merge?
Дмитрий Барышников писал(а):описание IMxDocument см. в ESRI.ArcGIS.ArcMapUI
описание IApplication cм. в ESRI.ArcGIS.Framework
описание IMxApplication см. в ESRI.ArcGIS.ArcMapUI
И ещё вопрос по этому поводу: а где находится IPictureDisp?

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

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Сообщение Дмитрий Барышников » 23 ноя 2012, 22:59

Можно скриншот нужного вам элемента: (по аналогии с тем, как, например, реализована таблица для списка исходных слоёв в форме инструмента Merge). А то не понятно о чем речь.

Откуда взялся интерфейс IPictureDisp - это какой-то параметр известной функции или что?

Алексей Дорофеев
Участник
Сообщения: 98
Зарегистрирован: 20 ноя 2010, 14:37
Репутация: 0

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Сообщение Алексей Дорофеев » 24 ноя 2012, 13:50

Дмитрий Барышников писал(а):Можно скриншот нужного вам элемента: (по аналогии с тем, как, например, реализована таблица для списка исходных слоёв в форме инструмента Merge). А то не понятно о чем речь
Изображение
Собственно, интересует таблица.
Дмитрий Барышников писал(а):Откуда взялся интерфейс IPictureDisp - это какой-то параметр известной функции или что?
Это интерфейс иконки приложения и курсора. Вот выдержка из примера кода для ITool в ArcGIS Developer Help:

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

Implements ICommand
 Implements ITool
 
 Dim m_pApp As IApplication      'ArcMap application
 Dim m_pBitmap As IPictureDisp       'Bitmap for the command
 Dim m_pCursor As IPictureDisp       'Cursor for the command

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

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Сообщение Дмитрий Барышников » 24 ноя 2012, 22:32

По поводу IPictureDisp - это стандартный COM интерфейс из Windows.
http://msdn.microsoft.com/ru-ru/library ... s.85).aspx
К ESRI имеет опосредованное отношение.

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

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Сообщение Дмитрий Барышников » 24 ноя 2012, 22:46

Элементы диалога геопроцессинга содержатся в этой библиотеке: http://edndoc.esri.com/arcobjects/9.1/C ... ibrary.htm

Какой конкретно соответствует я с ходу не нашел. Возможно не существует публичного интерфейса для данного контрола.

Алексей Дорофеев
Участник
Сообщения: 98
Зарегистрирован: 20 ноя 2010, 14:37
Репутация: 0

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Сообщение Алексей Дорофеев » 25 ноя 2012, 12:29

Дмитрий Барышников писал(а):Элементы диалога геопроцессинга содержатся в этой библиотеке: http://edndoc.esri.com/arcobjects/9.1/C ... ibrary.htm
Спасибо! Буду разбираться :)

Алексей Дорофеев
Участник
Сообщения: 98
Зарегистрирован: 20 ноя 2010, 14:37
Репутация: 0

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Сообщение Алексей Дорофеев » 03 дек 2012, 21:22

Подниму, пожалуй, и описание работы инструмента:
разрабатываю инструмент, работа которого предполагается, что будет заключаться в следующем: на основе "тыканья" мышкой по растру формируется массив точек со значениями параметра, после чего создаётся новый точечный слой с этим массивом в качестве таблицы атрибутов (либо выбранные точки добавляются в существующий)
Собственно, вопрос в том, а с помощью каких функций можно всё это запрограммировать? Или даже - где нужно искать эти функции, в каком разделе? Ещё более конкретно - в каком разделе находятся функции для работы с экраном и формами?

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

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Сообщение Дмитрий Барышников » 03 дек 2012, 22:20

С экраном: http://edndoc.esri.com/arcobjects/9.2/C ... erview.htm
А формы по всему API разбросаны. Обычно в конце библиотеки пишется UI (user interface). Например, http://edndoc.esri.com/arcobjects/9.2/C ... erview.htm

Возможно еще вот в это теме есть что-то похожее viewtopic.php?f=16&t=8806

Алексей Дорофеев
Участник
Сообщения: 98
Зарегистрирован: 20 ноя 2010, 14:37
Репутация: 0

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Сообщение Алексей Дорофеев » 10 дек 2012, 15:03

Как вообще запрограммировать открытие формы (из файла) при нажатии на значок инструмента на панели? Через IGxDialog?

Алексей Дорофеев
Участник
Сообщения: 98
Зарегистрирован: 20 ноя 2010, 14:37
Репутация: 0

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Сообщение Алексей Дорофеев » 21 дек 2012, 09:43

Alexei24 писал(а):Как вообще запрограммировать открытие формы (из файла) при нажатии на значок инструмента на панели? Через IGxDialog?
Вопрос решён. Следующий момент, казалось бы, простой, но всё же решил проконсультироваться: нужно, при нажатии правой кнопкой мыши на экране ArcMap в соответствующем месте отображалась точка. Как это можно сделать?

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

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Сообщение Дмитрий Барышников » 22 дек 2012, 14:20

Если просто точку то: IDisplay::DrawPoint (esriDisplay)
А вот если добавить точку в какой-то точечный слой, то IFeatureClass::CreateFeature (esriGeoDatabase)

Алексей Дорофеев
Участник
Сообщения: 98
Зарегистрирован: 20 ноя 2010, 14:37
Репутация: 0

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Сообщение Алексей Дорофеев » 24 дек 2012, 15:43

Дмитрий Барышников писал(а):Если просто точку то: IDisplay::DrawPoint (esriDisplay)
Это на C++? А на Visual Basic как?

Ответить

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

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

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