Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Cesium入门之六:Cesium加载影像图层(ArcGIS、Bing、Mapbox、高德地图、腾讯地图、天地图等各类影像图)

Cesium入门之六:Cesium加载影像图层(ArcGIS、Bing、Mapbox、高德地图、腾讯地图、天地图等各类影像图)

作者头像
九仞山
发布于 2023-10-14 00:59:11
发布于 2023-10-14 00:59:11
14.8K026
代码可运行
举报
文章被收录于专栏:前端漫步前端漫步
运行总次数:26
代码可运行
Cesium加载影像图层

在Cesium中,加载影像图层主要通过ImageryLayer、ImageryProvider和ImageryLayerCollection三个类来实现;首先我们先来认识下这三个类

一、ImageryLayer类

在Cesium中,使用ImageryLayer对象来表示一个影像图层。ImageryLayer是一个包含一个或多个瓦片的图层,它可以用来控制地图影像的显示、叠加和透明度等属性。可以通过将其添加到ImageryLayerCollection中来实现在场景中显示。 可以使用以下代码创建一个新的ImageryLayer对象:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var imageryLayer = new Cesium.ImageryLayer(imageryProvider, options);

常用属性

  • imageryProvider:一个ImageryProvider对象,用于提供地图影像数据
  • alpha:影像图层的透明度(0-1),默认值为1
  • brightness:影像图层的亮度调整值(-1到1之间),默认值为0
  • contrast:影像图层的对比度调整值(-1到1之间),默认值为0
  • hue:影像图层的色调调整值(-1到1之间),默认值为0
  • saturation:影像图层的饱和度调整值(-1到1之间),默认值为0
  • gamma:影像图层的伽马调整值(>=1),默认值为1
  • show:布尔类型,表示该图层是否可见,默认值为true
  • minimumTerrainLevel:数字类型,表示在地形高程数据缺失时,该图层的最小可见级别。默认值为0
  • maximumTerrainLevel:数字类型,表示在地形高程数据缺失时,该图层的最大可见级别。默认值为Infinity
  • rectangle:一个Rectangle对象,表示该图层的可视范围
  • zIndex:数字类型,表示该图层在图层堆叠顺序中的位置,数值越大表示越靠前

常用方法

  • destroy():销毁该图层,释放资源。 该方法会销毁该图层对象,释放其占用的资源。当不再需要该图层时,应该调用它来避免内存泄漏。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var imageryLayer = new Cesium.ImageryLayer(imageryProvider);
// ...
imageryLayer.destroy();
  • isDestroyed():返回一个布尔值,表示该图层是否已销毁;如果已经销毁,则返回true;否则返回false
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var imageryLayer = new Cesium.ImageryLayer(imageryProvider);
// ...
if (imageryLayer.isDestroyed()) {
    console.log('图层已销毁');
}

二、ImageryLayerCollection类

ImageryLayerCollection类是Cesium中的一个类,用于存储和管理多个ImageryLayer对象。每个ImageryLayer对象表示一个图像图层,可以包含单张图片或图像切片集合

常用属性

  • length:返回集合中ImageryLayer对象的数量
  • layerAdded:当图像图层添加到该集合时发生的事件
  • layerMoved:当图像图层在该集合内移动时发生的事件
  • layerRemoved:当图像图层从该集合中删除时发生的事件

常用方法

  • add(layer, index):将给定的ImageryLayer对象添加到集合中的指定位置。如果省略索引,则将该图像图层添加到末尾
  • remove(layer):从集合中删除给定的ImageryLayer对象
  • removeAll():从集合中删除所有ImageryLayer对象
  • raise(layer):将给定的ImageryLayer对象移动到集合中的下一个位置
  • lower(layer):将给定的ImageryLayer对象移动到集合中的上一个位置
  • raiseToTop(layer):将给定的ImageryLayer对象移动到集合的顶部
  • lowerToBottom(layer):将给定的ImageryLayer对象移动到集合的底部
  • addImageryProvider(imageryProvider, index):用于将给定的ImageryProvider对象创建的图像图层添加到集合中的指定位置。如果省略索引,则将该图像图层添加到末尾
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const esri = await Cesium.ArcGisMapServerImageryProvider.fromUrl(
      'https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer',
  )
