1

I want to add all the layers in my WMTS service to ArcMap using ArcObjects, but I am able to get only one layer.

Does anyone have a solution for this?

  • What is the service URL that you are using to try and access this WMTS? – PolyGeo Aug 5 '16 at 10:36
  • @PolyGeo I want to add it to my ArcMap through ArcObjetcs. Thanks for your reply. I have solved the issue at the end of the day. – Nitin kandpal Aug 5 '16 at 12:50
2

I got solution for adding all layers at ones, as well as a particular layer to ArcMap:

public static void GetWMTSLayer(string url = "http://IP-Address:Port/Service/rest/services/OSM/MapServer/WMTS")
{
        IProperySet propSet= new PropertySetClass();
        propSet.SetProperty("URL",url);
        IWMTSConnectionFactory wmtsConnFactory=new WMTSConnectionFactoryClass();
        IWMTSConnection wmtsConnection=wmtsConnFactory.Open(propSet,0,null);
        IWMTSServiceDescription wmtsServceDescriotion=wmtsConnection as IWMTSServiceDescription ;
        for(int i=0;i< wmtsServceDescriotion.LayerDescriptionCount;i++)
        {
            IWMTSLayerDescription layerDescription=wmtsServceDescriotion.getLayerDescription(i);
            IWMTSLayer wmtsLayer=new WMTSLayerClass();

            IPropertySet propSet_1=new PropertySetClass();
            propSet_1.SetProperty("URL", url);
            propSet_1.SetProperty("LayerName",layerDescription.Identifier);

            WMTSConnectionName connectonName= new WMTSConnectionNameClass();
            connectionName.ConnectionProperties=propSet_1;
            wmtsLayer.Connect((IName)connectionName);
                addData(wmtslayer);
        }
}

public static void addData(IWMTSLayer wmtslayer)
{
    IMap pMap=(IMap)((IMxDocument)ArcMap.Application.Document).FocusMap);
    ILayer pLayer=new FeatureLayer();

    pLayer=(ILayer)wmtslayer;
    pMap.AddLayer(pLayer);
}
| improve this answer | |
0

If you click on the Toggle Contents Panel button you will see a new space at the bottom of the Catalog view. From there you can choose several layers

| improve this answer | |
  • Actually I have added them manually I want to add it through ArcObjects. Thanks for your reply @Daniel. I have solved the issue. – Nitin kandpal Aug 5 '16 at 12:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.