private void RunQuery()
        {
            parcelsGraphicsLayer.Graphics.Clear();

            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                ReturnGeometry = true,
                OutSpatialReference = MyMap.SpatialReference,
                Where = string.Format("OWNER_NAME LIKE '%{0}%'", SearchTextBox.Text),
                OrderByFields = new List<OrderByField>() { new OrderByField("OWNER_NAME", SortOrder.Ascending) }
            };

            query.OutFields.Add("OWNER_NAME,PARCEL_ID,ZONING,DEED_DATE");

            QueryTask queryTask = new QueryTask("http://sampleserver6.arcgisonline.com/arcgis/rest/services/MontgomeryQuarters/MapServer/1");
            queryTask.ExecuteCompleted += (s, a) =>
            {
                foreach (Graphic g in a.FeatureSet.Features)
                {
                    parcelsGraphicsLayer.Graphics.Add(g);
                    FeatureListBox.Items.Add(g);
                }

                (ApplicationBar.Buttons[0] as IApplicationBarIconButton).IsEnabled = true;
                FeatureChoicesPage.Visibility = Visibility.Visible;
            };
            FeatureListBox.Items.Clear();
            queryTask.ExecuteAsync(query);
        }
Exemplo n.º 2
0
        private Graphic QueryRouteFeatureByName(String routeName)
        {
            LookupFieldNames();
            if (_routesRouteNameFieldName == null)
            {
                return(null);
            }

            // TODO: get the feature directly from the feature layer instead of querying for it

            QueryTask queryTask = new QueryTask(_flRoutes.Url);

            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.Where          = (_routesRouteNameFieldName + "='" + routeName + "'");
            query.ReturnGeometry = true;
            query.OutFields.AddRange(new string[] { "*" });
            queryTask.Execute(query);
            if (queryTask.LastResult.Features.Count() > 0)
            {
                return(queryTask.LastResult.Features.First());
            }
            else
            {
                return(null);
            }
        }
        private void MyDrawSurface_DrawComplete(object sender, ESRI.ArcGIS.Client.DrawEventArgs args)
        {
            ResultsDisplay.Visibility = Visibility.Collapsed;
            MyDrawObject.IsEnabled = false;
            selectionGraphicslayer.ClearGraphics();

            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");
            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.Failed += QueryTask_Failed;

            // Bind data grid to query results
            Binding resultFeaturesBinding = new Binding("LastResult.Features");
            resultFeaturesBinding.Source = queryTask;
            QueryDetailsDataGrid.SetBinding(DataGrid.ItemsSourceProperty, resultFeaturesBinding);
            Query query = new ESRI.ArcGIS.Client.Tasks.Query();

            // Specify fields to return from query
            query.OutFields.AddRange(new string[] { "STATE_NAME", "SUB_REGION", "STATE_FIPS", "STATE_ABBR", "POP2000", "POP2007" });
            query.Geometry = args.Geometry;

            // Return geometry with result features
            query.ReturnGeometry = true;
            query.OutSpatialReference = MyMap.SpatialReference;

            queryTask.ExecuteAsync(query);
        }
Exemplo n.º 4
0
        void findNearestWSGPTask_GetResultDataCompleted(object sender, GPParameterEventArgs e)
        {
            try
            {
                GPFeatureRecordSetLayer gpLayer = e.Parameter as GPFeatureRecordSetLayer;
                foreach (client.Graphic graphic in gpLayer.FeatureSet.Features)
                {
                    double distance = Convert.ToDouble(graphic.Attributes["NEAR_DIST"]) * 69.09;
                    _weatherStationDistanceInfo = "Distance to weather station: " + distance.ToString("0.000") + " miles";

                    //get the wind direction from the nearest weather station...
                    int fid = Convert.ToInt32(graphic.Attributes["NEAR_FID"]);

                    if (_windDirectionLayer != null)
                    {
                        QueryTask windDirectionQueryTask = new QueryTask(_windDirectionLayer.Url);
                        windDirectionQueryTask.ExecuteCompleted += WindDirectionQueryTask_ExecuteCompleted;
                        windDirectionQueryTask.Failed           += QueryTask_Failed;

                        ESRI.ArcGIS.Client.Tasks.Query windDirectionQuery = new ESRI.ArcGIS.Client.Tasks.Query();
                        windDirectionQuery.OutFields.AddRange(new string[] { "*" });
                        windDirectionQuery.Where = "OBJECTID =" + fid;

                        windDirectionQueryTask.ExecuteAsync(windDirectionQuery);
                    }
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
                MessageBox.Show("Error processing ERG Task Results!", "Error");
                return;
            }
        }
Exemplo n.º 5
0
        private void LoadGraphics()
        {
            // Set query where clause to include features with an area greater than 70 square miles.  This
            // will effectively exclude the District of Columbia from attributes to avoid skewing classifications.
            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                Where               = "SQMI > 70",
                ReturnGeometry      = true,
                OutSpatialReference = MyMap.SpatialReference
            };
            query.OutFields.Add("*");

            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/" +
                                                "Demographics/ESRI_Census_USA/MapServer/5");

            queryTask.ExecuteCompleted += (evtsender, args) =>
            {
                if (args.FeatureSet == null)
                {
                    return;
                }
                _featureSet = args.FeatureSet;
                SetRangeValues();
                RenderButton.IsEnabled = true;
            };

            queryTask.ExecuteAsync(query);

            CreateColorList();
            CreateThematicList();
        }
        /// <summary>
        /// Runs a test query against the specified date field to determine the type of data source.
        /// </summary>
        private static void QueryDate(string dataSetUrl, bool useProxy, SubLayerField dateField, string dataSource, EventHandler <DataSourceEventArgs> callback)
        {
            DateTime testDate = new DateTime(1977, 12, 01, 0, 0, 0, 0);

            QueryTask qT = new QueryTask(dataSetUrl);

            if (useProxy)
            {
                qT.ProxyURL = ArcGISOnlineEnvironment.ConfigurationUrls.ProxyServerEncoded;
            }

            ESRI.ArcGIS.Client.Tasks.Query q = new ESRI.ArcGIS.Client.Tasks.Query();
            q.OutFields.Add(dateField.Name);
            q.Where          = dateField.Name + " = " + Format(testDate, dataSource);
            q.ReturnGeometry = false;

            EventHandler <ESRI.ArcGIS.Client.Tasks.QueryEventArgs> completedHandler = null;

            completedHandler = (object sender, ESRI.ArcGIS.Client.Tasks.QueryEventArgs e) =>
            {
                callback(null, new DataSourceEventArgs()
                {
                    DataSource = dataSource
                });
            };

            qT.ExecuteCompleted += completedHandler;

            //execute the query
            //
            qT.ExecuteAsync(q);
        }
        private void RunQuery()
        {
            parcelsGraphicsLayer.Graphics.Clear();

            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                ReturnGeometry      = true,
                OutSpatialReference = MyMap.SpatialReference,
                Where         = string.Format("OWNER_NAME LIKE '%{0}%'", SearchTextBox.Text),
                OrderByFields = new List <OrderByField>()
                {
                    new OrderByField("OWNER_NAME", SortOrder.Ascending)
                }
            };

            query.OutFields.Add("OWNER_NAME,PARCEL_ID,ZONING,DEED_DATE");

            QueryTask queryTask = new QueryTask("http://sampleserver6.arcgisonline.com/arcgis/rest/services/MontgomeryQuarters/MapServer/1");

            queryTask.ExecuteCompleted += (s, a) =>
            {
                foreach (Graphic g in a.FeatureSet.Features)
                {
                    parcelsGraphicsLayer.Graphics.Add(g);
                    FeatureListBox.Items.Add(g);
                }

                (ApplicationBar.Buttons[0] as IApplicationBarIconButton).IsEnabled = true;
                FeatureChoicesPage.Visibility = Visibility.Visible;
            };
            FeatureListBox.Items.Clear();
            queryTask.ExecuteAsync(query);
        }
        private void MyDrawSurface_DrawComplete(object sender, ESRI.ArcGIS.Client.DrawEventArgs args)
        {
            ResultsDisplay.Visibility = Visibility.Collapsed;
            MyDrawObject.IsEnabled    = false;
            selectionGraphicslayer.Graphics.Clear();

            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");

            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.Failed           += QueryTask_Failed;

            // Bind data grid to query results
            Binding resultFeaturesBinding = new Binding("LastResult.Features");

            resultFeaturesBinding.Source = queryTask;
            QueryDetailsDataGrid.SetBinding(DataGrid.ItemsSourceProperty, resultFeaturesBinding);
            Query query = new ESRI.ArcGIS.Client.Tasks.Query();

            // Specify fields to return from query
            query.OutFields.AddRange(new string[] { "STATE_NAME", "SUB_REGION", "STATE_FIPS", "STATE_ABBR", "POP2000", "POP2007" });
            query.Geometry = args.Geometry;

            // Return geometry with result features
            query.ReturnGeometry      = true;
            query.OutSpatialReference = MyMap.SpatialReference;

            queryTask.ExecuteAsync(query);
        }