const index = 0
imageLayers.addImageryProvider(esri,index) 

首先创建了一个ArcGisMapServerImageryProvider,然后使用它的fromUrl方法创建了一个图像图层并将其添加到imateryLayers的末尾,同时将返回的imageryLayer对象存储在变量esri中。

然后,通过访问viewer.imageryLayers.length获取imageryLayers的长度,并将imageryProvider创建的图像图层插入到开头,即索引为0的位置。

如果省略index参数,则addImageryProvider方法将imageryProvider创建的图像图层添加到imageryLayers的末尾。否则,它将插入到指定的索引处。

三、ImageryProvider类

ImageryProvider是Cesium中提供影像数据的抽象类,定义了一些基本方法和属性,用于获取、处理和显示影像数据。在实际应用中,通常需要根据不同的影像数据源选择不同的ImageryProvider子类,如WebMapServiceImageryProvider、WebMapTileServiceImageryProvider、BingMapsImageryProvider等。

常用属性

  • credit: 影像数据提供者的版权信息。类型为Credit对象。
  • errorEvent: 加载影像数据时出现错误时触发的事件对象。类型为Event对象,通过监听该事件可以获得加载失败的详情。
  • hasAlphaChannel: 影像数据是否包含透明通道。类型为Boolean。
  • maximumLevel: 影像数据提供者所提供的最大影像级别。类型为Number。
  • minimumLevel: 影像数据提供者所提供的最小影像级别。类型为Number。
  • proxy: 代理服务器地址,用于跨域请求影像数据。类型为Proxy对象或字符串。
  • ready: 影像数据提供者是否已经加载完成并准备好使用。类型为Boolean。
  • rectangle: 影像数据所涵盖的矩形区域范围。类型为Rectangle对象。
  • tileWidth: 影像切片的宽度,单位为像素。类型为Number,默认为256。
  • tileHeight: 影像切片的高度,单位为像素。类型为Number,默认为256。
  • tilingScheme: 影像数据切片方案,用于计算影像切片的行列号以及经纬度范围。类型为TilingScheme对象,默认为WebMercatorTilingScheme。

常用方法

  • getTileCredits(x, y, level): 获取指定位置、级别的影像数据切片的版权信息,该方法返回一个Credit数组。通常在地图上显示影像切片时需要显示版权信息,可以使用该方法获取每个影像切片的版权信息。
  • pickFeatures(x, y, level, longitude, latitude): 在指定位置、级别、经纬度处查询影像数据源中的要素信息,并返回一个Promise对象。该方法通常用于处理用户交互操作,如点击或悬停显示要素信息。
  • requestImage(x, y, level): 请求指定位置、级别的影像数据,并返回一个Promise对象。该方法通常由ImageryLayer调用,开发者无需手动调用。

四、ImageryProvider子类

1. ArcGisMapServerImageryProvider

用于加载ArcGIS Server Map Service提供的影像数据;支持多种格式和地图投影方式; 使用new Cesium.ArcGisMapServerImageryProvider创建一个imageryProvider ,并加载ArcGIS服务

加载ArcGIS地图服务

在Cesium1.104之前的版本中加载ArcGIS服务的方式如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const esri = new Cesium.ArcGisMapServerImageryProvider({
      url: 'https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer',
})
imageLayers.addImageryProvider(esri)

如果是在Cesium1.104以后的版本,已经废弃了这种调用方式,如果用上面的方法调用,控制台会出现警告提示 options.url was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead. 使用以下方式替代上面影像地图的加载方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const esri = await Cesium.ArcGisMapServerImageryProvider.fromUrl(
     'https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer',
)
imageLayers.addImageryProvider(esri)

2. BingMapsImageryProvider

用于加载Bing Maps提供的影像数据;支持多种分辨率、样式和地区;需要提供有效的Bing Maps API key才能使用。 Bing Maps API key可以去Bing Maps官网申请,官网地址:https://www.bingmapsportal.com/

加载BingMap地图服务

