Страница 1 из 1

Использование инструмента из ArcObjects .Net C#

Добавлено: 24 апр 2013, 06:41
perplexed
Делаю Add-in для ArcMap 10.1
Нужно чтобы add-in производил классификацию снимка инструментом IsoCluster.

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

 Geoprocessor GP = new Geoprocessor();
// Set workspace environment
GP.SetEnvironmentValue("workspace", @"C:\Users\user\Documents\ArcGIS\Default.gdb");
// Initialize the Tool
IsoCluster clusterTool = new IsoCluster();

clusterTool.number_classes = 5;
 
clusterTool.in_raster_bands = [b]???[/b]


// Execute
GP.Execute(clusterTool, null);
В Documentation API сказано это просто object
В Snippets я не нашел ни одного примера с этим свойством
Есть ли по ArcObjects на русском? я нашел только одну.
Помогите с данным примером - Что туда подставить имея локальный адрес файла?

Re: Использование инструмента из ArcObjects .Net C#

Добавлено: 24 апр 2013, 08:18
perplexed
Получилося :)

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

Geoprocessor GP = new Geoprocessor();
            // Set workspace environment
            GP.SetEnvironmentValue("workspace", @"C:\Users\user\Documents\ArcGIS\Default.gdb");
            // Initialize the Tool
            IsoClusterUnsupervisedClassification clusterTool = new IsoClusterUnsupervisedClassification();
            
            IRasterWorkspace ws = OpenRasterWorkspace(@"C:\Users\user\Desktop\Europe_2_05.2012095.aqua.721.250m");
            IRasterDataset rasterDataset = ws.OpenRasterDataset("Europe_2_05.2012095.aqua.721.250m.jpg");
            clusterTool.Input_raster_bands = rasterDataset;
            clusterTool.Number_of_classes = 3;// Convert.ToInt16(textBox3.Text);
            
            // Execute the buffer
            GP.Execute(clusterTool, null);

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

        IRasterWorkspace OpenRasterWorkspace(string filePath)
        {
            IWorkspaceFactory wsFactory = new RasterWorkspaceFactory();
            IRasterWorkspace ws = (IRasterWorkspace)wsFactory.OpenFromFile(filePath, 0);
            return ws;
        }

Re: Использование инструмента из ArcObjects .Net C#

Добавлено: 24 апр 2013, 10:12
dwarwood
раз получилось - иконку в первом посте сделайте == Done

Re: Использование инструмента из ArcObjects .Net C#

Добавлено: 24 апр 2013, 11:31
novice
perplexed, можете, пожалуйста, поделиться опытом использования геопроцессора.
Собственно интересует разница в быстродействии между ArcObjects и geaprocessor. Например, на задаче формирования карты из данных, разница составляет более порядка(пару дней и 3 часа). Правда, сравнение может быть не совсем корректным, т.к. для ArcObjects данные распределялись между множеством процессов.