Exemplo n.º 9
0
        private void RunFindParcelQuery(LayerDefinition layerDefn)
        {
            QueryTask queryTask = new QueryTask(layerDefn.Layer());

            if (queryTask == null)
            {
                return;
            }

            queryTask.ExecuteCompleted += QueryLayer_ExecuteCompleted;
            queryTask.Failed           += QueryLayer_Failed;
            queryTask.CancelAsync();

            Query query = new ESRI.ArcGIS.Client.Tasks.Query();

            query.OutFields.AddRange(layerDefn.AllFields);
            query.ReturnGeometry      = true;
            query.OutSpatialReference = ParcelMap.SpatialReference;

            // if the upper function is null/empty (it defaults to UPPER), then
            // an exact case search is performed.

            string upper = _xmlConfiguation.UpperFunction;
            string wild  = _xmlConfiguation.WildcardCharacter;
            string endFn = "";

            if (upper != "")
            {
                upper += "(";
                endFn  = ")";
            }

            // if the wide card function is null/empty (it defaults to %), then
            // an exact search (case and value) is performed.

            string where = "";
            foreach (string field in layerDefn.SearchFields)
            {
                if (where != "")
                {
                    where += " or ";
                }

                if (wild == "")
                {
                    where += "(" + field + " = '" + SearchItem.Text + "')";
                }
                else
                {
                    where += "(" + upper + field + endFn + " like '" + wild + SearchItem.Text.ToUpper() + wild + "')";
                }
            }
            query.Where = where;

            queryTask.ExecuteAsync(query, layerDefn);
        }
        void QueryButton_Click(object sender, RoutedEventArgs e)
        {
            QueryTask queryTask =
                new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");
            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.Failed += QueryTask_Failed;

            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.Text = StateNameTextBox.Text;

            query.OutFields.Add("*");
            queryTask.ExecuteAsync(query);
        }
        private void CitiesGraphicsLayer_Initialized(object sender, EventArgs e)
        {
            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                Geometry = new ESRI.ArcGIS.Client.Geometry.Envelope(-180, 0, 0, 90)
            };
            query.OutFields.Add("*");
            query.Where = "POP1990 > 100000";
            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/0");

            queryTask.ExecuteCompleted += CitiesGraphicsLayerQueryTask_ExecuteCompleted;
            queryTask.ExecuteAsync(query);
        }
        void StatesGraphicsLayer_Initialized(object sender, EventArgs args)
        {
            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                Geometry = new ESRI.ArcGIS.Client.Geometry.Envelope(-180, 0, 0, 90)
            };
            query.OutFields.Add("*");

            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");

            queryTask.ExecuteCompleted += StatesGraphicsLayerQueryTask_ExecuteCompleted;
            queryTask.ExecuteAsync(query);
        }
        void QueryButton_Click(object sender, RoutedEventArgs e)
        {
            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/" +
                                                "Demographics/ESRI_Census_USA/MapServer/5");

            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.Failed           += QueryTask_Failed;

            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.Text = StateNameTextBox.Text;

            query.OutFields.Add("*");
            queryTask.ExecuteAsync(query);
        }
        private void LoadPolygonGraphics()
        {
            QueryTask queryTask =
                new QueryTask("http://servicesbeta5.esri.com/arcgis/rest/services/UnitedStates/FeatureServer/3");
            queryTask.ExecuteCompleted += queryTaskPolygon_ExecuteCompleted;

            Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.OutSpatialReference = MyMap.SpatialReference;
            query.ReturnGeometry = true;
            query.Where = "1=1";

            query.OutFields.AddRange(new string[] { "STATE_NAME", "POP2000" });
            queryTask.ExecuteAsync(query);
        }
        public CreateWebMapObject()
        {
            InitializeComponent();

            //Define BaseMap Layer
            basemap = new BaseMap()
               {
               Layers = new List<WebMapLayer> { new WebMapLayer { Url = "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" } }
               };

            //Add a ArcGISDynamicMapService
            operationLayers.Add(new WebMapLayer
            {
                Url = "http://serverapps10.esri.com/ArcGIS/rest/services/California/MapServer",
                VisibleLayers = new List<object> { 0, 1, 3, 6, 9 }
            });

            //Define popup
            IList<FieldInfo> fieldinfos = new List<FieldInfo>();
            fieldinfos.Add(new FieldInfo() { FieldName = "STATE_NAME", Label = "State", Visible = true });

            IList<MediaInfo> mediainfos = new List<MediaInfo>();
            MediaInfoValue infovalue = new MediaInfoValue();
            infovalue.Fields = new string[] { "POP2000,POP2007" };
            mediainfos.Add(new MediaInfo() { Type = MediaType.PieChart, Value = infovalue });

            PopupInfo popup = new PopupInfo() { FieldInfos = fieldinfos, MediaInfos = mediainfos, Title = "Population Change between 2000 and 2007", };

            //Add a Feature Layer with popup
            operationLayers.Add(new WebMapLayer
            {
                Url = "http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3",
                Mode = FeatureLayer.QueryMode.OnDemand,
                PopupInfo = popup
            });

            //Perform Query to get a featureSet and add to webmap as featurecollection
            QueryTask qt = new QueryTask() { Url = "http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Earthquakes/EarthquakesFromLastSevenDays/MapServer/0" };
            qt.ExecuteCompleted += qt_ExecuteCompleted;

            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.OutFields.Add("*");
            query.Where = "magnitude > 3.5";
            query.ReturnGeometry = true;
            qt.Failed += (a, b) =>
              {
                  MessageBox.Show("QueryTask failed to execute:" + b.Error);
              };
            qt.ExecuteAsync(query);
        }
        void Layers_LayersInitialized(object sender, EventArgs args)
        {
            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                Geometry = MyMap.Extent,
                ReturnGeometry=true,
                OutSpatialReference = MyMap.SpatialReference
            };
            query.OutFields.Add("*");

            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");
            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.ExecuteAsync(query);
        }
        void Layers_LayersInitialized(object sender, EventArgs args)
        {
            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                OutSpatialReference = MyMap.SpatialReference,
                ReturnGeometry = true
            };
            query.OutFields.Add("STATE_NAME");
            query.Where = "STATE_NAME IN ('Alaska', 'Hawaii', 'Washington', 'Oregon', 'Arizona', 'Nevada', 'Idaho', 'Montana', 'Utah', 'Wyoming', 'Colorado', 'New Mexico')";

            QueryTask myQueryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");
            myQueryTask.ExecuteCompleted += myQueryTask_ExecuteCompleted;
            myQueryTask.ExecuteAsync(query);
        }
        void Layers_LayersInitialized(object sender, EventArgs args)
        {
            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                Geometry            = MyMap.Extent,
                ReturnGeometry      = true,
                OutSpatialReference = MyMap.SpatialReference
            };
            query.OutFields.Add("*");

            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");

            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.ExecuteAsync(query);
        }
        private void CitiesGraphicsLayerLoad()
        {
            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                Geometry            = new ESRI.ArcGIS.Client.Geometry.Envelope(-180, 0, 0, 90),
                ReturnGeometry      = true,
                OutSpatialReference = MyMap.SpatialReference
            };
            query.OutFields.Add("*");
            query.Where = "POP1990 > 100000";
            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/0");

            queryTask.ExecuteCompleted += CitiesGraphicsLayerQueryTask_ExecuteCompleted;
            queryTask.ExecuteAsync(query);
        }
        void StatesGraphicsLayerLoad()
        {
            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                Geometry            = new ESRI.ArcGIS.Client.Geometry.Envelope(-180, 0, 0, 90),
                ReturnGeometry      = true,
                OutSpatialReference = MyMap.SpatialReference
            };
            query.OutFields.Add("*");

            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");

            queryTask.ExecuteCompleted += StatesGraphicsLayerQueryTask_ExecuteCompleted;
            queryTask.ExecuteAsync(query);
        }
        void Layers_LayersInitialized(object sender, EventArgs args)
        {
            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                OutSpatialReference = MyMap.SpatialReference,
                ReturnGeometry      = true
            };
            query.OutFields.Add("STATE_NAME");
            query.Where = "STATE_NAME IN ('Alaska', 'Hawaii', 'Washington', 'Oregon', 'Arizona', 'Nevada', 'Idaho', 'Montana', 'Utah', 'Wyoming', 'Colorado', 'New Mexico')";

            QueryTask myQueryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");

            myQueryTask.ExecuteCompleted += myQueryTask_ExecuteCompleted;
            myQueryTask.ExecuteAsync(query);
        }
        private void doQuery(ESRI.ArcGIS.Client.Geometry.Geometry geometry)
        {
            QueryTask queryTask = new QueryTask("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/BloomfieldHillsMichigan/Parcels/MapServer/2");
            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.Failed += QueryTask_Failed;

            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                Geometry = geometry,
                SpatialRelationship = SpatialRelationship.esriSpatialRelContains,
                OutSpatialReference = MyMap.SpatialReference,
                ReturnGeometry = true
            };
            query.OutFields.Add("*");
            queryTask.ExecuteAsync(query);
        }
        private void LoadPolygonGraphics()
        {
            QueryTask queryTask =
                new QueryTask("http://servicesbeta5.esri.com/arcgis/rest/services/UnitedStates/FeatureServer/3");

            queryTask.ExecuteCompleted += queryTaskPolygon_ExecuteCompleted;

            Query query = new ESRI.ArcGIS.Client.Tasks.Query();

            query.OutSpatialReference = MyMap.SpatialReference;
            query.ReturnGeometry      = true;
            query.Where = "1=1";

            query.OutFields.AddRange(new string[] { "STATE_NAME", "POP2000" });
            queryTask.ExecuteAsync(query);
        }
        void GeometryService_BufferCompleted(object sender, GraphicsEventArgs args)
        {
            Graphic bufferGraphic = new Graphic();
            bufferGraphic.Geometry = args.Results[0].Geometry;
            bufferGraphic.Symbol = LayoutRoot.Resources["BufferSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol;
            bufferGraphic.SetZIndex(1);

            _pointAndBufferGraphicsLayer.Graphics.Add(bufferGraphic);

            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.ReturnGeometry = true;
            query.OutSpatialReference = MyMap.SpatialReference;
            query.Geometry = bufferGraphic.Geometry;
            query.OutFields.Add("OWNERNME1");
            _queryTask.ExecuteAsync(query);
        }
        void MyMap_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "SpatialReference")
            {
                MyMap.PropertyChanged -= MyMap_PropertyChanged;

                _legendGridCollapsed = false;
                _classGridCollapsed  = false;

                LegendCollapsedTriangle.MouseLeftButtonUp += Triangle_MouseLeftButtonUp;
                LegendExpandedTriangle.MouseLeftButtonUp  += Triangle_MouseLeftButtonUp;
                ClassCollapsedTriangle.MouseLeftButtonUp  += Triangle_MouseLeftButtonUp;
                ClassExpandedTriangle.MouseLeftButtonUp   += Triangle_MouseLeftButtonUp;

                // Get start value for number of classifications in XAML.
                _lastGeneratedClassCount = Convert.ToInt32(((ComboBoxItem)ClassCountCombo.SelectedItem).Content);

                // Set query where clause to include features with an area greater than 70 square miles.  This
                // will effectively exclude the District of Columbia from attributes to avoid skewing classifications.
                ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
                {
                    Where = "SQMI > 70",
                    OutSpatialReference = MyMap.SpatialReference,
                    ReturnGeometry      = true
                };
                query.OutFields.Add("*");

                QueryTask queryTask =
                    new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");

                queryTask.ExecuteCompleted += (evtsender, args) =>
                {
                    if (args.FeatureSet == null)
                    {
                        return;
                    }
                    _featureSet = args.FeatureSet;
                    SetRangeValues();
                    RenderButton.IsEnabled = true;
                };

                queryTask.ExecuteAsync(query);

                CreateColorList();
                CreateThematicList();
            }
        }
        private void LoadPolygonGraphics()
        {
            QueryTask queryTask =
                new QueryTask("http://serverapps.esri.com/SDS/databases/Demo/dbo.USStates_Mercator");

            queryTask.ExecuteCompleted += queryTaskPolygon_ExecuteCompleted;

            Query query = new ESRI.ArcGIS.Client.Tasks.Query();

            query.OutSpatialReference = MyMap.SpatialReference;
            query.ReturnGeometry      = true;
            query.Where = "1=1";
            // Note, query.Text is not supported for use with MapIt

            query.OutFields.AddRange(new string[] { "STATE_NAME", "POP2008" });
            queryTask.ExecuteAsync(query);
        }
        private void QueryComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (QueryComboBox.SelectedItem.ToString().Contains("Select..."))
                return;

            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");
            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.Failed += QueryTask_Failed;

            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
                        query.ReturnGeometry = true;
            query.Text = QueryComboBox.SelectedItem.ToString();
            query.OutSpatialReference = MyMap.SpatialReference;
            query.OutFields.Add("*");

            queryTask.ExecuteAsync(query);
        }
        private void LoadGraphics()
        {
            QueryTask queryTask =
              new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/0");
              queryTask.ExecuteCompleted += queryTask_ExecuteCompleted;

              Query query = new ESRI.ArcGIS.Client.Tasks.Query()
              {
            OutSpatialReference = MyMap.SpatialReference,
            ReturnGeometry = true,
            Where = "1=1"
              };

              query.OutFields.AddRange(new string[] { "CITY_NAME", "POP1990" });

              queryTask.ExecuteAsync(query);
        }
        private void LoadPointGraphics(int minLimitRange, int maxLimitRange)
        {
            QueryTask queryTask =
                new QueryTask("http://servicesbeta5.esri.com/arcgis/rest/services/UnitedStates/FeatureServer/0");
            queryTask.ExecuteCompleted += queryTaskPoint_ExecuteCompleted;
            queryTask.Failed += queryTask_Failed;

            Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.OutSpatialReference = MyMap.SpatialReference;
            query.ReturnGeometry = true;
            query.OutFields.AddRange(new string[] { "POP2000", "AREANAME" });

            query.Where = string.Format("(OBJECTID >= {0}) AND (OBJECTID <= {1})",
                    minLimitRange, maxLimitRange);

            queryTask.ExecuteAsync(query);
        }
        private void MyDrawObject_DrawComplete(object sender, ESRI.ArcGIS.Client.DrawEventArgs args)
        {
            myDrawObject.IsEnabled = false;

            QueryTask queryTask = new QueryTask("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Portland/Aerial/ImageServer/query");
            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.Failed += QueryTask_Failed;

            Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.OutFields.Add("*");
            query.Geometry = args.Geometry;
            query.ReturnGeometry = true;
            query.OutSpatialReference = MyMap.SpatialReference;
            query.Where = "Category = 1";

            queryTask.ExecuteAsync(query);
        }
        void GeometryService_BufferCompleted(object sender, GraphicsEventArgs args)
        {
            Graphic bufferGraphic = new Graphic();

            bufferGraphic.Geometry = args.Results[0].Geometry;
            bufferGraphic.Symbol   = LayoutRoot.Resources["BufferSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol;
            bufferGraphic.SetZIndex(1);

            _pointAndBufferGraphicsLayer.Graphics.Add(bufferGraphic);

            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.ReturnGeometry      = true;
            query.OutSpatialReference = MyMap.SpatialReference;
            query.Geometry            = bufferGraphic.Geometry;
            query.OutFields.Add("OWNERNME1");
            _queryTask.ExecuteAsync(query);
        }
        private void LoadGraphics()
        {
            QueryTask queryTask =
                new QueryTask("http://servicesbeta5.esri.com/arcgis/rest/services/World/FeatureServer/0");

            queryTask.ExecuteCompleted += queryTask_ExecuteCompleted;
            queryTask.DisableClientCaching = true;

            Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.OutSpatialReference = MyMap.SpatialReference;
            query.ReturnGeometry = true;
            query.Where = "POP_RANK < 4";
            // Note, query.Text is not supported for use with Spatial Data Services

            query.OutFields.AddRange(new string[] { "CITY_NAME" });
            queryTask.ExecuteAsync(query);
        }
Exemplo n.º 33
0
        void ThematicLayerControl_Loaded(object sender, RoutedEventArgs e)
        {
            ClassCountCombo.ItemsSource   = new int[] { 3, 4, 5, 6 };
            ClassTypeCombo.ItemsSource    = new string[] { "Quantile", "Equal Interval" };
            ColorBlendCombo.SelectedIndex = ClassTypeCombo.SelectedIndex = ClassCountCombo.SelectedIndex = 0;
            // Get start value for number of classifications in XAML.
            _lastGeneratedClassCount = 3;

            // Set query where clause to include features with an area greater than 70 square miles.  This
            // will effectively exclude the District of Columbia from attributes to avoid skewing classifications.
            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                Where = "SQMI > 70"
            };
            query.OutFields.Add("*");

            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/" +
                                                "Demographics/ESRI_Census_USA/MapServer/5");

            queryTask.ExecuteCompleted += (evtsender, args) =>
            {
                if (args.FeatureSet == null)
                {
                    return;
                }
                _featureSet = args.FeatureSet;


                if (_featureSet != null && _featureSet.Features.Count > 0)
                {
                    // Clear previous graphic features
                    Layer.ClearGraphics();

                    for (int i = 0; i < _featureSet.Features.Count; i++)
                    {
                        Layer.Graphics.Add(_featureSet.Features[i]);
                    }
                    SetRangeValues();
                    //					RenderButton.IsEnabled = true;
                }
            };
            queryTask.ExecuteAsync(query);

            CreateColorList();
            CreateThematicList();
        }
        private void LoadGraphics()
        {
            QueryTask queryTask =
                new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/0");

            queryTask.ExecuteCompleted += queryTask_ExecuteCompleted;

            Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                OutSpatialReference = MyMap.SpatialReference,
                ReturnGeometry      = true,
                Where = "1=1"
            };

            query.OutFields.Add("CITY_NAME");
            queryTask.ExecuteAsync(query);
        }
