@@ -8,6 +8,7 @@ import { TilesFadePlugin, UpdateOnChangePlugin, WMTSCapabilitiesLoader, WMTSTile
88import { GUI } from 'three/examples/jsm/libs/lil-gui.module.min.js' ;
99
1010const url = window . location . hash . replace ( / ^ # / , '' ) || 'https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi?SERVICE=WMTS&request=GetCapabilities' ;
11+ const compatibleCRSList = [ 'EPSG:4326' , 'EPSG:3857' ] ;
1112
1213let controls , scene , renderer ;
1314let tiles , camera , gui ;
@@ -50,9 +51,12 @@ async function updateCapabilities() {
5051
5152 // use a default overlay
5253 let defaultLayer = 'MODIS_Terra_CorrectedReflectance_TrueColor' ;
54+
5355 if ( ! capabilities . layers . find ( l => l . identifier === defaultLayer ) ) {
5456
55- defaultLayer = capabilities . layers [ 0 ] . identifier ;
57+ defaultLayer = capabilities . layers . find ( l =>
58+ l . tileMatrixSets . some ( tms => compatibleCRSList . includes ( tms . supportedCRS ) )
59+ ) . identifier ;
5660
5761 }
5862
@@ -84,8 +88,9 @@ function rebuildGUI() {
8488
8589 // initialize the layer settings
8690 const layer = capabilities . layers . find ( l => l . identifier === params . layer ) ;
87- params . style = layer . styles . find ( s => s . isDefault ) . identifier ;
88- params . tileMatrixSet = layer . tileMatrixSets [ 0 ] . identifier ;
91+ params . style = layer . styles . find ( s => s . isDefault ) ?. identifier || layer . styles [ 0 ] . identifier ;
92+ const compatibleTileMatrixSet = layer . tileMatrixSets . find ( tms => compatibleCRSList . includes ( tms . supportedCRS ) ) ;
93+ params . tileMatrixSet = compatibleTileMatrixSet ? compatibleTileMatrixSet . identifier : layer . tileMatrixSets [ 0 ] . identifier ;
8994
9095 // update the ui
9196 const abstract = capabilities . serviceIdentification . abstract ;
0 commit comments