Страница 1 из 5
					
				Вопросы по разработке инструментов в ArcGIS 9.3
				Добавлено: 16 ноя 2011, 22:52
				 Алексей Дорофеев
				Здравствуйте.
Разрабатываю инструмент для ArcGIS 9.3 (ArcMap), позволяющий производить определённые манипуляции с отображаемыми на экране данными. На стадии разработки кода возникли два небольших вопроса технического характера:
1. Предполагается, что когда инструмент будет вынесен на панель Tools, при его выборе на экране будет открываться форма, одним из компонентов которой является таблица для отображения задействованных данных (по аналогии с тем, как, например, реализована таблица для списка исходных слоёв в форме инструмента Merge). Так вот, вопрос, собственно, заключается в том, как это сделать с помощью средств программирования, предоставляемых ArcGIS 9.3? Сама проблема состоит в следующем: в Toolbox'е дизайнера форм ArcGIS 9.3 не нахожу компонента для реализации таблицы такого типа.
2. С помощью VBA, встроенного в ArcMap, уже создан модуль класса (Class Module) с реализацией действий, которые будут выполняться при использовании инструмента. Модуль класса был написан по инструкции в ArcGIS Developer Help, однако в качестве последнего шага инструкции там рекомендуется каким-то образом зарегистрировать созданный инструмент посредством ESRI Mx Commands ("Register the SampleTool to the ESRI Mx Commands component category"). Здесь вопрос, собственно, заключается в том, как и для чего это делается? Как я понимаю, эта так называемая "регистрация" определённым образом связана с размещением инструмента на панели; но так ли это? И вообще - как разместить инструмент на панели Tools?
Спасибо.
			 
			
					
				Re: Вопросы по разработке инструментов в ArcGIS 9.3
				Добавлено: 17 ноя 2011, 04:50
				 Serp
				На всякий случай стоило бы сходить на 
http://www.dataplus.ru/Forum/forum_topics.asp?FID=18
там все таки дилеры и арквьшников много.
 
			 
			
					
				Re: Вопросы по разработке инструментов в ArcGIS 9.3
				Добавлено: 17 ноя 2011, 08:24
				 Дмитрий Барышников
				1) Используйте стандартные элементы управления Windows
2) Созданный VBA макрос ищите в настройке панелей и выносите на любую панель которую пожелаете.
			
		
				
			
 
						- makros.jpg (30.1 КБ) 12932 просмотра
 
		
		
		
			 
Пошаговые инструкции по программированию на VB
http://edndoc.esri.com/arcobjects/8.3/G ... ugh1vb.htm
http://edndoc.esri.com/arcobjects/8.3/G ... ugh2vb.htm 
			 
			
					
				Re: Вопросы по разработке инструментов в ArcGIS 9.3
				Добавлено: 17 ноя 2011, 14:47
				 Алексей Дорофеев
				Спасибо за ссылки, да, это именно то, что нужно, но при попытке реализации возникла следующая проблема: созданный проект почему-то не видит упомянутое в этой инструкции пространство имён ESRI.ArcObjects.Core, и, соответственно, интерфейс ICommand. В списке окна Add Reference выходит много пространств имён, начинающихся с ESRI.ArcGIS.*, а вот насчёт ESRI.ArcObjects.* - нет ничего. Пробовал поиск по всему содержимому диска - файлов с именами на ESRI.ArcObjects.* действительно нигде нет.
В чём здесь может быть дело? Может быть, в том, что ArcGIS установлен не до конца? Или, может быть, всё зависит от версии ArcGIS, и в разных версиях этот компонент может называться по-разному?
На возможный вопрос о том, какие версии чего у меня стоят, отвечу сразу - ArcGIS 9.3.0.1770, Visual Studio 2005 и Windows 7 

 
			 
			
					
				Re: Вопросы по разработке инструментов в ArcGIS 9.3
				Добавлено: 17 ноя 2011, 15:42
				 Дмитрий Барышников
				ESRI.ArcGIS.Core не то?
			 
			
					
				Re: Вопросы по разработке инструментов в ArcGIS 9.3
				Добавлено: 17 ноя 2011, 17:48
				 Алексей Дорофеев
				И такого, увы, нет 

 
			 
			
					
				Re: Вопросы по разработке инструментов в ArcGIS 9.3
				Добавлено: 17 ноя 2011, 19:02
				 Дмитрий Барышников
				ESRI.ArcGIS.SystemUI лежит в \Program Files\ArcGIS\com\esriSystemUI.olb