Exemplo n.º 35
0
        private void doQuery(ESRI.ArcGIS.Client.Geometry.Geometry geometry)
        {
            QueryTask queryTask = new QueryTask("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/BloomfieldHillsMichigan/Parcels/MapServer/2");

            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.Failed           += QueryTask_Failed;

            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                Geometry            = geometry,
                SpatialRelationship = SpatialRelationship.esriSpatialRelContains,
                OutSpatialReference = MyMap.SpatialReference,
                ReturnGeometry      = true
            };
            query.OutFields.Add("*");
            queryTask.ExecuteAsync(query);
        }
Exemplo n.º 36
0
        private string QueryRouteNameByUserName()
        {
            string routeName = null;

            while (String.IsNullOrEmpty(_username))
            {
                _loginDialog.ShowDialog();
                _username = _loginDialog.UserName;
            }

            try
            {
                string accountNameFieldAlias = ConfigurationManager.AppSettings.Get("RouteAssignmentAccountFieldAlias");
                string accountNameFieldName  = _flRouteAssignment.FieldAliasToName(accountNameFieldAlias);

                QueryTask queryTask = new QueryTask(_flRouteAssignment.Url);
                ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
                query.Where          = accountNameFieldName + "='" + _username + "'";
                query.ReturnGeometry = false;
                query.OutFields.AddRange(new string[] { "*" });
                queryTask.Execute(query);
                if (queryTask.LastResult.Features.Count() > 0)
                {
                    string  routeNameFieldAlias = ConfigurationManager.AppSettings.Get("RouteAssignmentRouteFieldAlias");
                    string  routeNameFieldName  = _flRouteAssignment.FieldAliasToName(routeNameFieldAlias);
                    Graphic feature             = queryTask.LastResult.Features.First();
                    if (feature.Attributes.ContainsKey(routeNameFieldName))
                    {
                        routeName = feature.Attributes[routeNameFieldName].ToString();
                    }
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
            }

            if (routeName == null)
            {
                MessageBox.Show("Please make sure '" + _username + "' is listed in the '" + _flRouteAssignment.FeatureLayer.DisplayName + "' feature service layer.", "Error retreiving the Route Name for " + _username, MessageBoxButton.OK, MessageBoxImage.Error);
                Application.Current.Shutdown();
            }

            return(routeName);
        }
        private void LoadGraphics()
        {
            QueryTask queryTask =
                new QueryTask("http://mapit.cloudapp.net/databases/Demo/dbo.WorldCities");

            queryTask.ExecuteCompleted    += queryTask_ExecuteCompleted;
            queryTask.DisableClientCaching = true;

            Query query = new ESRI.ArcGIS.Client.Tasks.Query();

            query.OutSpatialReference = MyMap.SpatialReference;
            query.ReturnGeometry      = true;
            query.Where = "1=1";
            // Note, query.Text is not supported for use with Spatial Data Services

            query.OutFields.AddRange(new string[] { "NAME", "POPULATION" });
            queryTask.ExecuteAsync(query);
        }
Exemplo n.º 38
0
        private void LoadGraphics()
        {
            QueryTask queryTask =
                new QueryTask("http://servicesbeta5.esri.com/arcgis/rest/services/World/FeatureServer/0");

            queryTask.ExecuteCompleted    += queryTask_ExecuteCompleted;
            queryTask.DisableClientCaching = true;

            Query query = new ESRI.ArcGIS.Client.Tasks.Query();

            query.OutSpatialReference = MyMap.SpatialReference;
            query.ReturnGeometry      = true;
            query.Where = "POP_RANK < 4";
            // Note, query.Text is not supported for use with Spatial Data Services

            query.OutFields.AddRange(new string[] { "CITY_NAME" });
            queryTask.ExecuteAsync(query);
        }
Exemplo n.º 39
0
 public void setsource()
 {
     try
     {
         QueryTask queryTask = new QueryTask();
         queryTask.Url = url;
         queryTask.ExecuteCompleted += new EventHandler <QueryEventArgs>(queryTask_ExecuteCompleted);
         Query query = new ESRI.ArcGIS.Client.Tasks.Query();
         query.ReturnGeometry = true;
         query.Where          = filter;
         //     query.OutFields.Add("OBJECTID");  SDE 发布的需要这条
         queryTask.ExecuteAsync(query);
     }
     catch
     {
         //throw;
     }
 }
Exemplo n.º 40
0
        public void refreshnow()
        {
            try
            {
                QueryTask queryTask = new QueryTask();
                queryTask.Url = url;
                queryTask.ExecuteCompleted += new EventHandler <QueryEventArgs>(queryTask_ExecuteCompleted);
                Query query = new ESRI.ArcGIS.Client.Tasks.Query();
                query.ReturnGeometry = true;
                query.Where          = filter;

                //   query.OutFields.Add("OBJECTID");
                queryTask.ExecuteAsync(query);
            }
            catch
            {
                //throw;//LPY 2015-8-11 11:09:45 注释掉
            }
        }
        private void LoadPointGraphics(int minLimitRange, int maxLimitRange)
        {
            QueryTask queryTask =
                new QueryTask("http://serverapps.esri.com/SDS/databases/Demo/dbo.USCities_Mercator");

            queryTask.ExecuteCompleted += queryTaskPoint_ExecuteCompleted;
            queryTask.Failed           += queryTask_Failed;

            Query query = new ESRI.ArcGIS.Client.Tasks.Query();

            query.OutSpatialReference = MyMap.SpatialReference;
            query.ReturnGeometry      = true;
            query.OutFields.AddRange(new string[] { "POP2007", "NAME" });

            query.Where = string.Format("(FID >= {0}) AND (FID <= {1})",
                                        minLimitRange, maxLimitRange);

            queryTask.ExecuteAsync(query);
        }
Exemplo n.º 42
0
        private void MyDrawObject_DrawComplete(object sender, ESRI.ArcGIS.Client.DrawEventArgs args)
        {
            myDrawObject.IsEnabled = false;

            QueryTask queryTask = new QueryTask("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Portland/Aerial/ImageServer/query");

            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.Failed           += QueryTask_Failed;

            Query query = new ESRI.ArcGIS.Client.Tasks.Query();

            query.OutFields.Add("*");
            query.Geometry            = args.Geometry;
            query.ReturnGeometry      = true;
            query.OutSpatialReference = MyMap.SpatialReference;
            query.Where = "Category = 1";

            queryTask.ExecuteAsync(query);
        }
        public AttributeQuery()
        {
            InitializeComponent();

            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");
            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.Failed += QueryTask_Failed;

            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            // Specify fields to return from initial query
            query.OutFields.AddRange(new string[] { "STATE_NAME" });

            // This query will just populate the drop-down, so no need to return geometry
            query.ReturnGeometry = false;

            // Return all features
            query.Where = "1=1";
            queryTask.ExecuteAsync(query, "initial");
        }
        private void LoadPointGraphics(int minLimitRange, int maxLimitRange)
        {
            QueryTask queryTask =
                new QueryTask("http://servicesbeta5.esri.com/arcgis/rest/services/UnitedStates/FeatureServer/0");

            queryTask.ExecuteCompleted += queryTaskPoint_ExecuteCompleted;
            queryTask.Failed           += queryTask_Failed;

            Query query = new ESRI.ArcGIS.Client.Tasks.Query();

            query.OutSpatialReference = MyMap.SpatialReference;
            query.ReturnGeometry      = true;
            query.OutFields.AddRange(new string[] { "POP2000", "AREANAME" });

            query.Where = string.Format("(OBJECTID >= {0}) AND (OBJECTID <= {1})",
                                        minLimitRange, maxLimitRange);

            queryTask.ExecuteAsync(query);
        }
        private void QueryComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (QueryComboBox.SelectedItem.ToString().Contains("Select..."))
            {
                return;
            }

            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");

            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.Failed           += QueryTask_Failed;

            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.OutFields.Add("*");
            query.ReturnGeometry      = true;
            query.Text                = QueryComboBox.SelectedItem.ToString();
            query.OutSpatialReference = MyMap.SpatialReference;

            queryTask.ExecuteAsync(query);
        }
        private void MyDrawSurface_DrawComplete(object sender, ESRI.ArcGIS.Client.DrawEventArgs args)
        {
            ResultsDisplay.Visibility = Visibility.Collapsed;
            MyDrawObject.IsEnabled = false;
            selectionGraphicslayer.ClearGraphics();

            // Bind data grid to query results
            Binding resultFeaturesBinding = new Binding("LastResult.Features");
            resultFeaturesBinding.Source = MyQueryTask;
            QueryDetailsDataGrid.SetBinding(DataGrid.ItemsSourceProperty, resultFeaturesBinding);

            Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.OutFields.AddRange(new string[] { "STATE_NAME", "POP2000", "SUB_REGION" });
            query.OutSpatialReference = MyMap.SpatialReference;
            query.Geometry = args.Geometry;
            query.SpatialRelationship = SpatialRelationship.esriSpatialRelIntersects;
            query.ReturnGeometry = true;

            MyQueryTask.ExecuteAsync(query);
        }