加载BingMap使用静态方法BingMapsImageryProvider.fromUrl实现

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  const bing = await Cesium.BingMapsImageryProvider.fromUrl(
      "https://dev.virtualearth.net", {
        key: "your-key",
        mapStyle: Cesium.BingMapsStyle.AERIAL//可选参数,指定地图样式
  })
  imageLayers.addImageryProvider(bing)

3. GoogleEarthEnterpriseImageryProvider

用于加载Google Earth Enterprise Server提供的影像数据;支持多种格式和分辨率;可以通过设置单独的token属性进行身份验证

4. GridImageryProvider

用于加载以栅格方式存储的影像数据;支持多种格式和地图投影方式;需要提供包含切片信息的JSON文件路径或对象。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var gridImagery = new Cesium.GridImageryProvider({
      color: Cesium.Color.fromCssColorString('#ff00ff'), // 可选参数,指定网格线颜色
      glowFactor: 0.2, // 可选参数,指定网格线辉光系数
});
imageLayers.addImageryProvider(gridImagery)

5. IonImageryProvider

用于加载Cesium ion服务提供的影像数据;支持多种格式和规格;需要提供有效的ion access token才能使用。

加载Cesium ion地图服务
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const Ion = await Cesium.IonImageryProvider.fromAssetId(3812);
imageLayers.addImageryProvider(Ion)

6. MapboxImageryProvider

用于加载Mapbox提供的影像数据;支持多种风格、密度和地区;需要提供有效的Mapbox access token才能使用。 Mapbox token需要到Mapbox官网申请

加载Mapbox地图服务
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const mapbox = new Cesium.MapboxImageryProvider({
    mapId: 'mapbox.mapbox-terrain-v2',
    accessToken: 'thisIsMyAccessToken'
});
imageLayers.addImageryProvider(mapbox)

7. SingleTileImageryProvider

用于加载单张静态影像数据;支持多种格式和投影方式;需要提供包含影像数据URL的字符串或路径。 SingleTileImageryProvider一般用于加载离线数据或对影像数据要求不高的场景

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const provider = await SingleTileImageryProvider.fromUrl("https://yoururl.com/image.png")
imageLayers.addImageryProvider(provider)

8. TileCoordinatesImageryProvider

用于加载本地栅格切片数据;支持多种格式、规格和级别范围;需要提供包含切片路径和后缀的URL模板。它可以用于在地球表面上绘制出每个瓦片的行列号。这对于调试、测试和开发非常有用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var tileCoordinates = new Cesium.TileCoordinatesImageryProvider()
imageLayers.addImageryProvider(tileCoordinates)

上面代码创建一个TileCoordinatesImageryProvider,然后将其添加到场景中的imageryLayers中。该图层将在地球表面上绘制出每个瓦片的行列号。 注意:TileCoordinatesImageryProvider不会加载真实的影像数据,而是在每个瓦片上绘制其行列号。因此,在使用TileCoordinatesImageryProvider时,地球表面将不会显示任何卫星图像或地形数据。

9. UrlTemplateImageryProvider

用于加载基于HTTP/HTTPS协议的网络栅格切片数据;支持多种格式、规格和级别范围;需要提供包含切片路径和后缀的URL模板。UrlTemplateImageryProvider指定Url的format模板,方便用户实现自己的Provider,国内的高德,腾讯等影响服务都可以使用UrlTemplateImageryProvider加载

加载高德地图
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var gaodeImageryProvider = new Cesium.UrlTemplateImageryProvider({
      url: 'https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}',
      maximumLevel: 18,
      minimumLevel: 1,
      credit: 'Amap'
})
imageLayers.addImageryProvider(gaodeImageryProvider)

上面代码创建了一个UrlTemplateImageryProvider对象,并设置其中的url属性,将其指定为从高德地图服务器加载瓦片的URL模板。对于高德地图,需要使用具有三个占位符({x}、{y}和{z})的URL模板。此外,还可以设置瓦片的最大和最小级别。

加载腾讯地图
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var tencentImageryProvider = new Cesium.UrlTemplateImageryProvider({ 
    url: "https://p2.map.gtimg.com/sateTiles/{z}/{sx}/{sy}/{x}_{reverseY}.jpg?version=400", 
    customTags: { 
      sx: function(imageryProvider, x, y, level) { return x >> 4; }, 
      sy: function(imageryProvider, x, y, level) { return ((1 << level) - y) >> 4 }
    }
  });
