arcgis-jsapi4-load-tianditu-wmts-service

Example of using ArcGIS API 4.5 Loading Tianditu WMTS Service

Stars
11

ArcGIS API for Javascript 4.5 WMTS

OGC WMTS 1.0.0 OGC OGC WMTS ArcGIS API for JavaScript 4.x``ArcGIS JSAPI ArcGIS JSAPI``WMTSLayer ArcGIS API for JavaScript 3.x 4.xAPI ArcGIS JSAPI WMTS ArcMap 10.x WMTS t0.tianditu.com/vec_c/wmts

ArcMap ArcCatalog GIS Servers Add WMTS Server image t0.tianditu.com/vec_c/wmts URL OK GISServer on t0.tianditu.com vec image EPSG: 4490``19``ScaleDenominator``ArcMap API

  • ScaleDenominator

ArcGIS JSAPI WebTileLayer WMTS TileInfo level``scale``resolution

  • level ->

  • scale ->

  • resolution resolution image

  • Scale1 ScaleDenominator

  • DPIDots per Inch96

  • inchToMeterRationinch meter 0.0254

  • 111194.872221777

resolution image

  • scaleDenominatorWMTS
  • inchToMeterRatio: inch meter 0.0254
  • DPIDots per InchWKID: 449096
  • meterToRadiusRatio111194.872221777

Resolution TileInfo

 // WGS84WKID:4326DPI
  var dpi = 96;
  //  ->  
  var meterToRadiusRatio = 111194.872221777;
  //  ->  
  var inchToMeterRatio = 0.0254000508;

  //WMTS
  var zoomLevels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19];
  //Scale DenominatorWMTS
  var scaleDenominators = [
    295829355.454566,
    147914677.727283,
    73957338.863641,
    36978669.431821,
    18489334.71591,
    9244667.357955,
    4622333.678978,
    2311166.839489,
    1155583.419744,
    577791.709872,
    288895.854936,
    144447.927468,
    72223.963734,
    36111.981867,
    18055.990934,
    9027.995467,
    4513.997733,
    2256.998867,
    1128.499433
  ];

  // Scale Denominator
  function calcResolution(scaleDenominator) {
    return scaleDenominator * inchToMeterRatio / (dpi * meterToRadiusRatio);
  }

  // LOD
  var lodsArray = [];

  zoomLevels.map(function(zoomLevel, idx) {
    var scaleDenominator = scaleDenominators[idx];
    lodsArray.push({
      level: zoomLevel,
      resolution: calcResolution(scaleDenominators[idx]),
      scale: scaleDenominators[idx]
    });
  });

  var tileInfo = new TileInfo({
    "rows": 256,
    "cols": 256,
    "compressionQuality": 0,
    "origin": {
        "x": -180,
        "y": 90
    },
    "spatialReference": {
        "wkid": 4326
    },
    "lods":lodsArray
  });

WebTileLayer

 var tileInfo = TdtTileInfo;
  var spatialReference = new SpatialReference({ wkid: 4326 });
  var fullextent = new Extent({
    xmax: 148.028515625,
    xmin: 63.74140625000001,
    ymax: 55.25888671875,
    ymin: 15.795996093749999,
    spatialReference: spatialReference
  });

  var map = new Map({});
  var view = new MapView({
    map: map,
    container: "map",
    center: [118.78, 32.04],
    zoom: 10
  });

  view.then(function() {
    var layerList = new LayerList({
      view: view
    });
    view.ui.add(layerList, "bottom-left");
  });

  esriConfig.request.corsEnabledServers.push("t0.tianditu.com");
  esriConfig.request.corsEnabledServers.push("t1.tianditu.com");
  esriConfig.request.corsEnabledServers.push("t2.tianditu.com");
  esriConfig.request.corsEnabledServers.push("t3.tianditu.com");
  esriConfig.request.corsEnabledServers.push("t4.tianditu.com");

  var TDT_Layer = new WebTileLayer({
    id: "TiandituBase",
    title: "Tianditu BaseLayer",
    tileInfo: tileInfo,
    spatialReference: spatialReference,
    urlTemplate: TdtUrlTemplates.TDT,
    subDomains: ["t0", "t1", "t2", "t3", "t4"]
  });

  map.addMany([TDT_Layer]);
});

TdtTileInfo TdtUrlTemplates.TDT t0.tianditu.com/vec_c/wmts

define(function() {
  var urlTemplatesObject = {
    TDT: "http://{subDomain}.tianditu.com/vec_c/wmts?SERVICE=WMTS&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=c&TileMatrix={level}&TileRow={row}&TileCol={col}&style=default&format=tiles"
  };
  return urlTemplatesObject;
});

ArcGIS JSAPI WMTS

WMTS WMTS

1

   var tileInfo = new TileInfo({
        "rows": 256,
        "cols": 256,
        "compressionQuality": 0,
        "origin": {
            "x": -180,
            "y": 90
        },
        "spatialReference": {
            "wkid": 4326
        },
        "lods": [{
            "level": 2,
            "resolution": 0.3515625,
            "scale": 147748796.52937502
        },
        {
            "level": 3,
            "resolution": 0.17578125,
            "scale": 73874398.264687508
        },
        {
            "level": 4,
            "resolution": 0.087890625,
            "scale": 36937199.132343754
        },
        {
            "level": 5,
            "resolution": 0.0439453125,
            "scale": 18468599.566171877
        },
        {
            "level": 6,
            "resolution": 0.02197265625,
            "scale": 9234299.7830859385
        },
        {
            "level": 7,
            "resolution": 0.010986328125,
            "scale": 4617149.8915429693
        },
        {
            "level": 8,
            "resolution": 0.0054931640625,
            "scale": 2308574.9457714846
        },
        {
            "level": 9,
            "resolution": 0.00274658203125,
            "scale": 1154287.4728857423
        },
        {
            "level": 10,
            "resolution": 0.001373291015625,
            "scale": 577143.73644287116
        },
        {
            "level": 11,
            "resolution": 0.0006866455078125,
            "scale": 288571.86822143558
        },
        {
            "level": 12,
            "resolution": 0.00034332275390625,
            "scale": 144285.93411071779
        },
        {
            "level": 13,
            "resolution": 0.000171661376953125,
            "scale": 72142.967055358895
        },
        {
            "level": 14,
            "resolution": 8.58306884765625e-005,
            "scale": 36071.483527679447
        },
        {
            "level": 15,
            "resolution": 4.291534423828125e-005,
            "scale": 18035.741763839724
        },
        {
            "level": 16,
            "resolution": 2.1457672119140625e-005,
            "scale": 9017.8708819198619
        },
        {
            "level": 17,
            "resolution": 1.0728836059570313e-005,
            "scale": 4508.9354409599309
        },
        {
            "level": 18,
            "resolution": 5.3644180297851563e-006,
            "scale": 2254.4677204799655
        }]
    });

100m

2/

2WMTS

ArcGIS JSAPI WMTS GISISSUE