3

Trying to show FAA sectional charts on leaflet map. The map does render in QGIS. QGIS layer properties shows:

Code snippet in Leaflet that I tried:

url = 'https://tiles.arcgis.com/tiles/ssFJjBXIUyZDrSYZ/arcgis/rest/services/VFR_Sectional/MapServer/WMTS';
var TopoLayer = L.tileLayer(url, {
  layers: 'VFR_Sectional',
  dpiMode: '7',
  format: 'image/jpgpng',
  tileMatrixSet: 'default028mm'
}).addTo(mymap);

No success, blank map. Can someone advise on the correct Leaflet syntax to use?

2
  • Did you try to add it like L.tileLayer.wms(...)..addTo(mymap); ? Commented Sep 11, 2024 at 20:34
  • See also this thread for more details: gis.stackexchange.com/questions/177823/… Commented Sep 11, 2024 at 20:36

1 Answer 1

3

If you look at the WMTS specification at https://tiles.arcgis.com/tiles/ssFJjBXIUyZDrSYZ/arcgis/rest/services/VFR_Sectional/MapServer/WMTS, you'll se that WMTS service URL should be constructed like that:

https://tiles.arcgis.com/tiles/ssFJjBXIUyZDrSYZ/arcgis/rest/services/VFR_Sectional/MapServer/WMTS/tile/1.0.0/VFR_Sectional/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}

Sequence {TileMatrix}/{TileRow}/{TileCol} actually means {z}/{y}/{x}. From service definition you can also see than min zoom is 8 and max zoom is 12.

So code to display layer could looks something like this:

var map = L.map('map', {
  center: [36, -114.96],
  zoom: 8,
  minZoom: 8,
  maxZoom: 12
});

var template =
  'https://tiles.arcgis.com/tiles/ssFJjBXIUyZDrSYZ/arcgis/rest/services/VFR_Sectional/MapServer/WMTS/tile/1.0.0/VFR_Sectional/{style}/{tileMatrixSet}/{z}/{y}/{x}'

var layer = L.tileLayer(template, {
  tileMatrixSet: 'default028mm',
  style: 'default'
}).addTo(map);

This would show you the following map: enter image description here

1
  • Thank you TomazicM, that was the solution we were looking for! Now, if only the ESRI had a better service that posted readable online FAA sectional charts. Commented Sep 12, 2024 at 13:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.