# Note that these may change and need to be updated periodically

basemap_dict = {'streets': [{'id': 'streets-base-layer',
                            'url': 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'World Street Map',
                            'visibility': True,
                            'opacity': 1
                            }],
                'satellite': [{'id': 'satellite-base-layer',
                            'url': 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'World Imagery',
                            'visibility': True,
                            'opacity': 1
                            }],
                'hybrid': [{'id': 'hybrid-base-layer',
                            'url': 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'World Imagery',
                            'visibility': True,
                            'opacity': 1
                            },
                           {'id': 'hybrid-reference-layer',
                            'url': 'https://services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'World Boundaries and Places',
                            'isReference': True,
                            'visibility': True,
                            'opacity': 1
                            }
                           ],
                'terrain': [{'id': 'terrain-base-layer',
                            'url': 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'World Terrain',
                            'visibility': True,
                            'opacity': 1
                            },
                           {'id': 'terrain-reference-layer',
                            'url': 'https://services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Reference_Overlay/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'World Reference Overlay',
                            'isReference': True,
                            'visibility': True,
                            'opacity': 1
                            }
                           ],
                'topo': [{'id': 'topo-base-layer',
                            'url': 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'World Topo Map',
                            'visibility': True,
                            'opacity': 1
                            }],
                'gray': [{'id': 'gray-base-layer',
                            'url': 'https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'World Light Gray Base',
                            'visibility': True,
                            'opacity': 1
                            },
                           {'id': 'gray-reference-layer',
                            'url': 'https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Reference/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'World Light Gray Reference',
                            'isReference': True,
                            'visibility': True,
                            'opacity': 1
                            }
                           ],
                'dark-gray': [{'id': 'dark-gray-base-layer',
                            'url': 'https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Base/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'World Dark Gray Base',
                            'visibility': True,
                            'opacity': 1
                            },
                           {'id': 'dark-gray-reference-layer',
                            'url': 'https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Reference/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'World Dark Gray Reference',
                            'isReference': True,
                            'visibility': True,
                            'opacity': 1
                            }
                           ],
                'oceans': [{'id': 'oceans-base-layer',
                            'url': 'https://services.arcgisonline.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'World Oceans Base',
                            'visibility': True,
                            'opacity': 1
                            },
                           {'id': 'oceans-reference-layer',
                            'url': 'https://services.arcgisonline.com/ArcGIS/rest/services/Ocean/World_Ocean_Reference/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'World Oceans Reference',
                            'isReference': True,
                            'visibility': True,
                            'opacity': 1
                            }
                           ],
                'national-geographic': [{'id': 'national-geographic-base-layer',
                            'url': 'https://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'NatGeo World Map',
                            'visibility': True,
                            'opacity': 1
                            }],
                'osm': [{'id': 'osm-base-layer',
                            'styleUrl': 'https://cdn.arcgis.com/sharing/rest/content/items/3e1a00aeae81496587988075fe529f71/resources/styles/root.json',
                            'layerType': 'OpenStreetMap',
                            'title': 'Open Street Map',
                            'visibility': True,
                            'opacity': 1
                            }],
                'dark-gray-vector': [{'id': 'dark-gray-base-layer',
                            'styleUrl': 'https://www.arcgis.com/sharing/rest/content/items/c11ce4f7801740b2905eb03ddc963ac8/resources/styles/root.json',
                            'layerType': 'VectorTileLayer',
                            'title': 'World Dark Gray',
                            'visibility': True,
                            'opacity': 1
                            }],
                'gray-vector': [{'id': 'gray-base-layer',
                            'styleUrl': 'https://www.arcgis.com/sharing/rest/content/items/8a2cba3b0ebf4140b7c0dc5ee149549a/resources/styles/root.json',
                            'layerType': 'VectorTileLayer',
                            'title': 'World Light Gray',
                            'visibility': True,
                            'opacity': 1
                            }],
                'streets-vector': [{'id': 'streets-vector-base-layer',
                            'styleUrl': 'https://www.arcgis.com/sharing/rest/content/items/de26a3cf4cc9451298ea173c4b324736/resources/styles/root.json',
                            'layerType': 'VectorTileLayer',
                            'title': 'World Light Gray',
                            'visibility': True,
                            'opacity': 1
                            }],
                'topo-vector': [{'id': 'world-hillshade-layer',
                            'url': 'https://services.arcgisonline.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'World Hillshade',
                            'visibility': True,
                            'opacity': 1},
                            {'id': 'topo-vector-base-layer',
                              'styleUrl': 'https://www.arcgis.com/sharing/rest/content/items/7dc6cea0b1764a1f9af2e679f642f0f5/resources/styles/root.json',
                              'layerType': 'VectorTileLayer',
                              'title': 'World Topo',
                              'visibility': True,
                              'opacity': 1
                            }],
                'streets-night-vector': [{'id': 'streets-night-vector-base-layer',
                            'styleUrl': 'https://www.arcgis.com/sharing/rest/content/items/86f556a2d1fd468181855a35e344567f/resources/styles/root.json',
                            'layerType': 'VectorTileLayer',
                            'title': 'World Streets Night',
                            'visibility': True,
                            'opacity': 1
                            }],
                'streets-relief-vector': [{'id': 'world-hillshade-layer',
                            'url': 'https://services.arcgisonline.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer',
                            'layerType': 'ArcGISTiledMapServiceLayer',
                            'title': 'World Hillshade',
                            'visibility': True,
                            'opacity': 1},
                            {'id': 'streets-relief-vector-base-layer',
                              'styleUrl': 'https://www.arcgis.com/sharing/rest/content/items/b266e6d17fc345b498345613930fbd76/resources/styles/root.json',
                              'layerType': 'VectorTileLayer',
                              'title': 'World Streets Relief',
                              'visibility': True,
                              'opacity': 1
                            }],
                'streets-navigation-vector': [{'id': 'streets-navigation-vector-base-layer',
                            'styleUrl': 'https://www.arcgis.com/sharing/rest/content/items/63c47b7177f946b49902c24129b87252/resources/styles/root.json',
                            'layerType': 'VectorTileLayer',
                            'title': 'World Streets Navigation',
                            'visibility': True,
                            'opacity': 1
                            }]
                }