'define datastat to query unique values
Dim pDataStats As New DataStatisticsClass()
'define data collection
Dim pEnum As IEnumerator
pDataStats.Field = selectedFieldName
pDataStats.Cursor = fCursor
pEnum = pDataStats.UniqueValues
Dim dataStatResult As IStatisticsResults = pDataStats.Statistics
pEnum.Reset()
Do While pEnum.MoveNext
'Add unique feature in the first column
newlist = ListViewDataresult.Items.Add(pEnum.Current)
'define the whereclause
Dim whereclause As String = String.Format("{0} = '{1}'", pDataStats.Field, pEnum.Current)
Dim queryFilter As IQueryFilter = New QueryFilterClass()
queryFilter.WhereClause = whereclause
Try
'Adding the count of features in the second column
newlist.SubItems.Add(fclass.FeatureCount(queryFilter))
Catch ex As Exception
MessageBox.Show("Ooops, FieldCount Error: " & ex.Message)
End Try
Loop
Dim queryFilter As IQueryFilter = New QueryFilterClass()
Do While pEnum.MoveNext
private ITable RunFrequencyTool(ITable inputTable, string inputField)
{
try
{
ESRI.ArcGIS.AnalysisTools.Frequency FrequencyTool = new ESRI.ArcGIS.AnalysisTools.Frequency();
ESRI.ArcGIS.Geoprocessing.IGeoProcessorResult Result;
FrequencyTool.in_table = inputTable;
FrequencyTool.frequency_fields = inputField;
FrequencyTool.out_table = "in_memory\\Result";
Result = RunTool(FrequencyTool, null);
return GetTablefromResult(Result);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
return null;
}
} private ESRI.ArcGIS.Geodatabase.ITable GetTablefromResult(ESRI.ArcGIS.Geoprocessing.IGeoProcessorResult result)
{
ESRI.ArcGIS.Geodatabase.IGPValue GPVal;
string OutputTableName;
ESRI.ArcGIS.Geoprocessing.IGPUtilities3 GPUtil = new ESRI.ArcGIS.Geoprocessing.GPUtilities() as ESRI.ArcGIS.Geoprocessing.IGPUtilities3;
ESRI.ArcGIS.Geodatabase.ITable pOutputTable;
try
{
GPVal = result.GetOutput(0);
OutputTableName = GPVal.GetAsText();
pOutputTable = GPUtil.OpenTableFromString(OutputTableName);
return pOutputTable;
}
catch (Exception ex)
{
return null;
}
}