Use OpenStreetMap or VirtualEarth without internet connection

Jun 17, 2009 at 9:27 AM

I need to know if there is the possibility to use DeepEarth project using OpenStreetMap or VirtualEarthMap
without an internet connections. Can I download the maps and then use them in my project ? Are there any examples ?


Jun 17, 2009 at 12:04 PM

The core DeepZoom control (MultiScaleImage) only accepts a URI so I've been unable so far to use the local isolated storage to cache tiles for an offline scenario.

However you can provide tiles with a relative path and include them as part of the control, the issue is this gets very large very fast.

What is your scenario? I've been thinking about disconnected states and maybe a simple vector map would be an option and we can store this in ISO.

Jun 18, 2009 at 3:03 PM

Thank you for your interest in my problem.

In my scenario I haven't an internet connection because our customer doesn't provide it, but I need to use the maps, so DeepZoom could be the best solution.

What do you mean with "you can provide tiles with a relative path and include them as part of the control" and how I can use a simple vector map to store in ISO?

Can you give me an example or a link to it?

Best regards

Jun 18, 2009 at 11:16 PM

I think of two scenarios for this, both have different solutions:

1) Support a mobile device that will loose connection to the server. Here you want to store something low-fi in the ISO to give the user something to work with, maybe use the new out of browser support in SL3 to work dissconnected. We are looking into this for a client.

2) Your client due to security and/or risk want the complete solution hosted internally. Eg Defence or Disaster planning. Here you would setup your own tile server internally, fromt he control point of view it would work exactly the same just the endpoint for the tiles is a local server. You can use the server from OSM or an adaption of MapServer or even purchase the Bing Maps for Enterprise Appliance for plug and play.

Jan 14, 2010 at 2:55 PM

Hello -

I also require the functionality of a local tile provider... we are constrained to an environment without an internet connection but need to be able to interact with the maps.   I was hoping that the Bluemarble example project would serve as guide, but when I click on the "local maps" source nothing loads?  I also noticed that the included tiles for this project are included with the (server side) project, rather than the silverlight project.   Does anyone have any suggestions for where to begin to get this to work?    Is there an example using the approach mentioned by Soulsolutions, whereby you provide the relative path and include the images as part of the control?  That would be fine too?   Any approach would be helpful at this point.  thanks.

Jan 14, 2010 at 10:53 PM

Silverlight is a web technology, it is hosted in a web application on a web server. So if you're talking about an intranet scenario then you need to host your own tile server, if you're talking about say a mobile application eg tablet where it may not have a connection and you want to run out of browser then my suggestion is you look at downloading a vector based map and render this. We don't have this implimented here yet.

The issue with offline and a raster tile layer is the size of the imagery - thousands of image files and maybe GB of data. More importantly the core MSI control in Silverlight only allows us to pass a URI to these tiles not the image itself. There is no way we can use Isolated storage as a cache and the URI can't be the local file system in Silverlight 3.

Silverlight 4 on the other hand could offer us a solution, the new elavated prevledges mode when OOB I beleive does give us local file system access. This is going to be your best bet, I would do a quick proof of concept in Silverlight 4 and see if you can get a simple DeepZoom image showing from a local folder.

Jan 25, 2010 at 7:49 AM
Edited Jan 25, 2010 at 7:52 AM

Thank you team for implementing DeepEarth; it is a very useful control. I am using DeepEarth in my project and have got few questions.

The silverlight application that i am working on will be hosted on Linux machine (inside  HTTP content folder) and there will not be any .net web application.The application shall not have Internet connectivity.

1. I understand that TileSource is part of the silverlight project; whether following the above said architecture will prevent me from using local tile source and not the ones provided by Virtual Earth or Open Street Map?

2. How can I implement the tile source similar to VE or OSM? I am currently looking into the OsmTileSource.cs and planning to reuse it.

3. The Linux machine shall have http port open and will be available for connectivity from silverlight app. Is it possible to have just the tiles (images) on linux and access it from silverlight?

4. Is there a tile server that I can reuse to generate the images (image can be anything and not just the world map)?

Thank you.