W ArcToolbox jest kilka fajnych funkcji, których możemy użyć, ale z jakiegoś powodu NIE działa ono poprawnie. To nawet nie rzuca mi błędu.
Moje oprogramowanie działa w ArcMap, więc nie trzeba ponownie inicjować Ao, prawda?
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");
}
To jest przykład kodu, który mam tutaj. Wygenerowałem zestaw narzędzi DataManagement, ale nie mogłem znaleźć pliku do podpisania.
Ten kod po prostu daje mi błąd. czy to z powodu podpisania?
Próbowałem też w drugą stronę, używając IVariantArray i dzwoniąc z nazwy narzędzia, bez powodzenia. Czy to tylko ja czy ...?
Czy ktoś może wskazać mi „ładniejsze” rozwiązanie? Muszę uruchomić kilka procesów, które są już wbudowane w ArcToolbox, których tak naprawdę nie chcę powielać.