本文整理汇总了C#中Geoprocessor.GetMessages方法的典型用法代码示例。如果您正苦于以下问题:C# Geoprocessor.GetMessages方法的具体用法?C# Geoprocessor.GetMessages怎么用?C# Geoprocessor.GetMessages使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Geoprocessor
的用法示例。
在下文中一共展示了Geoprocessor.GetMessages方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ClipRaster
public static void ClipRaster(string inRaster, string inClipFeature, string outTempRaster)
{
Clip clipTool = new Clip();
//set clip parameters
clipTool.in_raster = inRaster;
clipTool.out_raster = outTempRaster;
//clip extent
clipTool.in_template_dataset = inClipFeature;
Geoprocessor gp = new Geoprocessor();
gp.OverwriteOutput = true;
gp.AddOutputsToMap = false;
try
{
IGeoProcessorResult result = (IGeoProcessorResult)gp.ExecuteAsync(clipTool);
while(result.Status != esriJobStatus.esriJobSucceeded)
{
//Console.WriteLine(result.Status.ToString());
System.Threading.Thread.Sleep(100);
}
}
catch (Exception ex)
{
object level = 0;
Console.WriteLine(gp.GetMessages(ref level));
Console.WriteLine(" Failed to clip raster using ESRI clip tool " + ex.Message);
}
}
示例2: ConvertMXDToMSD
public static string ConvertMXDToMSD(string mxdfile, string convertMXDtoMSDtoolboxPath)
{
if (!File.Exists(convertMXDtoMSDtoolboxPath))
{
MessageBox.Show(string.Format("GP Toolbox {0} to convert mxd to msd is not found", convertMXDtoMSDtoolboxPath), "Convert MXD to MSD", MessageBoxButton.OK, MessageBoxImage.Error);
return null;
}
Geoprocessor gp = new Geoprocessor()
{
OverwriteOutput = true
};
gp.AddToolbox(convertMXDtoMSDtoolboxPath);
IVariantArray gpparams = new VarArrayClass();
gpparams.Add(mxdfile);
IGeoProcessorResult gpresult = null;
try
{
gpresult = gp.Execute(Properties.Settings.Default.toolname, gpparams, null) as IGeoProcessorResult;
}
catch (Exception)
{
object sev = 2;
System.Windows.MessageBox.Show(gp.GetMessages(ref sev));
return null;
}
string msdfile = ((IGPString)gpresult.GetOutput(0)).Value;
//MessageBox.Show(msdfile);
gp = null;
gpresult = null;
return msdfile;
}
示例3: Execute
//.........这里部分代码省略.........
addJoinTool.join_field = "AREA_ID";
addJoinTool.join_type = "KEEP_COMMON";
gp.Execute(addJoinTool, trackcancel);
AddMessage("Calculating the TF_" + timeZoneIDBaseFieldName + " field for left driving side roads...", messages, trackcancel);
calcFieldTool = new CalculateField();
calcFieldTool.in_table = "Streets_Layer";
calcFieldTool.field = StreetsFCName + ".TF_" + timeZoneIDBaseFieldName;
calcFieldTool.code_block = TimeZoneUtilities.MakeTimeZoneIDCode(outputFileGdbPath, TimeZonesTableName, "MtdAreaDrivingL.SortableMSTIMEZONE");
calcFieldTool.expression = "tzID";
calcFieldTool.expression_type = "VB";
gp.Execute(calcFieldTool, trackcancel);
removeJoinTool = new RemoveJoin();
removeJoinTool.in_layer_or_view = "Streets_Layer";
removeJoinTool.join_name = "MtdAreaDrivingL";
gp.Execute(removeJoinTool, trackcancel);
addJoinTool = new AddJoin();
addJoinTool.in_layer_or_view = "Streets_Layer";
addJoinTool.in_field = "R_AREA_ID";
addJoinTool.join_table = drivingRTablePath;
addJoinTool.join_field = "AREA_ID";
addJoinTool.join_type = "KEEP_COMMON";
gp.Execute(addJoinTool, trackcancel);
AddMessage("Calculating the TF_" + timeZoneIDBaseFieldName + " field for right driving side roads...", messages, trackcancel);
calcFieldTool = new CalculateField();
calcFieldTool.in_table = "Streets_Layer";
calcFieldTool.field = StreetsFCName + ".TF_" + timeZoneIDBaseFieldName;
calcFieldTool.code_block = TimeZoneUtilities.MakeTimeZoneIDCode(outputFileGdbPath, TimeZonesTableName, "MtdAreaDrivingR.SortableMSTIMEZONE");
calcFieldTool.expression = "tzID";
calcFieldTool.expression_type = "VB";
gp.Execute(calcFieldTool, trackcancel);
removeJoinTool = new RemoveJoin();
removeJoinTool.in_layer_or_view = "Streets_Layer";
removeJoinTool.join_name = "MtdAreaDrivingR";
gp.Execute(removeJoinTool, trackcancel);
deleteTool = new Delete();
deleteTool.in_data = "Streets_Layer";
gp.Execute(deleteTool, trackcancel);
deleteTool = new Delete();
deleteTool.in_data = drivingLTablePath;
gp.Execute(deleteTool, trackcancel);
deleteTool.in_data = drivingRTablePath;
gp.Execute(deleteTool, trackcancel);
}
else
{
// Create a dummy TimeZones table and a dummy Streets feature class
CreateTable createTableTool = new CreateTable();
createTableTool.out_path = outputFileGdbPath;
createTableTool.out_name = TimeZonesTableName;
gp.Execute(createTableTool, trackcancel);
CreateFeatureclass createFCTool = new CreateFeatureclass();
createFCTool.out_path = outputFileGdbPath;
createFCTool.out_name = StreetsFCName;
createFCTool.geometry_type = "POLYLINE";
gp.Execute(createFCTool, trackcancel);
}
deleteTool = new Delete();
deleteTool.in_data = mtdAreaTablePath;
gp.Execute(deleteTool, trackcancel);
// Compact the output file geodatabase
AddMessage("Compacting the output file geodatabase...", messages, trackcancel);
Compact compactTool = new Compact();
compactTool.in_workspace = outputFileGdbPath;
gp.Execute(compactTool, trackcancel);
}
catch (Exception e)
{
if (gp.MaxSeverity == 2)
{
object missing = System.Type.Missing;
messages.AddError(1, gp.GetMessages(ref missing));
}
messages.AddError(1, e.Message);
messages.AddError(1, e.StackTrace);
}
finally
{
// Restore the original GP environment settings
gpSettings.AddOutputsToMap = origAddOutputsToMapSetting;
gpSettings.LogHistory = origLogHistorySetting;
}
GC.Collect();
return;
}
示例4: Execute
//.........这里部分代码省略.........
// Extract the special explications (condition type 9) from the Rdms Table and create RoadSplits table
AddMessage("Creating RoadSplits table...", messages, trackcancel);
string specialExplicationRdmsWEndOfLkTablePath = outputFileGdbPath + "\\SpecialExplicationRdmsWEndOfLk";
tableSelectTool = new TableSelect();
tableSelectTool.in_table = rdmsTablePath;
tableSelectTool.out_table = specialExplicationRdmsWEndOfLkTablePath;
tableSelectTool.where_clause = "COND_TYPE = 9";
gp.Execute(tableSelectTool, trackcancel);
deleteTool.in_data = rdmsTablePath;
gp.Execute(deleteTool, trackcancel);
CreateRoadSplitsTable("SpecialExplicationRdmsWEndOfLk", outputFileGdbPath, messages, trackcancel);
deleteTool.in_data = specialExplicationRdmsWEndOfLkTablePath;
gp.Execute(deleteTool, trackcancel);
// Create Signpost feature class and table
AddMessage("Creating signpost feature class and table...", messages, trackcancel);
CreateSignposts(inputSignsTableValue.GetAsText(), outputFileGdbPath, messages, trackcancel);
AddSpatialIndex addSpatialIndexTool = new AddSpatialIndex();
addSpatialIndexTool.in_features = pathToFds + "\\" + SignpostFCName;
gp.Execute(addSpatialIndexTool, trackcancel);
addIndexTool = new AddIndex();
addIndexTool.in_table = outputFileGdbPath + "\\" + SignpostJoinTableName;
addIndexTool.fields = "SignpostID";
addIndexTool.index_name = "SignpostID";
gp.Execute(addIndexTool, trackcancel);
addIndexTool.fields = "Sequence";
addIndexTool.index_name = "Sequence";
gp.Execute(addIndexTool, trackcancel);
addIndexTool.fields = "EdgeFCID";
addIndexTool.index_name = "EdgeFCID";
gp.Execute(addIndexTool, trackcancel);
addIndexTool.fields = "EdgeFID";
addIndexTool.index_name = "EdgeFID";
gp.Execute(addIndexTool, trackcancel);
GC.Collect();
// Upgrade the geodatabase (if not 9.3)
if (fgdbVersion > 9.3)
{
UpgradeGDB upgradeGdbTool = new UpgradeGDB();
upgradeGdbTool.input_workspace = outputFileGdbPath;
gp.Execute(upgradeGdbTool, trackcancel);
}
// Create and build the network dataset, then pack it in a GPValue
AddMessage("Creating and building the network dataset...", messages, trackcancel);
CreateAndBuildNetworkDataset(outputFileGdbPath, fgdbVersion, fdsName, ndsName, createNetworkAttributesInMetric,
createArcGISOnlineNetworkAttributes, timeZoneIDBaseFieldName, directedTimeZoneIDFields, commonTimeZone,
usesHistoricalTraffic, trafficFeedLocation, usesTransport);
// Write the build errors to the turn feature class
TurnGeometryUtilities.WriteBuildErrorsToTurnFC(outputFileGdbPath, fdsName, TurnFCName, messages, trackcancel);
// Compact the output file geodatabase
AddMessage("Compacting the output file geodatabase...", messages, trackcancel);
Compact compactTool = new Compact();
compactTool.in_workspace = outputFileGdbPath;
gp.Execute(compactTool, trackcancel);
}
catch (Exception e)
{
if (gp.MaxSeverity == 2)
{
object missing = System.Type.Missing;
messages.AddError(1, gp.GetMessages(ref missing));
}
messages.AddError(1, e.Message);
messages.AddError(1, e.StackTrace);
}
finally
{
// Restore the original GP environment settings
gpSettings.AddOutputsToMap = origAddOutputsToMapSetting;
gpSettings.LogHistory = origLogHistorySetting;
}
GC.Collect();
return;
}
示例5: Execute
//.........这里部分代码省略.........
AddMessage("Calculating the boundary FT time zones...", messages, trackcancel);
calcFieldTool = new CalculateField();
calcFieldTool.in_table = "Streets_Layer";
calcFieldTool.field = StreetsFCName + ".FT_" + timeZoneIDBaseFieldName;
calcFieldTool.code_block = TimeZoneUtilities.MakeTimeZoneIDCode(outputFileGdbPath, TimeZonesTableName, "FT_BoundaryTimeZones.SortableMSTIMEZONE");
calcFieldTool.expression = "tzID";
calcFieldTool.expression_type = "VB";
gp.Execute(calcFieldTool, trackcancel);
removeJoinTool = new RemoveJoin();
removeJoinTool.in_layer_or_view = "Streets_Layer";
removeJoinTool.join_name = "FT_BoundaryTimeZones";
gp.Execute(removeJoinTool, trackcancel);
addJoinTool = new AddJoin();
addJoinTool.in_layer_or_view = "Streets_Layer";
addJoinTool.in_field = "ID";
addJoinTool.join_table = tfBoundaryTimeZonesPath;
addJoinTool.join_field = "ID";
addJoinTool.join_type = "KEEP_COMMON";
gp.Execute(addJoinTool, trackcancel);
AddMessage("Calculating the boundary TF time zones...", messages, trackcancel);
calcFieldTool = new CalculateField();
calcFieldTool.in_table = "Streets_Layer";
calcFieldTool.field = StreetsFCName + ".TF_" + timeZoneIDBaseFieldName;
calcFieldTool.code_block = TimeZoneUtilities.MakeTimeZoneIDCode(outputFileGdbPath, TimeZonesTableName, "TF_BoundaryTimeZones.SortableMSTIMEZONE");
calcFieldTool.expression = "tzID";
calcFieldTool.expression_type = "VB";
gp.Execute(calcFieldTool, trackcancel);
removeJoinTool = new RemoveJoin();
removeJoinTool.in_layer_or_view = "Streets_Layer";
removeJoinTool.join_name = "TF_BoundaryTimeZones";
gp.Execute(removeJoinTool, trackcancel);
deleteTool = new Delete();
deleteTool.in_data = "Streets_Layer";
gp.Execute(deleteTool, trackcancel);
deleteTool = new Delete();
deleteTool.in_data = ftBoundaryTimeZonesPath;
gp.Execute(deleteTool, trackcancel);
deleteTool.in_data = tfBoundaryTimeZonesPath;
gp.Execute(deleteTool, trackcancel);
}
else
{
// Create a dummy TimeZones table and a dummy Streets feature class
CreateTable createTableTool = new CreateTable();
createTableTool.out_path = outputFileGdbPath;
createTableTool.out_name = TimeZonesTableName;
gp.Execute(createTableTool, trackcancel);
CreateFeatureclass createFCTool = new CreateFeatureclass();
createFCTool.out_path = outputFileGdbPath;
createFCTool.out_name = StreetsFCName;
createFCTool.geometry_type = "POLYLINE";
gp.Execute(createFCTool, trackcancel);
}
deleteTool = new Delete();
deleteTool.in_data = adminFCPath;
gp.Execute(deleteTool, trackcancel);
deleteTool = new Delete();
deleteTool.in_data = adminTZFCPath;
gp.Execute(deleteTool, trackcancel);
// Compact the output file geodatabase
AddMessage("Compacting the output file geodatabase...", messages, trackcancel);
Compact compactTool = new Compact();
compactTool.in_workspace = outputFileGdbPath;
gp.Execute(compactTool, trackcancel);
}
catch (Exception e)
{
if (gp.MaxSeverity == 2)
{
object missing = System.Type.Missing;
messages.AddError(1, gp.GetMessages(ref missing));
}
messages.AddError(1, e.Message);
messages.AddError(1, e.StackTrace);
}
finally
{
// Restore the original GP environment settings
gpSettings.AddOutputsToMap = origAddOutputsToMapSetting;
gpSettings.LogHistory = origLogHistorySetting;
}
GC.Collect();
return;
}
示例6: Execute
//.........这里部分代码省略.........
CreateAndPopulateLogisticsRestrictionFields(outputFileGdbPath, "lrs_Stats", lrsSimplifiedTablePath, gp, messages, trackcancel);
deleteTool = new Delete();
deleteTool.in_data = lrsSimplifiedTablePath;
gp.Execute(deleteTool, trackcancel);
}
#endregion
GC.Collect();
// Create Signpost feature class and table
AddMessage("Creating signpost feature class and table...", messages, trackcancel);
CreateSignposts(inputSITableValue.GetAsText(), inputSPTableValue.GetAsText(), outputFileGdbPath,
messages, trackcancel);
AddSpatialIndex addSpatialIndexTool = new AddSpatialIndex();
addSpatialIndexTool.in_features = pathToFds + "\\" + SignpostFCName;
gp.Execute(addSpatialIndexTool, trackcancel);
addIndexTool = new AddIndex();
addIndexTool.in_table = outputFileGdbPath + "\\" + SignpostJoinTableName;
addIndexTool.fields = "SignpostID";
addIndexTool.index_name = "SignpostID";
gp.Execute(addIndexTool, trackcancel);
addIndexTool.fields = "Sequence";
addIndexTool.index_name = "Sequence";
gp.Execute(addIndexTool, trackcancel);
addIndexTool.fields = "EdgeFCID";
addIndexTool.index_name = "EdgeFCID";
gp.Execute(addIndexTool, trackcancel);
addIndexTool.fields = "EdgeFID";
addIndexTool.index_name = "EdgeFID";
gp.Execute(addIndexTool, trackcancel);
GC.Collect();
// Upgrade the geodatabase (if not 9.3)
if (fgdbVersion > 9.3)
{
UpgradeGDB upgradeGdbTool = new UpgradeGDB();
upgradeGdbTool.input_workspace = outputFileGdbPath;
gp.Execute(upgradeGdbTool, trackcancel);
}
// Create and build the network dataset, then pack it in a GPValue
AddMessage("Creating and building the network dataset...", messages, trackcancel);
CreateAndBuildNetworkDataset(outputFileGdbPath, fgdbVersion, fdsName, ndsName, createNetworkAttributesInMetric,
createTwoDistanceAttributes, timeZoneIDBaseFieldName, directedTimeZoneIDFields, commonTimeZone,
usesHistoricalTraffic, trafficFeedLocation, usesRSTable, usesLTRTable, usesLRSTable, "lrs_Stats");
// Once the network dataset is built, we can delete the stats table
if (usesLRSTable)
{
deleteTool = new Delete();
deleteTool.in_data = lrsStatsTablePath;
gp.Execute(deleteTool, trackcancel);
}
// Write the build errors to the turn feature class
TurnGeometryUtilities.WriteBuildErrorsToTurnFC(outputFileGdbPath, fdsName, TurnFCName, messages, trackcancel);
// Compact the output file geodatabase
AddMessage("Compacting the output file geodatabase...", messages, trackcancel);
Compact compactTool = new Compact();
compactTool.in_workspace = outputFileGdbPath;
gp.Execute(compactTool, trackcancel);
}
catch (Exception e)
{
if (gp.MaxSeverity == 2)
{
object missing = System.Type.Missing;
messages.AddError(1, gp.GetMessages(ref missing));
}
messages.AddError(1, e.Message);
messages.AddError(1, e.StackTrace);
}
finally
{
// Restore the original GP environment settings
gpSettings.AddOutputsToMap = origAddOutputsToMapSetting;
gpSettings.LogHistory = origLogHistorySetting;
}
GC.Collect();
return;
}