|
POST
|
I'm wondering about the abilities of ArcGIS Runtime to use a database. I've read about it on the Resource Center but I have some questions I would like to recieve more clarification on. Another option to the above is probably to use ArcGIS Desktop, let it interact with a database, and generate a map package the client application can use, or am I wrong? Hi, The ArcGIS Runtime SDK for WPF can consume layers from a variety of datasources both "online" and "local". Online datasources cover sources such as ArcGIS for Server services (map, feature, image, etc) where the data is likely to reside in a database plus various Open Geospatial Consortium service types, and other services including Bing and OpenStreeMap. Local datasources refer to local Tile Packages or local map/feature services spun up from Map Packages. The Map Packages are prepared in ArcGIS for Desktop as you have identified. So you could say that the ArcGIS Runtime SDK for WPF supports all the same datasources as ArcGIS for Desktop... but any datasets that cannot be natively supported in the runtime local server will be converted to File Geodatabase. The Map Packages you create can persist the connection information for connecting directly to your database if required. To do this add an Enterprise GDB layer to ArcMap and package the map making sure you choose to reference the data. Regarding the Spatial Data Server - that's just a way of exposing lightweight feature services directly from spatial types in your database (http://resources.arcgis.com/en/help/main/10.1/#/What_is_ArcGIS_Spatial_Data_Server/01sq00000005000000/). Think of it as a subset of components from ArcGIS for Server. Cheers Mike
... View more
06-21-2012
01:52 AM
|
0
|
0
|
1051
|
|
POST
|
Hi, Packaging does not allow relative paths so you will need to ensure that the File GDB path is exactly the same on the authoring/packaging machine as on the deployment machine. One way to achieve this is to use virtual drives (e.g. the subst command) or a mapped network drive. We are planning a more comprehensive editing synchronization framework for a future release but for now the workflow involves the checkout/checkin replication process outlined below. Cheers Mike
... View more
06-21-2012
01:27 AM
|
0
|
0
|
892
|
|
POST
|
Hi, It is possible that eventually the ArcGIS Runtime SDK for WPF will replace ArcGIS Engine but for now ArcGIS Engine is still a good product choice if, for example, you need to perform fine-grained geometry and topological work or you need to build a solution that contains 3D visualization. The ArcGIS Runtime SDK for WPF contains a coarser grained API. The majority of the development effort is now on the ArcGIS Runtime SDKs and over the next 6, 12, 18 months you will see additional capabilities added to the Runtime SDK for WPF which will probably include some of the features already available in ArcGIS Engine such as edit synchronization, 3D, etc. As an EDN subscriber you will have access to both product SDKs and will be able to evaluate/prototype both to decide the right approach for each project you undertake. Unless you specifically need something that is only in ArcGIS Engine I suggest you should look at the new ArcGIS Runtime SDK for WPF. Cheers Mike
... View more
06-21-2012
01:04 AM
|
0
|
0
|
1330
|
|
POST
|
Hi, This should be possible. You will need to create a Map Package which contains (or references) the File GDB you wish to edit. Then create a LocalFeatureService from the map package and use the local service as the basis for an ArcGISLocalFeatureLayer. Edits are then performed against this layer. You should bear in mind that the licensing is per-application and therefore your windows service will need an ArcGIS Runtime standard license and that the license is single user only, i.e. the service can only be called by one client application (which would also need a separate ArcGIS Runtime license if it used any components of the ArcGIS Runtime SDK for WPF). The windows service could not be accessed by mutiple clients because that would constitute a server license (i.e. ArcGIS for Server). Typically layer initialization is handled by the map, but as your layer would not be participating in a map then you would need to call the Initialize method explicitly and listen for the InitializeCompleted event. That means the layer is ready for use but will not contain any features because the loading of features from the database into the layer is controlled by queries. In a typical map-based scenario the query uses the map extent to request features but if you wanted to retrieve existing features from the database you would need to construct your own queries and use the Update / UpdateCompleted event to handle that. Note the usage of these methods: .Update() = Selections and unsaved edits will be lost on Update. Performs a new refreshed query against the service and refreshes the graphics layer. .SaveEdits() = Save edits to the layer. Only required if AutoSave is false. .Refresh() = Forces a full redraw of all graphic features but does not affect selections or unsaved edits. Cheers Mike
... View more
06-21-2012
12:52 AM
|
0
|
0
|
2500
|
|
POST
|
Hi, The duplication is not necessary - you can just use the one Map Package and from that MPK create a Feature Service. All layers in the feature service will technically be editable but it's up to you as the developer which layers you allow your users to actually edit. For finer grained control over services you could look at the LocalFeatureService class. Cheers Mike
... View more
06-20-2012
03:36 AM
|
0
|
0
|
1329
|
|
POST
|
Hi, No, it's not possible via the API to check the license level. We did consider adding a property or enum for this purpose but came to the decision that it is actually unnecessary: - Deployment licenses do not expire, therefore the entire license file/string-array is either valid or invalid. - Deployment licenses are specific to an application, therefore when you deploy your application you only deploy one license file/string with that application, i.e. the application is either licensed for everything in the license file or not at all. - The license is initialized for the lifetime of the application and cannot be switched dynamically (nor would you want to - see above) - As a developer you are are licensed for basic, standard and all extensions. - Calling ArcGISRuntime.Initialize() will validate the license and raise an exception is the license is not valid. With all this in mind we decided that it is not necessary to check the contents of the license - just to check that it is valid via the ArcGISRuntime.Initialize() method. However, we could reconsider for a future release if you have a specific requirement to check the license. Cheers Mike
... View more
06-15-2012
12:22 AM
|
0
|
0
|
1032
|
|
POST
|
Hi, As Alexander nicely outlined, the workflow for getting data into apps built with the ArcGIS Runtime SDK for WPF if to create packages (Map, Tile, Locator, Geoprocessing) with ArcGIS for Desktop and use those as the basis for local services. There are a couple of other approaches which you can take. The first is to use the dynamic layers capability in conjunction with a local map service, which allows you to dynamically add/remove layers from the local map service. Or alternatively create a GP tool which takes a raster as input and simply outputs the same raster, package it and then start a local geoprocessing service of type SubmitJobWithMapServerResult and add the map service result as a layer to you map control. Cheers Mike
... View more
06-14-2012
12:27 AM
|
0
|
0
|
2598
|
|
POST
|
Hi, RE: Tile Packages: We found that reading Tile Packages directly from disk as a single TPK file offers excellent performance without going as far as implementing a local tiled service which would require the runtime local server. This also means that, licensing-wise, Tile Packages are available with the lowest level of license, termed "Basic". For more info see http://resourcesbeta.arcgis.com/en/help/runtime-wpf/concepts/index.html#/Functionality_set_requirements/017000000067000000/. RE: http://127.0.0.1:50000/V3XM5j/arcgis/rest/services (With the name changing each time): You can use the Local Server Utility (accessed from the Start menu) to control various properties of the runtime local server. This can be useful when debugging your application. One of these properties is the random prefix ("V3XM5j" in your example) which means you can keep hitting the same URL from a browser if you need to view the REST endpoint for local services as HTML/JSON (i.e. http://127.0.0.1:50000/arcgis/rest/services). It will also allow you to capture the http traffic in a network monitoring tool such as Fiddler. Cheers Mike
... View more
06-10-2012
01:29 AM
|
0
|
0
|
2305
|
|
POST
|
Hi, The local feature service which supports the ArcGISLocalFeatureLayer is started as either editable or non-editable - this property cannot be changed after the service is started. However, as the developer of the application it is up to you which layers you expose as editable to the user. Cheers Mike
... View more
06-06-2012
12:32 AM
|
0
|
0
|
1329
|
|
POST
|
Hi, You didn't say exactly what aspect of performance you would like to measure but you might be able to use the WPF perforator (http://msdn.microsoft.com/en-us/library/aa969767.aspx). Note that the map would be on a different rate to you application window because it's rendered in a background thread to avoid holding up the UI. Cheers Mike
... View more
06-04-2012
03:28 AM
|
0
|
0
|
1182
|
|
POST
|
Hi, With ArcGIS 10.1 we are releasing an enhanced version of the ArcGIS API for WPF which will be called the ArcGIS Runtime SDK for WPF. As a developer, this SDK will be available as part of your EDN subscription. When it comes to deployment, online/services-based applications will continue to be free to deploy but will require you to obtain a Basic license string which you embed in your application. Additional functionality such as local data support constitutes a Standard license and does have an associated deployment cost. For the list of functionality levels please see http://resourcesbeta.arcgis.com/en/help/runtime-wpf/concepts/index.html#/Functionality_set_requirements/017000000067000000/. Cheers Mike
... View more
05-14-2012
01:23 AM
|
0
|
0
|
733
|
|
POST
|
Hi, Please can you confirm whether you have installed DirectX v9.0c from the link in the release notes? (http://www.microsoft.com/en-us/download/details.aspx?id=8109). Cheers Mike
... View more
05-14-2012
01:13 AM
|
0
|
0
|
1896
|
|
POST
|
Hi, I've just tested these both these packages in the latest [daily] build of the ArcGIS Runtime SDK for WPF and they work fine - I had three templates appear in the Template Picker (red and orange polygons from the EMS MPK and outlines from the Paddocks MPK). I've provided my XAML/code below so you can take a look but it's just a copy of the Template Picker sample. Regarding editing feature templates, you can retrieve these from the layer and edit features programmatically. See this thread for more info: http://forums.arcgis.com/threads/48324-How-to-create-new-feature. XAML/Code:
<Grid x:Name="LayoutRoot" Background="White" >
<Grid.Resources>
<LinearGradientBrush x:Key="PanelGradient" EndPoint="0.5,1" StartPoint="0.5,0">
<LinearGradientBrush.RelativeTransform>
<TransformGroup>
<ScaleTransform CenterY="0.5" CenterX="0.5"/>
<SkewTransform CenterY="0.5" CenterX="0.5"/>
<RotateTransform Angle="176" CenterY="0.5" CenterX="0.5"/>
<TranslateTransform/>
</TransformGroup>
</LinearGradientBrush.RelativeTransform>
<GradientStop Color="#FF145787" Offset="0.16"/>
<GradientStop Color="#FF3D7FAC" Offset="0.502"/>
<GradientStop Color="#FF88C5EF" Offset="0.984"/>
</LinearGradientBrush>
</Grid.Resources>
<esri:Map x:Name="MyMap">
<esri:ArcGISTiledMapServiceLayer ID="MyLayer"
Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" />
<esri:ArcGISLocalFeatureLayer ID="EMS" Path="..\..\..\Tokanui EMS GDB.mpk" LayerName="ems" AutoSave="True" Editable="True" OutFields="*"></esri:ArcGISLocalFeatureLayer>
<esri:ArcGISLocalFeatureLayer ID="Paddocks" Path="..\..\..\Tokanui Paddocks GDB.mpk" LayerName="paddocks" AutoSave="True" Editable="True" OutFields="*"></esri:ArcGISLocalFeatureLayer>
</esri:Map>
<Border Background="{StaticResource PanelGradient}" BorderThickness="1" CornerRadius="5"
HorizontalAlignment="Right" VerticalAlignment="Top"
Padding="5" BorderBrush="Black" Margin="5" >
<Border.Effect>
<DropShadowEffect Color="Black" Direction="-45" BlurRadius="20" Opacity=".75" />
</Border.Effect>
<esri:TemplatePicker x:Name="MyTemplatePicker" Map="{Binding ElementName=MyMap, Mode=OneWay}"
Loaded="MyTemplatePicker_Loaded"/>
</Border>
</Grid>
public partial class MainWindow : Window
{
public MainWindow()
{
// License setting and ArcGIS Runtime initialization is done in Application.xaml.cs.
InitializeComponent();
}
private void MyTemplatePicker_Loaded(object sender, RoutedEventArgs e)
{
string[] myLayerIDs = { "EMS", "Paddocks" };
MyTemplatePicker.LayerIDs = myLayerIDs;
}
} Cheers Mike
... View more
05-11-2012
06:03 AM
|
0
|
0
|
2197
|
|
POST
|
Hi, At Prerelease the new accelerated display functionality is dependent on having the DirectX End User Runtime installed. However we are investigating removing this dependency for the release of 1.0 final. There is some more information on this in the release notes: http://resourcesbeta.arcgis.com/en/help/runtime-wpf/concepts/index.html#/Release_notes_ArcGIS_Runtime_SDK_1_0_Prerelease_for_WPF/01700000006s000000/ Cheers Mike
... View more
05-11-2012
04:24 AM
|
0
|
0
|
1896
|
|
POST
|
Hi, The capability to generate tile packages from existing cached services has been added to ArcGIS for Server 10.1 and was available in the Prerelease, but you'll need to start the caching service in the system tools folder from within the Manager application (or via an admin connection in ArcGIS for Desktop). Cheers Mike
... View more
05-10-2012
01:46 AM
|
0
|
0
|
2406
|
| 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
|