Our application will be operating in a standalone/offline environment. It just so happens that we have access to a NASA World Wind map server.
Has anyone been able to get the xamGeographicMap control to work with a NASA World Wind map server? Intuition tells me it should be able to, but I don't want to go and reinvent the wheel if there is a working example I can pull from.
Any and all help is appreciated.
Hello Kristopher,
Thank you for your post. I have asked our development team to give me more details if the functionality you want can be achieved and I will update you as soon as they reply to me.
Thank you for your patience.
We did not try to get the xamGeographicMap control to work with a NASA World Wind map server. However, you should be able to do so by creating custom tile imagery source for NASA imagery and then binding it to the GeographicMap control's background content. You can find an example how to do this in WPF samples browser under: GeographicMap -> Data -> Creating Geo-imagery sample. You should either create multiple custom tile imagery sources for different sources of NASA imageries (e.g. BMNG, elevation data, I3 data http://worldwind.arc.nasa.gov/java/server/readme.html) or create one custom tile imagery source that has a property that determines what type of NASA imagery to load. If you need to display NASA imagery from multiple sources (e.g. elevation data and I3 data), you can overlay multiple imagery tiles using the Geographic Tile Imagery Series which has TileImagery property that can be bound to your custom imagery tile source(s). In addition, the Geographic Tile Imagery Series has option to clip tile imagery by a contours of a shapefile or list of list of points (geolocations) such that you limit boundary of tile imagery and thus increase performance of GeographicMap control and decrease number of requests for loading NASA imagery tiles. You can find an example how to use the Geographic Tile Imagery Series in WPF samples browser under: GeographicMap -> Display -> Geographic Tile Imagery Series sample.
Let me know if you have other questions about the GeoMap control.
Thanks,
Martin
As a follow-up, I was doing some more reading and saw this:
Note
The OGC WMTS specification rather absurdly requires the GoogleCRS84Quad WellKnownScaleset to have a level 0 who’s extent is -180,-180,180,180. The default “WGS84” MapCache grid honors this, which may cause some incompatibilities with software that expects level 0 to be 2x1 tiles with extent -180,-90,180,90
Does the xamGeographicMap satisfy that last clause, therefore requiring some kind of workaround? Which perhaps explain my funny rendering issues?
Kris
Figured out the problem. It has to do with the origin for the service as being the bottom left whereas the xamGeographicMap thinks is the top left. Also seems that it doesn't request enough tiles from a width perspective. Australia is chopped off.
Not sure how to fix this yet. Is it possible to effectively change the "origin" for the xamGeographicMap to the bottom left instead of the top left? Or do you think I need to make changes to my service somehow?
I really need some help here, folks.
"The TMS standard counts tiles starting from the lower left corner of the tile grid, while Google Maps and compatible services start at the upper left corner." Is there any way to change xamGeographicMap so that tiles are in the bottom left corner?
EUREKA!
I figured it out. It just so happens to be that my Mapcache installation also supports a gmaps service! It's just like the TMS service, except it requires a WMS capable of EPSG:3857. And it just so happens that the map data from NASA supports it with some minor changes to the .map file. As soon as I did that and updated my URLs to reflect it, the origin was the top left AND it spit back tiles in the right layout for xamGeographicMap!
All is well for this support request.
Thank you for your feedback. I am glad that you resolved your issue and I believe that other community members may benefit from this as well.
Thanks again.