In ArcToolbox ci sono alcune funzioni interessanti che possiamo usare, ma per qualche ragione NON funziona correttamente. Non mi lancia nemmeno un errore.
Il mio software funziona all'interno di ArcMap, quindi non è necessario eseguire nuovamente AoInitialize, correggilo?
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");
}
Questo è un esempio di codice che sto avendo qui. Ho generato l'assemblaggio degli strumenti DataManagement, ma non sono riuscito a trovare il file per firmarlo.
Questo codice mi dà solo un errore. è a causa della firma?
Ho provato anche dall'altra parte, usando IVariantArray e chiamando dal nome dello strumento, senza successo. Sono solo io o ...?
Qualcuno può indicarmi una soluzione "più bella"? Ho bisogno di eseguire diversi processi che sono già integrati in ArcToolbox che non voglio davvero duplicare.