imageLayers.addImageryProvider(tencentImageryProvider);
加载天地图
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 var tdtImageryProvider = new Cesium.UrlTemplateImageryProvider({
      url: 'http://{s}.tianditu.com/DataServer?T=img_w&X={x}&Y={y}&L={z}&tk=您的密钥',
      subdomains: ['t0', 't1', 't2', 't3', 't4', 't5', 't6', 't7'],
      maximumLevel: 18,
      minimumLevel: 1,
      credit: 'Tianditu'
  });
  imageLayers.addImageryProvider(tdtImageryProvider);

这里创建了一个UrlTemplateImageryProvider对象,并设置其中的url属性,将其指定为从天地图服务器加载瓦片的URL模板。其中{s}是天地图的多个子域之一,{x}、{y}和{z}分别表示瓦片的行列号和级别。tk为天地图开放平台申请的密钥。

这里需要设置subdomains数组以用于轮询不同的服务器。此外,还可以设置瓦片的最大和最小级别。

10. WebMapServiceImageryProvider

用于加载Web Map Service提供的影像数据;支持多种格式和地图投影方式;可以通过设置单独的token属性进行身份验证。

11. WebMapTileServiceImageryProvider

用于加载Web Map Tile Service提供的影像数据;支持多种格式和规格;可以通过设置单独的token属性进行身份验证。

加载ArcGIS地图服务
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var imageryProvider = new Cesium.WebMapTileServiceImageryProvider({
    url : 'https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS',
    layer: 'World_Imagery',
    style: 'default',
    format: 'image/jpeg',
    tileMatrixSetID: 'GoogleMapsCompatible',
    maximumLevel: 19,
    credit: new Cesium.Credit('© Esri', 'https://www.esri.com/')
});

imageLayers.addImageryProvider(imageryProvider);
加载天地图
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var tdtWebMapTile = new Cesium.WebMapTileServiceImageryProvider({
    url : 'http://t0.tianditu.gov.cn/img_w/wmts?tk=您的密钥',
    layer: 'img',
    style: 'default',
    format: 'tiles',
    tileMatrixSetID: 'w',
    maximumLevel: 18,
    credit: new Cesium.Credit('© Tianditu', 'http://www.tianditu.gov.cn/')
});
imageLayers.addImageryProvider(tdtWebMapTile);

五、加载影像数据的方法

加载影像数据通过下面三步来完成

  1. 创建ImageryLayer对象

在Cesium中,使用ImageryLayer对象来表示一个影像图层。ImageryLayer是一个包含一个或多个瓦片的图层,可以通过将其添加到ImageryLayerCollection中来实现在场景中显示 可以使用以下代码创建一个新的ImageryLayer对象:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var imageryLayer = new Cesium.ImageryLayer(imageryProvider, options);

其中,imageryProvider参数指定了影像数据的提供者,而options参数则可以用来设置影像图层的各种属性,例如不透明度、最大可见高度等

  1. 创建ImageryProvider对象

在Cesium中,使用ImageryProvider对象来表示一个影像数据的提供者。ImageryProvider是一个抽象类,需要根据具体的数据来源使用其子类来实现

Cesium内置了一些常见数据源的子类,如SingleTileImageryProvider、UrlTemplateImageryProvider、WebMapServiceImageryProvider等,也可以自定义子类来加载其他数据源的影像数据

可以使用以下代码创建一个新的ImageryProvider对象:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var imageryProvider = new Cesium.UrlTemplateImageryProvider({
    url: 'http://example.com/{z}/{x}/{y}.png'
});

其中,url参数指定了影像数据的URL模板,{z}{x}{y}分别代表瓦片的级别、行号和列号,Cesium会将其替换为实际的数值来获取对应的瓦片数据。

  1. 将ImageryLayer添加到场景中

在创建好ImageryLayer对象后,可以通过以下代码将其添加到场景中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
viewer.imageryLayers.add(imageryLayer);

