Existem alguns recursos interessantes no ArcToolbox que podemos usar, mas por algum motivo, isso NÃO está funcionando corretamente. Nem me lança um erro.
Meu software está rodando no ArcMap, então não é necessário AoInitialize novamente, corret?
public void Execute()
{
InitializeProduct();
try
{
Geoprocessor gp = new Geoprocessor();
gp.OverwriteOutput = true;
FeatureToPoint featureToPoint = new FeatureToPoint();
string outputPathName = CurrentWorkspace.PathName + "\\teste_centroide";
featureToPoint.in_features = InputFeatureClass;
featureToPoint.out_feature_class = outputPathName;
featureToPoint.point_location = "INSIDE";
IGeoProcessorResult result = (IGeoProcessorResult)gp.Execute(featureToPoint, null);
if (result == null)
{
for (int i = 0; i <= gp.MessageCount - 1; i++)
{
Console.WriteLine(gp.GetMessage(i));
}
}
IGPUtilities gpUtils = new GPUtilitiesClass();
this.OutputFeatureClass = gpUtils.OpenFeatureClassFromString(outputPathName);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + "\r\n");
}
Este é um exemplo de código que estou tendo aqui. Gerei o conjunto de ferramentas DataManagement, mas não consegui encontrar o arquivo para assiná-lo.
Este código apenas me dá um erro. é por causa da assinatura?
Também tentei o contrário, usando IVariantArray e chamando a partir do nome da ferramenta, sem sucesso. Sou só eu ou ...?
Alguém pode me apontar uma solução "melhor"? Preciso executar vários processos já construídos no ArcToolbox que realmente não quero duplicar.