I want to develop a standalone and completely offline wpf app. I refer to the documentation but cannot figure out how to create local data, such as creating geodatabase and adding new point/polyline/polygon feature class, or just creating a shapefile.
It seems that I have to install local server which requesting additional license. What's more, every copy of my wpf app deploy to client pc have to install a local server?
For a simple viewer app, I would recommend to compose the map with ArcGIS Pro and export that map as a mobile map package (mmpk). Be sure to include all referenced data into the package.
To open the package, have an esri:MapView in your Xaml and in code behind, something like:
MobileMapPackage MyMapPackage = await MobileMapPackage.OpenAsync(mmpk_filename);
await MyMapPackage.LoadAsync();
MyMapView.Map = MyMapPackage.Maps.First();
This way, it will load much much faster and will consume less resources than with local server.
Hi,
There are 4 core approaches that you can pick from to build an offline app, outlined here. For a completely offline app that will never be able to connect to a network, @VolkerMatzken's suggested option of creating a Mobile Map Package in ArcGIS Pro is a great approach (Pro can also generate Mobile Geodatabases that you can open in your Runtime app - the difference really depends on whether you want to configure the map in Pro or programmatically define one in your Runtime app).
But as you noticed, you will need a way to create the local file(s) that you will use though. As mentioned in @VolkerMatzken's reply, you can use ArcGIS Pro to create a Mobile Map Package (MMPK) or Mobile Geodatabase, or you can create Shapefiles or GeoPackages with Pro and many other tools.
Note however that non-Esri-proprietary file formats like Shapefiles, GeoPackages etc. will require a Standard Runtime license, whereas working with Esri-proprietary files created with ArcGIS Pro (e.g. MMPKs, Mobile Geodatabases, Tile Packages, or Vector Tile Packages) can be used with a Lite license. If you intend to edit feature data, you will need a Basic license. You can learn more about the license levels here, although as a quick summary: you can do most things at Lite, editing requires Basic, and non-Esri-proprietary local files require Standard.
You most likely don't need Local Server. Local Server is a specialized augmentation to Runtime that is meant for consuming specific geoprocessing workflows or connecting to enterprise geodatabases.
Hope that helps.