提供由 WMTS 1.0.0 兼容服务器提供的瓦片影像。
此提供程序支持 HTTP KVP 编码和 RESTful GetTile 请求,但尚未支持 SOAP 编码。
| Name | Type | Description |
|---|---|---|
options |
WebMapTileServiceImageryProvider.ConstructorOptions | 描述初始化选项的对象 |
Examples:
// 示例 1. USGS 阴影浮雕瓦片 (KVP)
const shadedRelief1 = new Cesium.WebMapTileServiceImageryProvider({
url : 'https://basemap.nationalmap.gov/arcgis/rest/services/USGSShadedReliefOnly/MapServer/WMTS',
layer : 'USGSShadedReliefOnly',
style : 'default',
format : 'image/jpeg',
tileMatrixSetID : 'default028mm',
// tileMatrixLabels : ['default028mm:0', 'default028mm:1', 'default028mm:2' ...],
maximumLevel: 19,
credit : new Cesium.Credit('U. S. Geological Survey')
});
viewer.imageryLayers.addImageryProvider(shadedRelief1);
// 示例 2. USGS 阴影浮雕瓦片 (RESTful)
const shadedRelief2 = new Cesium.WebMapTileServiceImageryProvider({
url : 'https://basemap.nationalmap.gov/arcgis/rest/services/USGSShadedReliefOnly/MapServer/WMTS/tile/1.0.0/USGSShadedReliefOnly/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpg',
layer : 'USGSShadedReliefOnly',
style : 'default',
format : 'image/jpeg',
tileMatrixSetID : 'default028mm',
maximumLevel: 19,
credit : new Cesium.Credit('U. S. Geological Survey')
});
viewer.imageryLayers.addImageryProvider(shadedRelief2);
// 示例 3: NASA 时间动态雪水当量数据 (RESTful)
// 根据能力 XML 为图层定义时间间隔
const times = Cesium.TimeIntervalCollection.fromIso8601({
iso8601: '2025-01-01/2025-09-01/P5D', // 使用维度部分中的有效间隔
dataCallback: function(interval, index) {
// 返回 URL 模板中使用的时间变量对象
return {
Time: Cesium.JulianDate.toIso8601(interval.start, 0)
};
}
});
// 获取内部时钟,设置所需的开始、停止和乘数
const clock = viewer.clock;
clock.startTime = Cesium.JulianDate.fromIso8601('2025-01-01');
clock.currentTime = Cesium.JulianDate.fromIso8601('2025-01-01');
clock.stopTime = Cesium.JulianDate.fromIso8601('2025-09-01');
clock.clockRange = Cesium.ClockRange.LOOP_STOP;
clock.multiplier = 1; // 每秒 1 天
clock.clockStep = Cesium.ClockStep.SYSTEM_CLOCK_MULTIPLIER;
viewer.timeline.zoomTo(clock.startTime, clock.stopTime);
const weather = new Cesium.WebMapTileServiceImageryProvider({
url: 'https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/AMSRU2_Snow_Water_Equivalent_5Day/default/{Time}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png',
layer: 'AMSRU2_Snow_Water_Equivalent_5Day',
style: 'default',
tileMatrixSetID: 'GoogleMapsCompatible_Level6',
format: 'image/png',
clock: clock,
times: times,
credit: new Cesium.Credit('NASA Global Imagery Browse Services for EOSDIS')
});
viewer.imageryLayers.addImageryProvider(weather);
// 示例 4. Digital Earth Africa 水体,支持 GetFeatureInfo (RESTful)
const waterbodies = new Cesium.WebMapTileServiceImageryProvider({
url: "https://geoserver.digitalearth.africa/geoserver/gwc/service/wmts/rest/{layer}/{style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}?format={format}",
layer: "waterbodies:DEAfrica_Waterbodies",
style: "waterbodies:waterbodies_v0_0_4",
tileMatrixSetID: "EPSG:3857",
tileMatrixLabels: [
"EPSG:3857:0",
"EPSG:3857:1",
...
],
format: "image/png",
enablePickFeatures: true,
getFeatureInfoUrl: "https://geoserver.digitalearth.africa/geoserver/gwc/service/wmts/rest/{layer}/{style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}/{j}/{i}?format={format}",
});
viewer.imageryLayers.addImageryProvider(waterbodies);
Demo:
See:
Members
包含在 WMTS URL 中以获取图像的默认参数。值如下:
service=WMTS
version=1.0.0
request=GetTile
包含在 WMTS URL 中以获取要素信息的默认参数。值如下:
service=WMTS
version=1.0.0
request=GetFeatureInfo
获取或设置一个时钟,用于获取时间动态参数使用的时间。
readonly credit : Credit
获取当此影像提供程序处于活动状态时要显示的版权信息。通常用于注明
影像的来源。
获取或设置一个包含静态维度及其值的对象。
获取或设置一个值,指示是否启用要素拾取。如果为 true,
WebMapTileServiceImageryProvider#pickFeatures 将
调用 WMTS 服务器上的 GetFeatureInfo 服务并尝试解释响应中包含的要素。如果为 false,
WebMapTileServiceImageryProvider#pickFeatures 将立即返回 undefined(表示没有可拾取的
要素),而不与服务器通信。如果您知道数据源
不支持拾取要素,或者您不希望此提供程序的要素可被拾取,请将此属性设置为 false。
KVP 编码默认为 true。对于 RESTful 编码,仅当
WebMapTileServiceImageryProvider.ConstructorOptions#getFeatureInfoUrl 已指定时为 true,否则为 false。
readonly errorEvent : Event
获取当影像提供程序遇到异步错误时引发的事件。通过订阅
该事件,您将收到错误通知并可能从中恢复。事件监听器
会接收到
TileProviderError 的实例。
获取此影像提供程序返回的图像的 MIME 类型。
readonly getFeatureInfoUrl : Resource|string
获取 WMTS 服务器的 getFeatureInfo URL。
获取一个值,指示此影像提供程序提供的图像
是否包含 Alpha 通道。如果此属性为 false,则 Alpha 通道(如果存在)将
被忽略。如果此属性为 true,则任何没有 Alpha 通道的图像将被视为
其 Alpha 值在所有地方都为 1.0。当此属性为 false 时,内存使用量
和纹理上传时间会减少。
获取可请求的最大细节级别。
获取可请求的最小细节级别。
readonly proxy : Proxy
获取此提供程序使用的代理。
readonly rectangle : Rectangle
获取此实例提供的影像范围(以弧度为单位)。
readonly tileDiscardPolicy : TileDiscardPolicy
获取瓦片丢弃策略。如果未定义,则丢弃策略负责
通过其 shouldDiscardImage 函数过滤掉"缺失"的瓦片。如果该函数
返回 undefined,则不会过滤任何瓦片。
获取每个瓦片的高度(以像素为单位)。
获取每个瓦片的宽度(以像素为单位)。
readonly tilingScheme : TilingScheme
获取此提供程序使用的瓦片方案。
获取或设置一个时间间隔集合,用于获取时间动态参数。每个
TimeInterval 的数据是一个对象,包含在
瓦片请求期间使用的属性的键和值。
获取托管影像的服务的 URL。
Methods
getTileCredits(x, y, level) → Array.<Credit>
获取当显示给定瓦片时要显示的版权信息。
| Name | Type | Description |
|---|---|---|
x |
number | 瓦片 X 坐标。 |
y |
number | 瓦片 Y 坐标。 |
level |
number | 瓦片级别; |
Returns:
显示瓦片时要显示的版权信息。
pickFeatures(x, y, level, longitude, latitude) → Promise.<Array.<ImageryLayerFeatureInfo>>|undefined
异步确定瓦片内给定经度和纬度位置存在哪些要素(如果有)。
| Name | Type | Description |
|---|---|---|
x |
number | 瓦片 X 坐标。 |
y |
number | 瓦片 Y 坐标。 |
level |
number | 瓦片级别。 |
longitude |
number | 拾取要素的经度。 |
latitude |
number | 拾取要素的纬度。 |
Returns:
拾取要素的承诺,当异步
拾取完成时解析。解析值是一个
ImageryLayerFeatureInfo
实例数组。如果在给定位置未找到要素,数组可能为空。
requestImage(x, y, level, request) → Promise.<ImageryTypes>|undefined
请求给定瓦片的图像。
| Name | Type | Description |
|---|---|---|
x |
number | 瓦片 X 坐标。 |
y |
number | 瓦片 Y 坐标。 |
level |
number | 瓦片级别。 |
request |
Request | optional 请求对象。仅供内部使用。 |
Returns:
图像的承诺,当图像可用时解析,或者
如果服务器有太多活动请求而返回 undefined,则应稍后重试请求。
Type Definitions
WebMapTileServiceImageryProvider 构造函数的初始化选项
Properties:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
url |
Resource | string | WMTS GetTile 操作的基本 URL(用于 KVP 编码请求)或瓦片 URL 模板(用于 RESTful 请求)。瓦片 URL 模板应包含以下变量:{style}、{TileMatrixSet}、{TileMatrix}、{TileRow}、{TileCol}。如果实际值已硬编码或服务器不需要,前两个是可选的。可以使用 {s} 关键字指定子域名。 | ||
format |
string |
<optional> |
'image/jpeg' | 从服务器检索的图像的 MIME 类型。 |
layer |
string | WMTS 请求的图层名称。 | ||
style |
string | WMTS 请求的样式名称。 | ||
tileMatrixSetID |
string | 用于 WMTS 请求的 TileMatrixSet 标识符。 | ||
enablePickFeatures |
boolean |
<optional> |
如果为 true,WebMapTileServiceImageryProvider#pickFeatures 将调用
WMTS 服务器上的 GetFeatureInfo 操作并返回响应中包含的要素。如果为 false,
WebMapTileServiceImageryProvider#pickFeatures 将立即返回 undefined(表示没有可拾取的要素),
而不与服务器通信。如果您知道 WMTS 服务器不支持
GetFeatureInfo,或者您不希望此提供程序的要素可被拾取,请将此属性设置为 false。
KVP 编码默认为 true。对于 RESTful 编码,仅当
WebMapTileServiceImageryProvider.ConstructorOptions#getFeatureInfoUrl 已指定时为 true,否则为 false。 |
|
getFeatureInfoParameters |
object |
<optional> |
包含在 GetFeatureInfo 请求中的附加参数。键在内部转换为小写。 | |
getFeatureInfoUrl |
Resource | string |
<optional> |
WMTS 服务的 GetFeatureInfo URL。如果未指定,则使用 url 的值。 |
|
getFeatureInfoFormats |
Array.<GetFeatureInfoFormat> |
<optional> |
WebMapTileServiceImageryProvider.DefaultGetFeatureInfoFormats | 尝试 WMTS GetFeatureInfo 请求的 格式。 |
rectangle |
Rectangle |
<optional> |
Rectangle.MAX_VALUE | 图层覆盖的范围。 |
tilingScheme |
TilingScheme |
<optional> |
与 TileMatrixSet 中瓦片组织相对应的瓦片方案。 | |
ellipsoid |
Ellipsoid |
<optional> |
椭球体。如果未指定,则使用 WGS84 椭球体。 | |
tileWidth |
number |
<optional> |
256 | 瓦片宽度(以像素为单位)。 |
tileHeight |
number |
<optional> |
256 | 瓦片高度(以像素为单位)。 |
minimumLevel |
number |
<optional> |
0 | 影像提供程序支持的最小细节级别。 |
maximumLevel |
number |
<optional> |
影像提供程序支持的最大细节级别,如果没有限制则为 undefined。 | |
tileMatrixLabels |
Array |
<optional> |
用于 WMTS 请求的 TileMatrix 标识符列表,每个 TileMatrix 级别一个。 | |
credit |
Credit | string |
<optional> |
数据源的版权信息,显示在画布上。 | |
subdomains |
string | Array.<string> |
<optional> |
'abc' | 用于 URL 模板中 {s} 占位符的子域名。
如果此参数是单个字符串,则字符串中的每个字符都是一个子域名。如果
是数组,则数组中的每个元素都是一个子域名。 |
clock |
Clock |
<optional> |
用于确定时间维度值的 Clock 实例。指定 `times` 时为必需。 | |
times |
TimeIntervalCollection |
<optional> |
TimeIntervalCollection,其 data 属性是一个包含时间动态维度及其值的对象。 |
|
dimensions |
object |
<optional> |
包含静态维度及其值的对象。 |