其中,viewer是Cesium的主要控制器对象

六、加载ArcGIS、Bing、Mapbox、高德地图、腾讯地图、天地图等各类影像图层的核心代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const imageLayers = viewer.imageryLayers 
  console.log(imageLayers);
  imageLayers.remove(imageLayers.get(0)) //清楚Cesium默认加载的影像地图数据(默认是加载的bing地图)
// ArcGIS地图 1.104之前版本的调用方法
// const esri = new Cesium.ArcGisMapServerImageryProvider({
// url: //'https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer',
// })
const esri = await Cesium.ArcGisMapServerImageryProvider.fromUrl(      'https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer',
)
imageLayers.addImageryProvider(esri) 
// Bing地图
const bing = await Cesium.BingMapsImageryProvider.fromUrl(
  "https://dev.virtualearth.net", {
  key: "YOUR KEY",
  mapStyle: Cesium.BingMapsStyle.AERIAL//可选参数,指定地图样式
})
imageLayers.addImageryProvider(bing) 
const Ion = await Cesium.IonImageryProvider.fromAssetId(3812);
imageLayers.addImageryProvider(Ion)
var gridImagery = new Cesium.GridImageryProvider({
   color: Cesium.Color.fromCssColorString('#ff0000'), // 可选参数,指定网格线颜色
   glowFactor: 0.2, // 可选参数,指定网格线辉光系数
});
imageLayers.addImageryProvider(gridImagery)
const mapbox = new Cesium.MapboxImageryProvider({
  mapId: 'mapbox.mapbox-terrain-v2',
  accessToken: 'YOUR KEY'
});
imageLayers.addImageryProvider(mapbox)
var tileCoordinates = new Cesium.TileCoordinatesImageryProvider()
imageLayers.addImageryProvider(tileCoordinates)
var gaodeImageryProvider = new Cesium.UrlTemplateImageryProvider({
  url: 'https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}',
  maximumLevel: 18,
  minimumLevel: 1,
  credit: 'Amap'
}); 
imageLayers.addImageryProvider(gaodeImageryProvider);
var tencentImageryProvider = new Cesium.UrlTemplateImageryProvider({
// 影像图 
  url: "https://p2.map.gtimg.com/sateTiles/{z}/{sx}/{sy}/{x}_{reverseY}.jpg?version=400", 
  customTags: { 
      sx: function(imageryProvider, x, y, level) { return x >> 4; }, 
      sy: function(imageryProvider, x, y, level) { return ((1 << level) - y) >> 4 }
    }
});
imageLayers.addImageryProvider(tencentImageryProvider);
var tdtImageryProvider = new Cesium.UrlTemplateImageryProvider({
   url: 'http://{s}.tianditu.com/DataServer?T=img_w&X={x}&Y={y}&L={z}&tk=YOUR KEY',
   subdomains: ['t0', 't1', 't2', 't3', 't4', 't5', 't6', 't7'],
   maximumLevel: 18,
   minimumLevel: 1,
   credit: 'Tianditu'
});
imageLayers.addImageryProvider(tdtImageryProvider);
var arcGIsWebMapTile = new Cesium.WebMapTileServiceImageryProvider({
    url : 'https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS',
    layer: 'World_Imagery',
    style: 'default',
    format: 'image/jpeg',
    tileMatrixSetID: 'GoogleMapsCompatible',
    maximumLevel: 19,
    credit: new Cesium.Credit('© Esri', 'https://www.esri.com/')
});
imageLayers.addImageryProvider(arcGIsWebMapTile);
const osm = new Cesium.OpenStreetMapImageryProvider({
    url : 'https://a.tile.openstreetmap.org/'
});
imageLayers.addImageryProvider(osm)
var tdtWebMapTile = new Cesium.WebMapTileServiceImageryProvider({
    url : 'http://t0.tianditu.gov.cn/img_w/wmts?tk=YOUR KEY',
    layer: 'img',
    style: 'default',
    format: 'tiles',
    tileMatrixSetID: 'w',
    maximumLevel: 18,
    credit: new Cesium.Credit('© Tianditu', 'http://www.tianditu.gov.cn/')
});
var index = 0;
imageLayers.addImageryProvider(tdtWebMapTile,index);