Если уж и это не подойдет, то я теряюсь в догадках.
			 
			
					
				Re: Вопросы по разработке инструментов в ArcGIS 9.3
				Добавлено: 17 ноя 2011, 19:08
				 Алексей Дорофеев
				Подошло! 

 Двигаюсь дальше.
Как же всё везде по-разному называется...
 
			 
			
					
				Re: Вопросы по разработке инструментов в ArcGIS 9.3
				Добавлено: 17 ноя 2011, 19:22
				 Алексей Дорофеев
				Кстати говоря, а есть ли вообще в ArcGIS 9.3 такой инструмент (или что-то похожее): выбирается растровый слой, и при щелчке на экране мышью значение соответствующей ячейки растра записывается в специальную буферную таблицу, и при завершении работы на основе созданной таким образом таблицы-массива строится новый точечный (Point) слой? Или я зря стараюсь?
			 
			
					
				Re: Вопросы по разработке инструментов в ArcGIS 9.3
				Добавлено: 17 ноя 2011, 21:32
				 Дмитрий Барышников
				
			 
			
					
				Re: Вопросы по разработке инструментов в ArcGIS 9.3
				Добавлено: 17 ноя 2011, 23:03
				 Алексей Дорофеев
				То есть я правильно понимаю, что в той теме по ссылке обсуждается программирование инструмента, действие которого в каком-то смысле аналогично действию инструмента Identify на панели иструментов Tools в ArcMap ArcGIS 9.3?
			 
			
					
				Re: Вопросы по разработке инструментов в ArcGIS 9.3
				Добавлено: 17 ноя 2011, 23:18
				 pooperec
				В "коробке" такого нету. 
Можно создавать точечный слой, а потом по нему выбирать значения из растрового и записывать в поле точечного.  Тут Вам в помощь прийдет моделбилдер.
			 
			
					
				Re: Вопросы по разработке инструментов в ArcGIS 9.3
				Добавлено: 18 ноя 2011, 11:29
				 Алексей Дорофеев
				Возник ещё один вопрос: код не понимает идентификаторов IApplication и IMxApplication, подчёркивая их синим и сопровождая комментарием "Type 'IApplication' is not defined." Пока заменил и то, и другое на ApplicationId. Вопрос только в том, правильно ли это? Всё же IApplication и IMxApplication - разные классы...
P.S. IMxDocument тоже вот не распознаётся...
			 
			
					
				Re: Вопросы по разработке инструментов в ArcGIS 9.3
				Добавлено: 18 ноя 2011, 12:36
				 Дмитрий Барышников
				описание IMxDocument см. в ESRI.ArcGIS.ArcMapUI
описание IApplication cм. в ESRI.ArcGIS.Framework
описание IMxApplication см. в ESRI.ArcGIS.ArcMapUI
То есть я правильно понимаю, что в той теме по ссылке обсуждается программирование инструмента, действие которого в каком-то смысле аналогично действию инструмента Identify на панели иструментов Tools в ArcMap ArcGIS 9.3?
И да, и нет. Там надо было высоту в точке узнать, у вас цвет растра.
 
			 
			
					
				Re: Вопросы по разработке инструментов в ArcGIS 9.3
				Добавлено: 18 ноя 2011, 12:40
				 Алексей Дорофеев
				Bishop писал(а):описание IMxDocument см. в ESRI.ArcGIS.ArcMapUI
описание IApplication cм. в ESRI.ArcGIS.Framework
описание IMxApplication см. в ESRI.ArcGIS.ArcMapUI
Спасибо! 

 Буду теперь поиском по каталогу смотреть, чтобы не задавать здесь однотипных вопросов 
Bishop писал(а):И да, и нет. Там надо было высоту в точке узнать, у вас цвет растра
В общем, на этот счёт меня интересует вопрос такого плана: как я уже написал выше, разрабатываю инструмент, работа которого предполагается, что будет заключаться в следующем: на основе "тыканья" мышкой по растру формируется массив точек со значениями параметра, после чего создаётся новый точечный слой с этим массивом в качестве таблицы атрибутов (либо выбранные точки добавляются в существующий). Ну понятно, что желание + терпение + упорство - и напишу 

 Но только вопрос в том, не будет ли то, что я разработаю, "велосипедом"?