ArcSDE Java SDK获得要素类的要素数量FeatureCount(二)

2014-11-24 09:46:26 · 作者: · 浏览: 1
password);
} catch (SeException ex) {
ex.printStackTrace();
}

}

return conn;
}

/**
* @param args
*/
public static void main(String[] args) {

queryLayerVersionedFeatureCount();
}
public static void queryLayerVersionedFeatureCount()
{
try {
SeConnection conn = getConn();
SeTable table = new SeTable(conn, "conn");
SeColumnDefinition[] tableDef = table.describe();
String[] cols = new String[tableDef.length];
for (int j = 0; j < cols.length; j++)
{
cols[j] = tableDef[j].getName();
}
SeSqlConstruct sqlCons = new SeSqlConstruct("conn");
SeQuery query = new SeQuery(conn, cols, sqlCons);


SeQueryInfo queryInfo = new SeQueryInfo();
queryInfo.setQueryType(SeQueryInfo.SE_QUERYTYPE_ATTRIBUTE_FIRST);
queryInfo.setColumns(cols);
queryInfo.setConstruct(sqlCons);

//query.prepareQueryInfo(queryInfo);
//query.execute();

SeTable.SeTableStats stats=query.calculateTableStatistics("*", SeTable.SeTableStats.SE_COUNT_STATS, queryInfo, 0);
int count= stats.getCount();
System.out.println("------featureclass feature count -----------------");
System.out.println(count);
System.out.println("--------------------------------------------------");



} catch (Exception ex) {
ex.printStackTrace();
}
}
public static void queryLayerFeatureCount() {
try {
SeConnection conn = getConn();
SeQuery query = new SeQuery(conn);
//直接使用SQL语句,该情况只适用于非arcsde版本
String sql="select count(objectid) from con";
query.prepareSql(sql);
query.execute();

SeRow row = query.fetch();
while (row != null)
{
System.out.println("------featureclass feature count -----------------");
System.out.println(row.getObject(0).toString());
System.out.println("--------------------------------------------------");
row = query.fetch();
}

} catch (Exception ex) {
ex.printStackTrace();
}
}