searchByAttribute
searchByPrimaryKey
使用这些查询都需要给出要返回的字段集合和执行的查询动作。返回的字段集合需要放在Vector对象中。下面的例子返回的是表中所有的字段:
//AssumemyLayerisaLayerobject.
TableInfomyTableInfo=myLayer.getTableInfo();
VectorcolumnNames=newVector();
intcolumnCount=myTableInfo.getColumnCount();
Stringcol;
for(intj=0;j<columnCount;j++)
{
col=myTableInfo.getColumnName(j);
columnNames.addElement(col);
}
在默认情况下,执行查询时后得到的FeatureSet包含Geometry,Rendition,LabelRendition,PrimaryKey,rasterData等,所以需要使用QueryParams类来过滤这些信息,以提高程序的性能。
进行查询时可以通过QueryParams指定查询类型SearchType。Mbr表示搜索最小相交的图元;patial表示搜索和搜索范围相交的图元;entire表示搜索完全在搜索范围的的图元。
下面代码示例如何使用QueryParams:
QueryParamsqp=newQueryParams(bGeometry,bRendition,bPrimarykey,bLabelPoint,bRasterInfo,bLabelRendition,SearchType.entire);
下面示例了如何过滤信息:
//findallFeaturesentirelywithinagivensearchregion,returnasingleAttributecolumn//andnoRenditioninformation.
Vectorcols=newVector();
cols.addElement(“County”);
FeaturesearchFeature=mapj.getFeatureFactory().createRegion(points,rend,attribs,null);
QueryParamsqueryParams=newQueryParams(true,false,true,true,true,true,SearchType.entire);
FeatureSetfs=layer.searchWithinRegion(cols,searchFeature.getGeometry(),queryParams);
2.Search方法
:searchAll
示例:
//AssumefsisaFeatureSetobject.AssumecolumnNamesisavectorofthecolumns//tobereturned.AssumeqpistheQueryParamsobject.AssumemyLayerisaLayer//object.
try
{
fs=myLayer.searchAll(columnNames,qp);
}
catch(exceptione)
{
e.printStackTrace();
}
:==>searchWithinRadius
示例:
//AssumefsisaFeatureSetobject.AssumecolumnNamesisavectorofthedesired//columnstobereturned.AssumeqpistheQueryParamsobject.AssumemyLayer//isaLayerobject.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-27888-4.html
巴菲特
在维护国家主权的问题上
老马啊巴菲特他真的是靠股票发家的