มีคุณสมบัติที่ดีบางอย่างใน ArcToolbox ที่เราสามารถใช้ได้ แต่ด้วยเหตุผลบางอย่างนี่ไม่ทำงานอย่างถูกต้อง มันไม่ได้ทำให้ฉันมีข้อผิดพลาด
ซอฟต์แวร์ของฉันทำงานใน ArcMap ดังนั้นไม่จำเป็นต้อง AoInitialize อีกครั้ง
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");
}
นี่คือตัวอย่างรหัสที่ฉันมี ฉันสร้างชุดเครื่องมือ DataManagement แต่ไม่พบไฟล์ที่จะลงชื่อ
รหัสนี้ทำให้ฉันมีข้อผิดพลาด เป็นเพราะการลงนามไหม
ฉันได้ลองใช้วิธีอื่นเช่นกันโดยใช้ IVariantArray และโทรจากชื่อเครื่องมือโดยไม่ต้องใช้ภาษาอื่น มันเป็นแค่ฉันหรือ ...
ใครช่วยชี้ให้ฉันเห็นวิธีการแก้ปัญหา "ดีกว่า" ฉันต้องใช้กระบวนการหลายอย่างที่สร้างขึ้นแล้วใน ArcToolbox ซึ่งฉันไม่ต้องการทำซ้ำ