|
POST
|
...Actually just a little extra info on this one. If you don't add the FeatureLayer to the map and you call Initialize explicitly then the FeatureLayer is not initially populated with features because no Update call is fired. In this case you'll need to make that Update call yourself. You could, although it's probably not necessary, wait for the UpdateCompleted event before assigning the FeatureLayer to the GraphicsLayer property of the FeatureDataGrid: e.g.
featureLayer.Initialized += (s1, e1) =>
{
featureLayer.UpdateCompleted += (s2, e2) =>
{
// Assign Map and GraphicsLayer property in UpdateCompleted event (probbaly optional)
MyDataGrid.Map = MyMap;
MyDataGrid.GraphicsLayer = featureLayer as GraphicsLayer;
};
featureLayer.Update(); // Call Update explicitly, that will populate the layer wiht features (and therefore populate the grid)
};
featureLayer.Initialize();
//MyMap.Layers.Add(featureLayer);
Cheers Mike
... View more
01-24-2013
06:00 AM
|
0
|
0
|
4123
|
|
POST
|
Hi, You can create a FeatureLayer from a ".../MapServer/dynamicLayer..." endpoint, and FeatureLayer also has a Source property which takes a LayerSource object (LayerMapSource or LayerDataSource), therefore it's possible to populate a FeatureDataGrid with the contents of a Shapefile added via the DynamicLayer sample you've been using.
FeatureLayer featureLayer = new FeatureLayer();
featureLayer.ID = "blah";
featureLayer.OutFields.Add("*");
featureLayer.Url = arcGisLocalDynamicMapServiceLayer.Url + "/dynamicLayer";
featureLayer.Source = new LayerDataSource()
{
DataSource = dataSource
};
featureLayer.Initialized += (s1, e1) =>
{
MyDataGrid.Map = MyMap;
MyDataGrid.GraphicsLayer = featureLayer as GraphicsLayer;
};
// featureLayer.Initialize(); // You only need to call initialize if not adding layer to map.
MyMap.Layers.Add(featureLayer);
You don't necessarily need to add the FeatureLayer to the map, and if you don't then you'll need to call the Initialize() method explicitly which will trigger a query and populate the feature layer with features. The important pieces in the query are #1 the "dynamicLayer" endpoint and #2 the layer definition (persisted by the client API and submitted on a per-request basis: ...&layer={"id":0,"source":{"type":"dataLayer","dataSource":{"type":"table","workspaceId":"8b5642c7-9ffc-4ee0-bf63-bd7a94fab189","dataSourceName":"Points"}},"definitionExpression":"1=1"}... In the example above "dataSource" is an instance of a TableDataSource:
dataSource = new TableDataSource
{
// Match the DataSourceName to the physical filename on disk (excluding extension).
DataSourceName = fileName,
// Provide the WorkspaceID (the unique workspace identifier created earlier). A LocalMapService may have multiple dynamic workspaces.
WorkspaceID = workspaceInfo.Id
};
Cheers Mike
... View more
01-24-2013
03:59 AM
|
0
|
0
|
4123
|
|
POST
|
Glad to hear you got it working. There's a sample in the WPF Sample App which could help in future - GPTaskInfo, it spins up a new LocalGPService based on your GPK and lists the parameters, etc. Looks like this: http://resources.arcgis.com/en/help/runtime-wpf/samples/index.html#/GPTaskInfo/02q20000004w000000/ Cheers Mike
... View more
01-22-2013
11:57 PM
|
0
|
0
|
2339
|
|
POST
|
You've got a couple of options: #1. Iterate over the GPMessages e.g.
geoprocessor.ExecuteCompleted += (s1, e1) =>
{
GPExecuteResults results = e1.Results;
foreach (GPMessage message in results.Messages)
{
// Do Something e.g. Console.WriteLine(message.Description);
}
};
geoprocessor.ExecuteAsync(new List<GPParameter>());
#2. Take a look at the actual RuntimeLocalServer log files - sometimes there may be additional info in there. Use the LocalServerUtility (accessed from the Start Menu) to enable logging for your central developer Runtime install then rerun your code. This will generate a log file - you can use the LocalServerUtility to view these logfiles, or at least the location of them anyway - they're just textfiles written to your temp folder. Cheers Mike
... View more
01-22-2013
06:35 AM
|
0
|
0
|
2339
|
|
POST
|
We're very pleased to announce that the ArcGIS Runtime SDK 10.1.1 for WPF is now available for download from the Customer Care Portal: http://customers.esri.com/. Make sure you take a look at the Release Notes for a list of enhancements, changes and known limitations in this release: http://resources.arcgis.com/en/help/runtime-wpf/concepts/index.html#/Release_notes_ArcGIS_Runtime_SDK_10_1_1_for_WPF ... And here are some other resources you may find useful: Blog Announcement: http://blogs.esri.com/esri/arcgis/2013/01/17/arcgis-runtime-sdk-for-wpf-10-1-1-is-here/ Resource Center: http://resources.arcgis.com/en/communities/runtime-wpf/index.html Conceptual Doc: http://resources.arcgis.com/en/help/runtime-wpf/concepts/index.html#//017000000031000000 *New* Samples: http://resources.arcgis.com/en/help/runtime-wpf/samples/index.html API Reference Library: http://resources.arcgis.com/en/help/runtime-wpf/apiref/index.html Sample App download (if you don't have the SDK): http://www.arcgis.com/home/item.html?id=ace12032e3db4314b7ba7ee5b341c80c Cheers Mike
... View more
01-22-2013
06:24 AM
|
1
|
23
|
15374
|
|
POST
|
The type of method call you make: ExecuteAsync or SubmitJobAsync needs to correspond the the GPServiceType you start the Local GP Service as (GpServiceType.Execute, etc) - see http://resources.arcgis.com/en/help/runtime-wpf/apiref/index.html?ESRI.ArcGIS.Client.Local~ESRI.ArcGIS.Client.Local.GPServiceType.html for more info. It's an architectural detail of the way the RuntimeLocalServer manages the LocalGPService, but it's a choice you need to make. Typically the Execute (synchronous) type of service should only be used for very quick models/taks. Cheers Mike
... View more
01-22-2013
06:17 AM
|
0
|
0
|
2339
|
|
POST
|
Hi, The task within the service takes the same name as the model name - from your screenshot it looks like you should be using "BufferModel" in your code? Cheers Mike
... View more
01-22-2013
05:57 AM
|
0
|
0
|
2339
|
|
POST
|
Hi, What operations would you like to perform on the duplicate layer? (e.g. display, query, edit, etc) Can you provide some more details on the workflow too? Cheers Mike
... View more
01-21-2013
11:29 PM
|
0
|
0
|
1181
|
|
POST
|
Exactly. Mike mentioned that there were talks about adding advanced labeling in next versions of the Runtime. Is there an estimated time frame for that by any chance? Unfortunately there is no timescale yet, but I wanted to let you know that we're aware that client-side labelling control is lacking from the API and that we are working to address this. Cheers Mike
... View more
01-21-2013
06:21 AM
|
0
|
0
|
673
|
|
POST
|
Hi, The SDK requires an EDN. We're using API 2.4, which didn't. Are there any plans to release the SDK, or a "less capable" version without the requirement of an EDN? I went over the licensing requirements for the SDK, our usage falls under the Basic (no cost) area. We have a service contract, just not an EDN (I think). There are currently no plans to release a separate version of the ArcGIS Runtime SDK for WPF which can be licensed for development without an EDN subscription. However, I'm not familiar with the details of service contracts so I'd encourage you to talk to your esri account manager. I downloaded the source from codeplex, but it's not the ESRI.ArcGis.Client namespace (Map, Geometry, etc), just the "toolkit". Correct - it is just the toolkit - but the source for the WMSLayer is included in the ESRI.ArcGIS.Client.Toolkit.Datasources namespace. Cheers Mike
... View more
01-21-2013
06:00 AM
|
0
|
0
|
2091
|
|
POST
|
Hi, Actually it is possible to create a FeatureLayer from a MapServer endpoint, with the DynamicLayer capability enabled and have it honour the per-request service definition so this may allow you to achieve your objective. The code below is taken from the "Dynamic Layers Thematic Mapping" sample - see the new online sample pages (http://resources.arcgis.com/en/help/runtime-wpf/samples/index.html#/Dynamic_Layers_Thematic_Online/02q2000000p7000000/) or also available in your locally installed sample app under "Mapping" > "Dynamic Map Layers"... this code shows creating a FeatureLayer from a MapServer endpoint with the "/dynamicLayer" suffix and setting the ID of the layer within the map service which this layer will represent (LayerMapSource). <esri:FeatureLayer ID="StatesFeatureLayer" OutFields="*" DisplayName="USA Census - States" Url="http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/dynamicLayer" Initialized="FeatureLayer_Initialized"> <esri:FeatureLayer.Source> <esri:LayerMapSource MapLayerID="3"/> </esri:FeatureLayer.Source> </esri:FeatureLayer> In the case above, it uses an existing layer within the service but you may be able work with a table data source (see http://resources.arcgis.com/en/help/runtime-wpf/samples/index.html#/Dynamic_Layers_in_XAML_Online/02q200000029000000/) - unfortunately I haven't been able to try this. <esri:LayerDataSource> <esri:LayerDataSource.DataSource> <esri:TableDataSource WorkspaceID="MyDatabaseWorkspaceIDSSR2" DataSourceName="ss6.gdb.Lakes" /> </esri:LayerDataSource.DataSource> </esri:LayerDataSource> It's worth noting that the FeatureServer endpoint does not support the DynamicLayer capability and therefore it's not possible to perform operations against the FeatureServer (e.g. updating features) that honour the per-request modification of the service. Cheers Mike
... View more
01-21-2013
05:48 AM
|
0
|
0
|
824
|
|
POST
|
Hi, #. RE: Random URL:- note that you can disable the random prefix by using the LocalServerUtility tool in the Start Menu. #. RE: Multiple application instances:- Are these mutliple instances of the sample application? Or different applications? If they are different applications you will need to license each one separately. The ArcGIS Runtime licensing is per application, not per machine. Cheers Mike
... View more
01-21-2013
05:18 AM
|
0
|
0
|
1912
|
|
POST
|
Hi, For on the fly manipulation you're right that you should be considering the graphics approach, and with that many features you definitely need to be using the accelerated display mode (set via the Map.UseAcceleratedDisplay or the AcceleratedDisplayLayers grouplayer). Pouring that many features into a File GDB will take a little time so definitely needs to be done as a background task and for display some filtering certainly be required for display to ensure it provides a good user experience. We're also looking at ways we can improve performance in the product when working with millions of features. Cheers Mike
... View more
01-16-2013
12:34 AM
|
0
|
0
|
1111
|
|
POST
|
We are thinking of using LabelPoints/TextSymbols and make them look better manually, because setting up the labels in ArcMap is not a viable option for us right now. That said, is there a way to set a JoinDataSource on a FeatureLayer, so that I can use the extra fields from the database in the TextSymbol? The DynamicLayers capability is unfortunately not available on the FeatureServer and therefore on the FeatureLayer class, it's only available on the MapServer and the ArcGIS[Local]DynamicMapServiceLayer class. Also, how would I register a workspace for my database? You register workspaces with the LocalMapService prior to starting it - however looking at the documentation again the database needs to be a geodatabase. There is a sample on ArcGIS.com (http://www.arcgis.com/home/item.html?id=953a530ada30477d95cc69e788268bc9) which demonstrates using the DynamicLayers capability for adding folder workspaces (shapefile/raster) and redefining the layers within a local map service, although it does not demonstrate table joins. This sample is included with the SDK Sample Application in the next release (10.1.1). Cheers Mike
... View more
01-15-2013
05:37 AM
|
0
|
0
|
501
|
|
POST
|
Hi, The DynamicLayer capability is only supported on the MapServer, but in order to introduce more advanced labelling behaviour, you will need the MapServer to be rendering at least the labels, if not the entire layer (e.g. if used in conjunction with a selection only feature layer). There's only one property to enable labelling when working with the LayerDrawingOptions class (http://resources.arcgis.com/en/help/runtime-wpf/apiref/index.html?ESRI.ArcGIS.Client~ESRI.ArcGIS.Client.LayerDrawingOptions~ShowLabels.html), but these labels should exhibit better rendering behavior than just using TextSymbols via the API. As i said - we're aware of the limited labelling capabilities for graphics in the map and are working on improving this functionality for a future release. Cheers Mike
... View more
01-14-2013
11:47 PM
|
0
|
0
|
501
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 04-14-2026 05:04 AM | |
| 1 | 02-20-2024 07:02 AM | |
| 1 | 01-19-2026 06:44 AM | |
| 1 | 12-10-2025 07:16 AM | |
| 1 | 11-21-2025 08:12 AM |
| Online Status |
Offline
|
| Date Last Visited |
07-02-2026
06:07 AM
|