What is the best way to display a map when the user can't be online?

1930
3
10-16-2013 09:39 PM
Labels (1)
EdVergara
New Contributor
I am planning on developing a map based display application using the runtime SDK for WPF.  My users can't be on the internet so I can't use the online map services.  And I'll only be displaying a small geographical area (less than one square mile).

What is the best way to show a georeferenced map using the runtime SDK?  Create a static/screen captured image or is there a way to permanently cache a map from the online services?

I'm a newbie to GIS and ESRI so please forgive me if I'm not asking my question the right way.

Thank you.

Ed
0 Kudos
3 Replies
AnttiKajanus1
Occasional Contributor III
Hi,

You should be using Local Tiled Packages. You can see more about those from here : http://resources.arcgis.com/en/help/runtime-wpf/concepts/index.html#/About_tile_packages/01700000004...

think that we don't have permission to take ArcGIS Online basemaps to offline at the moment so you need to have some other basemap dataset in use.

You can copy the tiled package to the client and reference it like this. http://resources.arcgis.com/en/help/runtime-wpf/samples/index.html#//02q200000003000000


0 Kudos
MichaelBranscomb
Esri Frequent Contributor
Hi,

Being new to GIS and Esri there are a few fundamental concepts it will help to understand... the way in which we deal with offline "maps" depends on what the map contains and how you would like your users to interact with that map. Typically a map comprises:

- Basemap: This is seamless/continuous map which represents topography, streets, etc and is used for reference. Basemaps are handled as caches or packages of pre-rendered images which are very fast to display and offer a great user experience for navigation although the user does not interact with them (query, set visibility, etc). For offline basemaps you can use Tile Packages (.TPK). Currently you'll need to create those yourself in ArcMap, or take an extract from an existing tile cache (either from one of your services or from the tile cache directly) - there are Geoprocessing tools to help with this. Start with the links Antti mentioned below. In the client API this becomes an ArcGISLocalTiledLayer.

- Operational data: This is the data you want your users to interact with in terms of querying, editing, selecting, etc. This is handled as vectors/shapes in the map dynamically renderer from the underlying data and symbolized on the fly. To take this data offline you create a Map Package (.MPK) which either contains or references the data (shapefiles, geodatabase feature classes). In the client API you can create either an ArcGISLocalDynamicMapServiceLayer (display and query) or an ArcGISLocalFeatureLayer (selection, edit, alter symbols). Here's the help on Map Packages: http://resources.arcgis.com/en/help/runtime-wpf/concepts/index.html#/About_map_packages/017000000059....

It's also worth noting that we're currently doing a lot of work on offline/disconnected use so there is some very exciting new functionality in the pipeline - look out for the new ArcGIS Runtime SDK for .NET which will be out in beta later this year. The new SDK includes a WPF API for building Windows Desktop apps - which is essentially an evolution of the WPF API you're using now, but enhanced to make greater use of new .NET 4.5 features (especially Tasks) and of new capabilities that we're introducing in the core ArcGIS Runtime components for extracting data from services, editing and synchronizing.

Cheers

Mike
0 Kudos
EdVergara
New Contributor
@antti and @Mike ... thank you.  I really appreciate your time and effort in helping shed some light into the process. 

Ed
0 Kudos