刷新浏览器,可以查看各地图的最终效果 ArcGISMap

BingMap

Mapbox

高德地图

腾讯地图

天地图

OK,这一节就到这里了,有问题评论区讨论,喜欢的小伙伴点赞关注收藏哦!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Cesium笔记(3):基本控件简介—ImageryProvider地图瓦片地图配
cesiumjs中可定制多种图层,可以使用互联网上很多地图提供商的图层数据,也可以使用自己的地图数据。Cesium支持多种标准化格式的GIS瓦片服务,可以把栅格图层绘制到地球的表面——cesiumjs的地图图层本质上是一些瓦片数据,这些图层的亮度、对比度、色相均可以动态调整。
周陆军
2020/06/06
5.2K0
让GIS三维可视化变得简单-Cesium地球初始化
开发中我们通常会需要一个干净的三维地球实例,本文将介绍 Cesium 如何初始化一个地球,包括地图控件的显示隐藏以及一些常用影像和标注的加载
山月
2021/04/07
3.3K0
让GIS三维可视化变得简单-Cesium地球初始化
Cesium笔记(3):基本控件简介—ImageryProvider地图瓦片地图配
cesiumjs中可定制多种图层,可以使用互联网上很多地图提供商的图层数据,也可以使用自己的地图数据。Cesium支持多种标准化格式的GIS瓦片服务,可以把栅格图层绘制到地球的表面——cesiumjs的地图图层本质上是一些瓦片数据,这些图层的亮度、对比度、色相均可以动态调整。
周陆军博客
2023/05/14
4.4K0
Cesium案例解析(二)——ImageryLayers影像图层
Cesium支持加载影像图层,主要是各种地图服务。这里就通过Cesium实现添加影像地图和中文注记。
charlee44
2019/12/25
4.1K0
Cesium案例解析(七)——Layers在线地图服务
Cesium提供了一些在线地图服务的案例,这些案例都特别简单,只用几行代码就可以了。因此将他们整合成一个案例。
charlee44
2020/04/13
1.9K0
Cesium笔记(1):在项目中使用Cesium—Vue整合Cesium
https://cesium.com/docs/tutorials/getting-started/
周陆军博客
2023/05/14
1.8K0
cesium使用tif切片的几种方法
GDAL是一个用于栅格和矢量地理空间数据格式的转换库。我们主要使用其中的一个工具gdal2tiles,这是一个生成包含TMS瓦片、KML文件和简单网页查看器的目录的工具。
治电小白菜
2024/12/27
6550
cesium使用tif切片的几种方法
Arcgis for Silverlight学习(一)
1.地图的加载 arcgis server for silverlight 通过控件map实现地图的浏览功能。map控件的使用方法如下: <esri:Map x:Name="MyMap" WrapAround="True" IsLogoVisible="False" Extent="-15000000,2000000,-7000000,8000000" MouseMove="MyMap_MouseMove" Progress="MyMap_Progress"
水击三千
2018/02/27
1.1K0
Cesium几个案例介绍
前言 本文为大家介绍几个Cesium的Demo,通过这几个Demo能够对如何使用Cesium有进一步的了解,并能充分理解Cesium的强大之处和新功能。其他的无需多言,如果还不太了解什么是Cesium
魏守峰
2018/04/28
13.1K1
Cesium几个案例介绍
Cesium入门之五:认识Cesium中的Viewer
Viewer是Cesium中用于显示3D场景的组件。它提供了创建和控制3D场景所需的所有基本功能,包括加载3D模型、添加图像覆盖物、设置相机位置和方向、处理用户输入等。
九仞山
2023/10/14
2.7K0
Cesium入门之五:认识Cesium中的Viewer
geotrellis使用(三十五)Cesium加载geotrellis TMS瓦片
前言 做任何事情都不是想象中的那么简单。好久没有更新技术博客了,跟最近瞎忙有很大关系,虽说是瞎忙也抽空研究了些技术。 主要是前端渲染,像原生的WebGL和Cesium。WebGL写了几篇博客,自我感觉还可以。Cesium是一个封装好的WEB端3D Earth框架,有了WebGL的基础之后切换到Cesium按理说一切应该是顺理成章,简单的测试了几个功能之后发现确实非常好,简单的几行代码就可以实现Google Earth的功能,当然Google Earth重要的绝对不是他的渲染框架。 前期做了很多Geotrel
魏守峰
2018/05/02
2.4K0
geotrellis使用(三十五)Cesium加载geotrellis TMS瓦片
【Cesium】新手入门HelloWord
1.首先下载Cesium库,地址:https://cesium.com/cesiumjs/
Ning@
2021/11/10
1K0
Cesium基础使用介绍
前言 最近折腾了一下三维地球,本文简单为大家介绍一款开源的三维地球软件——Cesium,以及如何快速上手Cesium。当然三维地球重要的肯定不是数据显示,这只是数据可视化的一小部分,重要的应该是背后的数据生成及处理等。本文先为大家介绍这简单的部分。 一、 Cesium简介 Github地址:https://github.com/AnalyticalGraphicsInc/cesium。官方介绍如下: An open-source JavaScript library for world-class 3D
魏守峰
2018/04/28
7K0
Cesium基础使用介绍
Cesium 组件重写
homeButton 功能在实际的应用场景中很常见而且功能也很实用,该组件的主要功能是返回到系统初始化时的位置。默认是整个球的位置,如下图:
前端小tips
2021/11/23
1.3K0
Cesium 组件重写
Cesium笔记(0):Cesium简介及学习资料搜集
最先接触地图开发在09年做疯狂英语包会营官方网站,没有什么印象了,应该是没有啥进展。应该是到13年在 常盈的时候,用百度地图API做了很多的地图定制开发。比如一块去旅行的景点地图。同期看了高德地图,谷歌地图。最近一年用了maptalks来做地图开发。但是真如官方说是,现在是3D的时代,所以cesium是 必杀技了
周陆军博客
2023/05/14
1.5K0
Arcgis for js加载天地图
天地图的切片地图可以通过esri.layers.TiledMapServiceLayer来加载,在此将之进行了一定的封装,如下:
牛老师讲GIS
2018/10/23
7.8K0
Arcgis for js加载天地图
ArcGIS JS API 4.16实现三维场景中在天地图底图上加载2000坐标系的倾斜摄影数据
本文主要介绍下如何在国家天地图的底图上面使用ArcGIS JS API 4.16加载2000坐标系的倾斜摄影数据。
X北辰北
2022/02/22
3.6K0
ArcGIS JS API 4.16实现三维场景中在天地图底图上加载2000坐标系的倾斜摄影数据
Cesium中Clock控件及时间序列瓦片动态加载
前言 前面已经写了两篇博客介绍Cesium,一篇整体上简单介绍了Cesium如何上手,还有一篇介绍了如何将Cesium与分布式地理信息处理框架Geotrellis相结合。Cesium的强大之处也在于其可以将时间运用到3维地球上,可以根据此时间进行动画、轨迹记录、地球的光照等等所有与时间相关的可视化效果。本文介绍Cesium中的Clock控件以及如何动态加载时间序列瓦片。 一、 Clock控件 1.1 控件显示和隐藏 这里说的Clock控件包含两部分,Animation控件和Timeline控件,这二者基本是
魏守峰
2018/04/28
4.2K0
Cesium中Clock控件及时间序列瓦片动态加载
ArcGIS API for JavaScript 中的 Autocasting
Autocasting 是 ArcGIS API for JavaScript 4.x 的一个新特性, 将 json 对象转换成对应的 ArcGIS API for JavaScript 类型实例, 而不需要导入对应的 js 模块。
beginor
2021/04/25
9440
Cesium入门之九:Cesium加载gltf文件
glTF(Graphics Library Transmission Format)是一种用于存储3D模型和场景的格式。它是一种开放的标准格式,可用于在不同的3D引擎和软件之间传输和交换3D模型和场景数据。
九仞山
2023/10/14
3.5K0
Cesium入门之九:Cesium加载gltf文件
相关推荐
Cesium笔记(3):基本控件简介—ImageryProvider地图瓦片地图配
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验