123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- import {
- ArcGisMapServerImageryProvider,
- buildModuleUrl,
- createWorldImageryAsync,
- IonImageryProvider,
- IonWorldImageryStyle,
- OpenStreetMapImageryProvider,
- TileMapServiceImageryProvider,
- ArcGisBaseMapType,
- } from "@cesium/engine";
- import ProviderViewModel from "./ProviderViewModel.js";
- /**
- * @private
- */
- function createDefaultImageryProviderViewModels() {
- const providerViewModels = [];
- providerViewModels.push(
- new ProviderViewModel({
- name: "Bing Maps Aerial",
- iconUrl: buildModuleUrl("Widgets/Images/ImageryProviders/bingAerial.png"),
- tooltip: "Bing Maps aerial imagery, provided by Cesium ion",
- category: "Cesium ion",
- creationFunction: function () {
- return createWorldImageryAsync({
- style: IonWorldImageryStyle.AERIAL,
- });
- },
- })
- );
- providerViewModels.push(
- new ProviderViewModel({
- name: "Bing Maps Aerial with Labels",
- iconUrl: buildModuleUrl(
- "Widgets/Images/ImageryProviders/bingAerialLabels.png"
- ),
- tooltip: "Bing Maps aerial imagery with labels, provided by Cesium ion",
- category: "Cesium ion",
- creationFunction: function () {
- return createWorldImageryAsync({
- style: IonWorldImageryStyle.AERIAL_WITH_LABELS,
- });
- },
- })
- );
- providerViewModels.push(
- new ProviderViewModel({
- name: "Bing Maps Roads",
- iconUrl: buildModuleUrl("Widgets/Images/ImageryProviders/bingRoads.png"),
- tooltip: "Bing Maps standard road maps, provided by Cesium ion",
- category: "Cesium ion",
- creationFunction: function () {
- return createWorldImageryAsync({
- style: IonWorldImageryStyle.ROAD,
- });
- },
- })
- );
- providerViewModels.push(
- new ProviderViewModel({
- name: "ArcGIS World Imagery",
- iconUrl: buildModuleUrl(
- "Widgets/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png"
- ),
- tooltip:
- "\
- ArcGIS World Imagery provides one meter or better satellite and aerial imagery in many parts of the world and lower \
- resolution satellite imagery worldwide. The map includes 15m TerraColor imagery at small and mid-scales (~1:591M down to ~1:288k) \
- for the world. The map features Maxar imagery at 0.3m resolution for select metropolitan areas around the world, 0.5m \
- resolution across the United States and parts of Western Europe, and 1m resolution imagery across the rest of the world. \
- In addition to commercial sources, the World Imagery map features high-resolution aerial photography contributed by the \
- GIS User Community. This imagery ranges from 0.3m to 0.03m resolution (down to ~1:280 nin select communities). \
- For more information on this map, including the terms of use, visit us online at \n\
- https://www.arcgis.com/home/item.html?id=10df2279f9684e4a9f6a7f08febac2a9",
- category: "Other",
- creationFunction: function () {
- return ArcGisMapServerImageryProvider.fromBasemapType(
- ArcGisBaseMapType.SATELLITE,
- {
- enablePickFeatures: false,
- }
- );
- },
- })
- );
- providerViewModels.push(
- new ProviderViewModel({
- name: "ArcGIS World Hillshade",
- iconUrl: buildModuleUrl(
- "Widgets/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png"
- ),
- tooltip:
- "\
- ArcGIS World Hillshade map portrays elevation as an artistic hillshade. This map is designed to be used as a backdrop for topographical, soil, hydro, \
- landcover or other outdoor recreational maps. The map was compiled from a variety of sources from several data providers. \
- The basemap has global coverage down to a scale of ~1:72k. In select areas of the United States and Europe, coverage is available \
- down to ~1:9k. For more information on this map, including the terms of use, visit us online at \n\
- https://www.arcgis.com/home/item.html?id=1b243539f4514b6ba35e7d995890db1d",
- category: "Other",
- creationFunction: function () {
- return ArcGisMapServerImageryProvider.fromBasemapType(
- ArcGisBaseMapType.HILLSHADE,
- {
- enablePickFeatures: false,
- }
- );
- },
- })
- );
- providerViewModels.push(
- new ProviderViewModel({
- name: "Esri World Ocean",
- iconUrl: buildModuleUrl(
- "Widgets/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png"
- ),
- tooltip:
- "\
- ArcGIS World Ocean map is designed to be used as a base map by marine GIS professionals and as a reference map by anyone interested in ocean data. \
- The base map features marine bathymetry. Land features include inland waters and roads overlaid on land cover and shaded relief imagery. \
- The map was compiled from a variety of best available sources from several data providers, including General Bathymetric Chart of the Oceans GEBCO_08 Grid, \
- National Oceanic and Atmospheric Administration (NOAA), and National Geographic, Garmin, HERE, Geonames.org, and Esri, and various other contributors. \
- The base map currently provides coverage for the world down to a scale of ~1:577k, and coverage down to 1:72k in US coastal areas, and various other areas. \
- Coverage down to ~ 1:9k is available limited areas based on regional hydrographic survey data. The base map was designed and developed by Esri. \
- For more information on this map, including our terms of use, visit us online at \n\
- https://www.arcgis.com/home/item.html?id=1e126e7520f9466c9ca28b8f28b5e500",
- category: "Other",
- creationFunction: function () {
- return ArcGisMapServerImageryProvider.fromBasemapType(
- ArcGisBaseMapType.OCEANS,
- {
- enablePickFeatures: false,
- }
- );
- },
- })
- );
- providerViewModels.push(
- new ProviderViewModel({
- name: "Open\u00adStreet\u00adMap",
- iconUrl: buildModuleUrl(
- "Widgets/Images/ImageryProviders/openStreetMap.png"
- ),
- tooltip:
- "OpenStreetMap (OSM) is a collaborative project to create a free editable map \
- of the world.\nhttp://www.openstreetmap.org",
- category: "Other",
- creationFunction: function () {
- return new OpenStreetMapImageryProvider({
- url: "https://a.tile.openstreetmap.org/",
- });
- },
- })
- );
- providerViewModels.push(
- new ProviderViewModel({
- name: "Stamen Watercolor",
- iconUrl: buildModuleUrl(
- "Widgets/Images/ImageryProviders/stamenWatercolor.png"
- ),
- tooltip:
- "Reminiscent of hand drawn maps, Stamen watercolor maps apply raster effect \
- area washes and organic edges over a paper texture to add warm pop to any map.\nhttp://maps.stamen.com",
- category: "Other",
- creationFunction: function () {
- return new OpenStreetMapImageryProvider({
- url: "https://stamen-tiles.a.ssl.fastly.net/watercolor/",
- credit:
- "Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.",
- });
- },
- })
- );
- providerViewModels.push(
- new ProviderViewModel({
- name: "Stamen Toner",
- iconUrl: buildModuleUrl(
- "Widgets/Images/ImageryProviders/stamenToner.png"
- ),
- tooltip: "A high contrast black and white map.\nhttp://maps.stamen.com",
- category: "Other",
- creationFunction: function () {
- return new OpenStreetMapImageryProvider({
- url: "https://stamen-tiles.a.ssl.fastly.net/toner/",
- credit:
- "Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.",
- });
- },
- })
- );
- providerViewModels.push(
- new ProviderViewModel({
- name: "Sentinel-2",
- iconUrl: buildModuleUrl("Widgets/Images/ImageryProviders/sentinel-2.png"),
- tooltip:
- "Sentinel-2 cloudless by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2016 and 2017).",
- category: "Cesium ion",
- creationFunction: function () {
- return IonImageryProvider.fromAssetId(3954);
- },
- })
- );
- providerViewModels.push(
- new ProviderViewModel({
- name: "Blue Marble",
- iconUrl: buildModuleUrl("Widgets/Images/ImageryProviders/blueMarble.png"),
- tooltip: "Blue Marble Next Generation July, 2004 imagery from NASA.",
- category: "Cesium ion",
- creationFunction: function () {
- return IonImageryProvider.fromAssetId(3845);
- },
- })
- );
- providerViewModels.push(
- new ProviderViewModel({
- name: "Earth at night",
- iconUrl: buildModuleUrl(
- "Widgets/Images/ImageryProviders/earthAtNight.png"
- ),
- tooltip:
- "The Earth at night, also known as The Black Marble, is a 500 meter resolution global composite imagery layer released by NASA.",
- category: "Cesium ion",
- creationFunction: function () {
- return IonImageryProvider.fromAssetId(3812);
- },
- })
- );
- providerViewModels.push(
- new ProviderViewModel({
- name: "Natural Earth\u00a0II",
- iconUrl: buildModuleUrl(
- "Widgets/Images/ImageryProviders/naturalEarthII.png"
- ),
- tooltip:
- "Natural Earth II, darkened for contrast.\nhttp://www.naturalearthdata.com/",
- category: "Cesium ion",
- creationFunction: function () {
- return TileMapServiceImageryProvider.fromUrl(
- buildModuleUrl("Assets/Textures/NaturalEarthII")
- );
- },
- })
- );
- return providerViewModels;
- }
- export default createDefaultImageryProviderViewModels;
|