Exemplo n.º 47
0
        /* ****** Identify using Query Service ****** */
        private void QueryIdentifyTask_ExecuteCompleted(object sender, QueryEventArgs args)
        {
            QueryItem queryItem = args.UserState as QueryItem;

              if (queryItem.Index == 0)
              {
            IdentifyComboBox.Items.Clear();
            _layersIdentified.Clear();
            IdentifyDetailsDataGrid.ItemsSource = null;
              }

              // display search results for this layers query.
              if (args.FeatureSet.Features.Count > 0)
              {
            foreach (Graphic feature in args.FeatureSet.Features)
            {
              string title = queryItem.IdentifyLayerName;

              feature.Attributes.Remove("Shape");
              feature.Attributes.Remove("OBJECTID");
              _dataItems.Add(new DataItem()
              {
            Title = title,
            Data = feature.Attributes
              });
              IdentifyComboBox.Items.Add(title);

              if (_activeIdentifyLayer == title)
            queryItem.ActiveLayer = _layersIdentified.Count;
              _layersIdentified.Add(title);
            }
              }

              if (queryItem.Next()) // this increments the internal index
              {
            Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.SpatialRelationship = SpatialRelationship.esriSpatialRelIntersects;
            query.Geometry = queryItem.BufferedPoint;
            query.OutFields.AddRange(new string[] { "*" });

            QueryTask queryTask = new QueryTask(queryItem.IdentifyLayerUrl);
            queryTask.ExecuteCompleted += QueryIdentifyTask_ExecuteCompleted;
            queryTask.Failed += QueryIdentifyTask_Failed;

            queryTask.ExecuteAsync(query, queryItem);
              }
              else // We are done with all our queries, display the result.
              {
            IdentifyComboBox.SelectedIndex = queryItem.ActiveLayer;
            Visibility = System.Windows.Visibility.Visible;

            if ((_dataItems == null) || (_dataItems.Count == 0))
            {
              NoResult.Visibility = Visibility.Visible;
              Results.Visibility = Visibility.Collapsed;
            }
            else
            {
              NoResult.Visibility = Visibility.Collapsed;
              Results.Visibility = Visibility.Visible;
            }
              }
        }
        private async void MyMap_MouseClick(object sender, ESRI.ArcGIS.Client.Map.MouseEventArgs e)
        {
            try
            {
                if (_cts != null)
                    _cts.Cancel();

                _cts = new CancellationTokenSource();

                Graphic clickGraphic = new Graphic();
                clickGraphic.Symbol = LayoutRoot.Resources["DefaultMarkerSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol;
                clickGraphic.Geometry = e.MapPoint;
                clickGraphic.Geometry.SpatialReference = MyMap.SpatialReference;

                _pointAndBufferGraphicsLayer.Graphics.Clear();
                _resultsGraphicsLayer.Graphics.Clear();

                clickGraphic.SetZIndex(2);
                _pointAndBufferGraphicsLayer.Graphics.Add(clickGraphic);

                ESRI.ArcGIS.Client.Tasks.BufferParameters bufferParams = new ESRI.ArcGIS.Client.Tasks.BufferParameters()
                {
                    BufferSpatialReference = new SpatialReference(4326),
                    OutSpatialReference = MyMap.SpatialReference,
                    Unit = LinearUnit.Meter,
                };
                bufferParams.Distances.Add(100);
                bufferParams.Features.Add(clickGraphic);

                BufferResult bufferResult = await _geometryService.BufferTaskAsync(bufferParams, _cts.Token);

                Graphic bufferGraphic = new Graphic();
                bufferGraphic.Geometry = bufferResult.Results[0].Geometry;
                bufferGraphic.Symbol = LayoutRoot.Resources["BufferSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol;
                bufferGraphic.SetZIndex(1);

                _pointAndBufferGraphicsLayer.Graphics.Add(bufferGraphic);

                ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
                query.ReturnGeometry = true;
                query.OutSpatialReference = MyMap.SpatialReference;
                query.Geometry = bufferGraphic.Geometry;
                query.OutFields.Add("OWNERNME1");

                QueryResult queryResult = await _queryTask.ExecuteTaskAsync(query, _cts.Token);

                if (queryResult.FeatureSet.Features.Count < 1)
                {
                    MessageBox.Show("No features found");
                    return;
                }

                foreach (Graphic selectedGraphic in queryResult.FeatureSet.Features)
                {
                    selectedGraphic.Symbol = LayoutRoot.Resources["ParcelSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol;
                    _resultsGraphicsLayer.Graphics.Add(selectedGraphic);
                }
            }
            catch (Exception ex)
            {
                if (ex is ServiceException)
                {
                    MessageBox.Show(String.Format("{0}: {1}", (ex as ServiceException).Code.ToString(), (ex as ServiceException).Details[0]), "Error", MessageBoxButton.OK);
                    return;
                }
            }
        }
        private string QueryRouteNameByUserName()
        {
            string routeName = null;

              while (String.IsNullOrEmpty(_username))
              {
            _loginDialog.ShowDialog();
            _username = _loginDialog.UserName;
              }

              try
              {
            string accountNameFieldAlias = ConfigurationManager.AppSettings.Get("RouteAssignmentAccountFieldAlias");
            string accountNameFieldName = _flRouteAssignment.FieldAliasToName(accountNameFieldAlias);

            QueryTask queryTask = new QueryTask(_flRouteAssignment.Url);
            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.Where = accountNameFieldName + "='" + _username + "'";
            query.ReturnGeometry = false;
            query.OutFields.AddRange(new string[] { "*" });
            queryTask.Execute(query);
            if (queryTask.LastResult.Features.Count() > 0)
            {
              string routeNameFieldAlias = ConfigurationManager.AppSettings.Get("RouteAssignmentRouteFieldAlias");
              string routeNameFieldName = _flRouteAssignment.FieldAliasToName(routeNameFieldAlias);
              Graphic feature = queryTask.LastResult.Features.First();
              if (feature.Attributes.ContainsKey(routeNameFieldName))
            routeName = feature.Attributes[routeNameFieldName].ToString();
            }
              }
              catch (Exception ex)
              {
            System.Diagnostics.Debug.WriteLine(ex.Message);
              }

              if (routeName == null)
              {
            MessageBox.Show("Please make sure '" + _username + "' is listed in the '" + _flRouteAssignment.FeatureLayer.DisplayName + "' feature service layer.", "Error retreiving the Route Name for " + _username, MessageBoxButton.OK, MessageBoxImage.Error);
            Application.Current.Shutdown();
              }

              return routeName;
        }
Exemplo n.º 50
0
        //Query Task
        void QueryButton_Click(object sender, RoutedEventArgs e)
        {
            QueryTask queryTask =
                new QueryTask("http://maverick.arcgis.com/ArcGIS/rest/services/World_WGS84/MapServer/0");
            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.Failed += QueryTask_Failed;

            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.Text = StateNameTextBox.Text;

            query.OutFields.Add("*");
            queryTask.ExecuteAsync(query);
        }
    /// <summary>
    /// Runs a test query against the specified date field to determine the type of data source.
    /// </summary>
    private static void QueryDate(string dataSetUrl, bool useProxy, SubLayerField dateField, string dataSource, EventHandler<DataSourceEventArgs> callback)
    {
      DateTime testDate = new DateTime(1977, 12, 01, 0, 0, 0, 0);

      QueryTask qT = new QueryTask(dataSetUrl);
      if (useProxy)
        qT.ProxyURL = ArcGISOnlineEnvironment.ConfigurationUrls.ProxyServerEncoded;

      ESRI.ArcGIS.Client.Tasks.Query q = new ESRI.ArcGIS.Client.Tasks.Query();
      q.OutFields.Add(dateField.Name);
      q.Where = dateField.Name + " = " + Format(testDate, dataSource);
      q.ReturnGeometry = false;

      EventHandler<ESRI.ArcGIS.Client.Tasks.QueryEventArgs> completedHandler = null;
			completedHandler = (object sender, ESRI.ArcGIS.Client.Tasks.QueryEventArgs e) =>
      {
        callback(null, new DataSourceEventArgs() { DataSource = dataSource });
      };

      qT.ExecuteCompleted += completedHandler;

      //execute the query
      //
      qT.ExecuteAsync(q);
    }
        private void MyDrawSurface_DrawComplete(object sender, ESRI.ArcGIS.Client.DrawEventArgs args)
        {
            GraphicsLayer selectionGraphicslayer = Map.Layers["MySelectionGraphicsLayer"] as GraphicsLayer;
            selectionGraphicslayer.ClearGraphics();

            // Bind data grid to query results
            Binding resultFeaturesBinding = new Binding("LastResult.Features");
            resultFeaturesBinding.Source = _queryTask;
            QueryDetailsDataGrid.SetBinding(DataGrid.ItemsSourceProperty, resultFeaturesBinding);

            Query query = new ESRI.ArcGIS.Client.Tasks.Query();
            query.OutFields.AddRange(new string[] { "state_name", "pop2000", "sub_region" });
            query.OutSpatialReference = Map.SpatialReference;
            query.Geometry = args.Geometry;
            query.SpatialRelationship = SpatialRelationship.esriSpatialRelIntersects;
            query.ReturnGeometry = true;

            _queryTask.ExecuteAsync(query);
        }
        void MyMap_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "SpatialReference")
            {
                MyMap.PropertyChanged -= MyMap_PropertyChanged;

                _legendGridCollapsed = false;
                _classGridCollapsed = false;

                LegendCollapsedTriangle.MouseLeftButtonUp += Triangle_MouseLeftButtonUp;
                LegendExpandedTriangle.MouseLeftButtonUp += Triangle_MouseLeftButtonUp;
                ClassCollapsedTriangle.MouseLeftButtonUp += Triangle_MouseLeftButtonUp;
                ClassExpandedTriangle.MouseLeftButtonUp += Triangle_MouseLeftButtonUp;

                // Get start value for number of classifications in XAML.
                _lastGeneratedClassCount = Convert.ToInt32(((ComboBoxItem)ClassCountCombo.SelectedItem).Content);

                // Set query where clause to include features with an area greater than 70 square miles.  This
                // will effectively exclude the District of Columbia from attributes to avoid skewing classifications.
                ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
                {
                    Where = "SQMI > 70",
                    OutSpatialReference = MyMap.SpatialReference,
                    ReturnGeometry = true
                };
                query.OutFields.Add("*");

                QueryTask queryTask =
                    new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");

                queryTask.ExecuteCompleted += (evtsender, args) =>
                {
                    if (args.FeatureSet == null)
                        return;
                    _featureSet = args.FeatureSet;
                    SetRangeValues();
                    RenderButton.IsEnabled = true;
                };

                queryTask.ExecuteAsync(query);

                CreateColorList();
                CreateThematicList();
            }
        }
        /// <summary>
		/// Initializes the Data tab with a sample view of attributes of the layer.
		/// </summary>
		private void SetupPreview()
		{
            if (FeatureLayer == null)
                return;
			QueryTask qT = new QueryTask(FeatureLayer.Url);
            qT.ProxyURL = FeatureLayer.ProxyUrl;

			ESRI.ArcGIS.Client.Tasks.Query q = new ESRI.ArcGIS.Client.Tasks.Query();
			foreach (var field in QueryProperties.SubLayerDescription.Fields)
				q.OutFields.Add(field.Name);

			q.Where = "1=1"; //query for features in the layer, todo: any way to limit the number of features returned?
			q.ReturnGeometry = false;

			EventHandler<ESRI.ArcGIS.Client.Tasks.QueryEventArgs> completedHandler = null;
			EventHandler<TaskFailedEventArgs> failedHandler = null;

			completedHandler = (object sender, ESRI.ArcGIS.Client.Tasks.QueryEventArgs e) =>
			{
				PreviewDataGrid.Columns.Clear();
				if (e.FeatureSet == null || e.FeatureSet.Features == null || e.FeatureSet.Features.Count == 0)
					return;

				//set up the columns of the table
				//if a field does not exist in the layer description don't add it to the table
				//this is the case for the geometry field
				//
				List<string> columns = new List<string>();
				foreach (string key in e.FeatureSet.Features[0].Attributes.Keys)
					if (GetField(key) != null)
						columns.Add(key);

				int count = 0;
				Table table = new Table(columns.ToArray());
				foreach (Graphic feature in e.FeatureSet)
				{
					List<object> cells = new List<object>();
					foreach (var attribute in feature.Attributes)
					{
						SubLayerField field = GetField(attribute.Key);
						if (field == null)
							continue;

						if (field.AttributeDomain != null && field.AttributeDomain.Type == "codedValue" && attribute.Value != null)
							cells.Add(field.AttributeDomain[attribute.Value]);
						else
						{
							//if the field value is a date in milliseconds format it to a user readable date
							//
							string formattedDateString = null;
							if (field.Type == "esriFieldTypeDate" && attribute.Value != null && attribute.Value.ToString().TryParseToDateString(out formattedDateString))
								cells.Add(formattedDateString);
							else
								cells.Add(attribute.Value);
						}
					}

					table.Rows.Add(new Row(cells.ToArray()));

					count++;
					if (count == 25)
						break;
				}

				//initialize the DataGrid columns
				//
				foreach (DataGridTextColumn column in table.Columns)
				{
					column.CanUserSort = true;
					PreviewDataGrid.Columns.Add(column);
				}

				//setting the table as the DataContext of the DataGrid initializes the rows via binding
				//
				PreviewDataGrid.DataContext = table;
				PreviewDataGrid.UpdateLayout();
				if (table.Rows.Count > 0 && PreviewDataGrid.Columns.Count > 0)
					PreviewDataGrid.ScrollIntoView(table.Rows[0].Cells[0], PreviewDataGrid.Columns[0]);
				DataPreviewProgressIndicator.Visibility = Visibility.Collapsed;
			};

			failedHandler = ((object sender, TaskFailedEventArgs e) =>
				{
					FailedPreviewTextBlock.Visibility = Visibility.Visible;
					DataPreviewProgressIndicator.Visibility = Visibility.Collapsed;
				});

			qT.ExecuteCompleted += completedHandler;
			qT.Failed += failedHandler;

			//execute the query
			//
			qT.ExecuteAsync(q);
		}
        private void LoadGraphics()
        {
            // Set query where clause to include features with an area greater than 70 square miles.  This
            // will effectively exclude the District of Columbia from attributes to avoid skewing classifications.
            ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                Where = "SQMI > 70",
                ReturnGeometry = true,
                OutSpatialReference = MyMap.SpatialReference
            };
            query.OutFields.Add("*");

            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/" +
                "Demographics/ESRI_Census_USA/MapServer/5");

            queryTask.ExecuteCompleted += (evtsender, args) =>
            {
                if (args.FeatureSet == null)
                    return;
                _featureSet = args.FeatureSet;
                SetRangeValues();
                RenderButton.IsEnabled = true;
            };

            queryTask.ExecuteAsync(query);

            CreateColorList();
            CreateThematicList();
        }
        private Graphic QueryRouteFeatureByName(String routeName)
        {
            LookupFieldNames();
              if (_routesRouteNameFieldName == null)
            return null;

              // TODO: get the feature directly from the feature layer instead of querying for it

              QueryTask queryTask = new QueryTask(_flRoutes.Url);
              ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
              query.Where = (_routesRouteNameFieldName + "='" + routeName + "'");
              query.ReturnGeometry = true;
              query.OutFields.AddRange(new string[] { "*" });
              queryTask.Execute(query);
              if (queryTask.LastResult.Features.Count() > 0)
            return queryTask.LastResult.Features.First();
              else
            return null;
        }
        private void MyMap_MouseClick(object sender, ESRI.ArcGIS.Client.Map.MouseEventArgs e)
        {
            MyInfoWindow.IsOpen = false;

            double mapScale = MyMap.Scale;

            ArcGISDynamicMapServiceLayer alayer = null;
            DataTemplate dt = null;
            int layid = 0;

            foreach (Layer layer in MyMap.Layers)
            {
                if (layer.GetValue(Document.PopupTemplatesProperty) != null)
                {
                    alayer = layer as ArcGISDynamicMapServiceLayer;
                    IDictionary<int, DataTemplate> idict = layer.GetValue(Document.PopupTemplatesProperty) as IDictionary<int, DataTemplate>;
                    foreach (LayerInfo linfo in alayer.Layers)
                    {
                        if (((mapScale > linfo.MaxScale // in scale range
                            && mapScale < linfo.MinScale) ||
                            (linfo.MaxScale == 0.0 // no scale dependency
                            && linfo.MinScale == 0.0) ||
                            (mapScale > linfo.MaxScale // minscale = 0.0 = infinity
                            && linfo.MinScale == 0.0)) &&
                            idict.ContainsKey(linfo.ID)) // id present in dictionary
                        {
                            layid = linfo.ID;
                            dt = idict[linfo.ID];
                            break;
                        }
                    }
                }
            }

            if (dt != null)
            {
                QueryTask qt = new QueryTask(string.Format("{0}/{1}", alayer.Url, layid));
                qt.ExecuteCompleted += (s, qe) =>
                {
                    if (qe.FeatureSet.Features.Count > 0)
                    {
                        Graphic g = qe.FeatureSet.Features[0];
                        MyInfoWindow.Anchor = e.MapPoint;
                        MyInfoWindow.ContentTemplate = dt;
                        MyInfoWindow.Content = g.Attributes;
                        MyInfoWindow.IsOpen = true;
                    }
                };

                ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
                double contractRatio = MyMap.Extent.Width / 20;
                Envelope inputEnvelope = new Envelope(e.MapPoint.X - contractRatio,
                    e.MapPoint.Y - contractRatio,
                    e.MapPoint.X + contractRatio,
                    e.MapPoint.Y + contractRatio);
                inputEnvelope.SpatialReference = MyMap.SpatialReference;
                query.Geometry = inputEnvelope;
                query.OutSpatialReference = MyMap.SpatialReference;
                query.OutFields.Add("*");

                qt.ExecuteAsync(query);
            }
        }
        private void MyDrawSurface_DrawComplete(object sender, ESRI.ArcGIS.Client.DrawEventArgs args)
        {
            selectionGraphicsLayer.ClearGraphics();

            QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");
            queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
            queryTask.Failed += QueryTask_Failed;

            Query query = new ESRI.ArcGIS.Client.Tasks.Query()
            {
                Geometry = args.Geometry,
                OutSpatialReference = MyMap.SpatialReference,
                ReturnGeometry = true
            };

            // Specify fields to return from query
            query.OutFields.AddRange(new string[] { "STATE_NAME", "POP2000", "POP2007" });

            queryTask.ExecuteAsync(query);
        }
        private void MyMap_MouseClick(object sender, ESRI.ArcGIS.Client.Map.MouseEventArgs e)
        {
            GraphicsLayer glayer = MyMap.Layers["MySelectionGraphicsLayer"] as GraphicsLayer;
            glayer.Graphics.Clear();

            MyInfoWindow.IsOpen = false;

            double mapScale = MyMap.Scale;

            ArcGISTiledMapServiceLayer alayer = null;
            DataTemplate dt = null;
            int layid = 0;

            foreach (Layer layer in MyMap.Layers)
            {
                if (layer.GetValue(Document.PopupTemplatesProperty) != null)
                {
                    alayer = layer as ArcGISTiledMapServiceLayer;
                    IDictionary<int, DataTemplate> idict = layer.GetValue(Document.PopupTemplatesProperty) as IDictionary<int, DataTemplate>;

                    foreach (LayerInfo linfo in alayer.Layers)
                    {
                        if (((mapScale > linfo.MaxScale // in scale range
                            && mapScale < linfo.MinScale) ||
                            (linfo.MaxScale == 0.0 // no scale dependency
                            && linfo.MinScale == 0.0) ||
                            (mapScale > linfo.MaxScale // minscale = 0.0 = infinity
                            && linfo.MinScale == 0.0)) &&
                            idict.ContainsKey(linfo.ID)) // id present in dictionary
                        {
                            layid = linfo.ID;
                            dt = idict[linfo.ID];
                            break;
                        }
                    }
                }
            }

            if (dt != null)
            {
                QueryTask qt = new QueryTask(string.Format("{0}/{1}", alayer.Url, layid));
                qt.ExecuteCompleted += (s, qe) =>
                {
                    if (qe.FeatureSet.Features.Count > 0)
                    {
                        Graphic g = qe.FeatureSet.Features[0];
                        MyInfoWindow.Anchor = e.MapPoint;
                        MyInfoWindow.ContentTemplate = dt;
                        MyInfoWindow.Content = g.Attributes;
                        MyInfoWindow.IsOpen = true;

                        SolidColorBrush symbolColor = new SolidColorBrush(Colors.Cyan);

                        if (g.Geometry is Polygon || g.Geometry is Envelope)
                        {
                            g.Symbol = new SimpleFillSymbol()
                            {
                                BorderBrush = symbolColor,
                                BorderThickness = 2
                            };
                        }
                        else if (g.Geometry is Polyline)
                        {
                            g.Symbol = new SimpleLineSymbol()
                            {
                                Color = symbolColor
                            };
                        }
                        else // Point
                        {
                            g.Symbol = new SimpleMarkerSymbol()
                            {
                                Color = symbolColor,
                                Size = 12
                            };
                        }
                        glayer.Graphics.Add(g);
                    }
                };

                ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query()
                {
                    Geometry = e.MapPoint,
                    OutSpatialReference = MyMap.SpatialReference,
                    ReturnGeometry = true
                };
                query.OutFields.Add("*");

                qt.ExecuteAsync(query);
            }
        }
Exemplo n.º 60
0
        void GeometryService_IdentifyPointBufferCompleted(object sender, GraphicsEventArgs args)
        {
            QueryItem queryItem = args.UserState as QueryItem;
              queryItem.BufferedPoint = args.Results[0].Geometry;

              // We now have a result for out buffered start point.
              // Issue a query to each identify layer.

              Query query = new ESRI.ArcGIS.Client.Tasks.Query();
              query.SpatialRelationship = SpatialRelationship.esriSpatialRelIntersects;
              query.Geometry = queryItem.BufferedPoint;
              query.OutFields.AddRange(new string[] { "*" });

              QueryTask queryTask = new QueryTask(queryItem.IdentifyLayerUrl);
              queryTask.ExecuteCompleted += QueryIdentifyTask_ExecuteCompleted;
              queryTask.Failed += QueryIdentifyTask_Failed;

              queryTask.ExecuteAsync(query, queryItem);
        }