Select to view content in your preferred language

query task on feature layer

2385
2
07-16-2010 06:52 AM
MarcoRosa
Emerging Contributor
Hi to all,
i've this case: one feature layer with 1 polygon on map, and a service whith many smaller polygon.
I would like to do a spatial query where the geometry of task is the polygon of the feature layer.
The result of this maybe the polygons of service layer that are contained in larger polygon of feature layer. This is the code of task .... always task execute failed .... 😞
Thank's to all for help me to solve this error
GP

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            QueryTask queryTask = new QueryTask("http://mysvr/ArcGIS/rest/services/servicename/MapServer/1");

            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.Failed += QueryTask_Failed;
           
            Query query = new ESRI.ArcGIS.Client.Tasks.Query();

            //Specify fields to return from query
            query.OutFields.AddRange(new string[] { "myoutfield" });
           
            FeatureLayer f = MyMap.Layers["MyFeatureLayer"] as FeatureLayer;

            query.SpatialRelationship = SpatialRelationship.esriSpatialRelContains;

            query.Geometry = f.Geometry;
          
            // Return geometry with result features
            query.ReturnGeometry = true;

            queryTask.ExecuteAsync(query);

        }
0 Kudos
2 Replies
DominiqueBroux
Esri Frequent Contributor
query.Geometry = f.Geometry;


Did you verify in debug that f.Geometry is not null?

That's supposed to be the spatial filter for your feature layer but, except if you set it explicitely, it's null.

If you are sure that there is only one feature in your layer, you could try :
query.Geometry = f.Graphics[0].Geometry;
0 Kudos
MarcoRosa
Emerging Contributor
hi Dominique, many thanks ... was that 🙂
see u
0 Kudos