This project has moved and is read-only. For the latest updates, please go here.

ArcBruTile with our WMTS service ?

Jul 6, 2015 at 10:54 PM
I'm scouting for a framework that can help me add an in-house published WMTS (credentials required) layer to my ESRI ArcMap 10.2 installation. The C# code will form an AddIn extension for ArcMap. Can anyone tell me whether ArcBruTile is suitable for the WMTS purpose ? I see on the site that WMTS support is listed as "proposed" which makes it sound like my answer is "not yet". But is this statement up to date ? Is WMTS currently supported with ArcBruTile ? If the answer is "maybe", I'm willing to give it a try.
Jul 6, 2015 at 11:36 PM
its correct there is no WMTS support now.
Jul 7, 2015 at 2:05 PM
How about just simply BruTile then for a WMTS implementation ? Do you know if that package is worth pursuing for my (ArcMap add-in) purpose ?
Jul 7, 2015 at 9:21 PM
Edited Jul 8, 2015 at 6:00 AM
yes ArcBruTile is based on the BruTile library for tiling functionality. At the time ArcBruTile was built there was no WMTS functionality in BruTile. But now WMTS is added its worth pursuing those functions.
Marked as answer by jj002791 on 7/7/2015 at 2:25 PM
Jul 7, 2015 at 10:26 PM
Thanks, I will pursue.
Jul 14, 2015 at 7:26 PM
another option: you can also use the ArcObjects WMTSLayer and WMTSConnectionFactory (from assembly GISClient) to display a WMTS service.
Jul 15, 2015 at 2:40 PM
I looked into that option earlier, but gave up on it after a Google search produced zero examples of how to actually use it, either in the ESRI documentation or in online code samples. If you could point to such example(s), I'd be thrilled.
Jul 15, 2015 at 2:48 PM
I use something like this:

var wmtsLayer = new WMTSLayerClass();
var propSet = new PropertySetClass();
propSet.SetProperty("URL", url); // url must point to WMTS capabilities file
var wmtsConnFactory = new WMTSConnectionFactoryClass();
var wmtsConnection = wmtsConnFactory.Open(propSet, 0, null);
wmtsLayer.Connect(wmtsConnection.FullName);
map.AddLayer(wmtsLayer);