I just started looking at DDD and OpenStreetMap today. I think that a combination of both might suit my needs for embedding maps into a C#/WPF application I am working on. My needs are:
- Display of free map data
- Ability to position map display based on lat/long coordinates
- Ability to add notations (e.g. pins, names, lines, etc.) to map locations and save/restore these notations
- Ability to work entirely offline for all world locations
Looking at the OpenStreetMap web site, I can download a "planet.osm" file to my local computer and use that as a data source instead of the tile server from OpenStreetMap. If I understand how mapping servers work, in particular OpenStreetMap,
they store data as vector graphics in XML formatted fashion, then employ use of renderers to serve up PNG files that are "tiles" for display. So, if I downloaded the "planet.osm" file, I guess that I would have to do this rendering
Has anyone tried to do this? Can the Dynamic Data Display's Map control work from a tile server that is local instead of over the Internet? Any suggestions on how I could make this work? I have seen the class FileSystemTileServer.cs in
the DDD solution. Is this something that I could use to create my own file based server?
There is obviously much I need to know about this topic and any help, suggestions or background information is appreciated greatly.
Thanks very much in advance!
Mar 26, 2010 at 7:10 AM
D3's maps are capable to work in three modes - purely online, online with usage of previously downloaded tiles without downloading them again, and purely offline mode, when tiles are taken from, for example, a number of png-files from special folder
or from archive.
If I have properly understood you, you should create your own FileSystemTileServer, which will render tiles relying on data from planet.osm file.