ArcIMS自定义查询

using ESRI.ArcGIS.ADF.Web.Geometry;
using ESRI.ArcGIS.ADF.IMS.Carto;
using ESRI.ArcGIS.ADF.IMS.Carto.Layer;

ESRI.ArcGIS.ADF.Web.DataSources.IMS.MapFunctionality mapFunct = (ESRI.ArcGIS.ADF.Web.DataSources.IMS.MapFunctionality)Map1.GetFunctionality(1);
MapView mapView = mapFunct.MapView;
FeatureLayer theLayer = (FeatureLayer)mapView.Layers.FindByName("图层名称");
Filter queryFilter = new Filter();
string querytext = "NAME LIKE " + "'%" + TextBox1.Text+ "%'";
queryFilter.WhereExpression = querytext;
ESRI.ArcGIS.ADF.StringCollection strCollection = new ESRI.ArcGIS.ADF.StringCollection();
strCollection.Add("NAME ID");
queryFilter.SubFields = strCollection;
QueryParameters queryParams = new QueryParameters(queryFilter);
FeatureTable queryResultsTable = theLayer.Query(queryParams);
//缩放至查询结果的区域
ESRI.ArcGIS.ADF.IMS.Geometry.Geometry featureGeom = (ESRI.ArcGIS.ADF.IMS.Geometry.Geometry)pFeatureTable.Rows[0]["#SHAPE#"];
            ESRI.ArcGIS.ADF.Web.Geometry.Geometry adfGEom = ESRI.ArcGIS.ADF.Web.DataSources.IMS.Converter.ToADFGeometry(featureGeom);
            ESRI.ArcGIS.ADF.Web.Geometry.Envelope adfEnv = ESRI.ArcGIS.ADF.Web.Geometry.Envelope.GetMinimumEnclosingEnvelope(adfGEom);
            Map1.Extent = adfEnv;
if (queryResultsTable.Rows.Count > 0)
{
GridView1.DataSource = queryResultsTable;
GridView1.DataBind();
}

posted on 2008-12-04 15:26  于海龙  阅读(291)  评论(1)    收藏  举报

导航