An imagery layer that displays tiled image data from a single imagery provider
on a
Globe
.
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
imageryProvider |
ImageryProvider | The imagery provider to use. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options |
Object |
optional
Object with the following properties:
|
Members
This value is used as the default threshold for color-to-alpha if one is not provided
during construction or by the imagery provider.
-
Default Value:
0.004
This value is used as the default brightness for the imagery layer if one is not provided during construction
or by the imagery provider. This value does not modify the brightness of the imagery.
-
Default Value:
1.0
This value is used as the default contrast for the imagery layer if one is not provided during construction
or by the imagery provider. This value does not modify the contrast of the imagery.
-
Default Value:
1.0
This value is used as the default gamma for the imagery layer if one is not provided during construction
or by the imagery provider. This value does not modify the gamma of the imagery.
-
Default Value:
1.0
This value is used as the default hue for the imagery layer if one is not provided during construction
or by the imagery provider. This value does not modify the hue of the imagery.
-
Default Value:
0.0
static Cesium.MapGISVectorLayer.DEFAULT_MAGNIFICATION_FILTER : TextureMagnificationFilter
This value is used as the default texture magnification filter for the imagery layer if one is not provided
during construction or by the imagery provider.
-
Default Value:
TextureMagnificationFilter.LINEAR
static Cesium.MapGISVectorLayer.DEFAULT_MINIFICATION_FILTER : TextureMinificationFilter
This value is used as the default texture minification filter for the imagery layer if one is not provided
during construction or by the imagery provider.
-
Default Value:
TextureMinificationFilter.LINEAR
This value is used as the default saturation for the imagery layer if one is not provided during construction
or by the imagery provider. This value does not modify the saturation of the imagery.
-
Default Value:
1.0
static Cesium.MapGISVectorLayer.DEFAULT_SPLIT : ImagerySplitDirection
This value is used as the default split for the imagery layer if one is not provided during construction
or by the imagery provider.
-
Default Value:
ImagerySplitDirection.NONE
The alpha blending value of this layer, with 0.0 representing fully transparent and
1.0 representing fully opaque.
-
Default Value:
1.0
The brightness of this layer. 1.0 uses the unmodified imagery color. Less than 1.0
makes the imagery darker while greater than 1.0 makes it brighter.
-
Default Value:
MapGISVectorLayer.DEFAULT_BRIGHTNESS
colorToAlpha : Color
Color value that should be set to transparent.
Normalized (0-1) threshold for color-to-alpha.
The contrast of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
the contrast while greater than 1.0 increases it.
-
Default Value:
MapGISVectorLayer.DEFAULT_CONTRAST
cutoutRectangle : Rectangle
Rectangle cutout in this layer of imagery.
The alpha blending value of this layer on the day side of the globe, with 0.0 representing fully transparent and
1.0 representing fully opaque. This only takes effect when
Globe#enableLighting
is true
.
-
Default Value:
1.0
The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color.
-
Default Value:
MapGISVectorLayer.DEFAULT_GAMMA
The hue of this layer in radians. 0.0 uses the unmodified imagery color.
-
Default Value:
MapGISVectorLayer.DEFAULT_HUE
readonly imageryProvider : ImageryProvider
Gets the imagery provider for this layer.
magnificationFilter : TextureMagnificationFilter
The
TextureMagnificationFilter
to apply to this layer.
Possible values are TextureMagnificationFilter.LINEAR
(the default)
and TextureMagnificationFilter.NEAREST
.
To take effect, this property must be set immediately after adding the imagery layer.
Once a texture is loaded it won't be possible to change the texture filter used.
-
Default Value:
MapGISVectorLayer.DEFAULT_MAGNIFICATION_FILTER
minificationFilter : TextureMinificationFilter
The
TextureMinificationFilter
to apply to this layer.
Possible values are TextureMinificationFilter.LINEAR
(the default)
and TextureMinificationFilter.NEAREST
.
To take effect, this property must be set immediately after adding the imagery layer.
Once a texture is loaded it won't be possible to change the texture filter used.
-
Default Value:
MapGISVectorLayer.DEFAULT_MINIFICATION_FILTER
The alpha blending value of this layer on the night side of the globe, with 0.0 representing fully transparent and
1.0 representing fully opaque. This only takes effect when
Globe#enableLighting
is true
.
-
Default Value:
1.0
readonly rectangle : Rectangle
Gets the rectangle of this layer. If this rectangle is smaller than the rectangle of the
ImageryProvider
, only a portion of the imagery provider is shown.
The saturation of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
saturation while greater than 1.0 increases it.
-
Default Value:
MapGISVectorLayer.DEFAULT_SATURATION
Determines if this layer is shown.
-
Default Value:
true
splitDirection : ImagerySplitDirection
The
ImagerySplitDirection
to apply to this layer.
-
Default Value:
MapGISVectorLayer.DEFAULT_SPLIT
透明度属性
Methods
供imagery调用的使用自身矢量数据绘制Primitive
Name | Type | Description |
---|---|---|
imagery |
Object | The imagery to add Primitives. |
Example:
imagery.imageryLayer._appendPrimitives(imagery);
addVector(id, options) → Primitive
向图层添加矢量要素,所添加的要素类型需要与图层已加载要素类型一致
Name | Type | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id |
Number | 矢量要素的id | ||||||||||||||||||||||||||||
options |
Object |
包含以下属性
|
Returns:
绘制所添加矢量要素的Primitive
Example:
var mapGisVectorLayer = webGlobe.appendMapGISVectorLayer('http://localhost:6163/igs/rest/mrms/docs/二维矢量',options);
mapGisVectorLayer.addVector(294994, { positions: positions, color: Cesium.Color.CADETBLUE, height: 100 });;
城市生长初始化,数据准备完成后会直接开始展示
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
|
Example:
var options = {
autoReset: true,
//添加过滤条件,同矢量加载
// filter: { where: 'height>3' },
getDocLayerIndexes: function (indexs) {
console.log(indexs);
layerIndex = indexs[0];
layer = viewer.scene.layers.getLayer(layerIndex);
console.log(layer);
},
style: {
type: 'cityGrow',
styleOptions: {
heightField: 'height',
heightRatio: 10,
startTimeField: 'startTime',
endTimeField: 'endTime',
replay: false,
displayWithTile: false,
cityGrowSpeed: 0.5,
colors: colors,
colorSampling: false,
//buildingsLimit:线性加载时每一时段的建筑数量限制,默认无限制
buildingsLimit: 100,
updateInterval: 0.5
}
}
};
viewer.scene.layers.appendVectorLayer(url, options);
继续城市生长
跳转到给定时间进行展示
Name | Type | Default | Description |
---|---|---|---|
time |
Number | 秒数或时间戳 | |
isPlayTime |
Boolean |
flase
|
optional false表示传入秒数,true表示传入时间戳 |
Returns:
若返回false,则还在进行数据准备,或者时间超出范围
开始城市生长
Returns:
若返回false,则还在进行数据准备
暂停城市生长
Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
release of WebGL resources, instead of relying on the garbage collector to destroy this object.
Once an object is destroyed, it should not be used; calling any function other than
Once an object is destroyed, it should not be used; calling any function other than
isDestroyed
will result in a DeveloperError
exception. Therefore,
assign the return value (undefined
) to the object as done in the example.
Throws:
-
DeveloperError : This object was destroyed, i.e., destroy() was called.
Example:
MapGISVectorLayer = MapGISVectorLayer && MapGISVectorLayer.destroy();
See:
根据过滤条件闪烁要素,该方法支持点,线,区的闪烁,不支持边框线样式
Name | Type | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
|
获取该图层所有原始矢量数据
Example:
var MapGISVectorLayer=Cesium.viewer.imageryLayers.addVectorProvider(new MapGISVectorProvider(options));
MapGISVectorLayer.getAllFeatures().then(function(data){
doSomething(data);
})
根据id获取绘制矢量数据的相关对象
Name | Type | Description |
---|---|---|
id |
Number | 矢量数据的id |
Returns:
由一个GeometryInstance和一个Primitive组成的对象,若查找不到则返回undefined
Example:
var mapGisVectorLayer = webGlobe.appendMapGISVectorLayer('http://localhost:6163/igs/rest/mrms/docs/二维矢量',options);
var vectorObject = VectorLayers[2].getVectorById(192);
var vectorPrimitive = vectorObject.primitive;
var vectorGeometryInstance = vectorObject.geometryInstance;
根据id获取绘制矢量数据边框线的GeometryInstance与所属的Primitive
Name | Type | Description |
---|---|---|
id |
Number | 矢量数据的id |
Returns:
由一个GeometryInstance和一个Primitive组成的对象,若查找不到则返回undefined
Example:
var mapGisVectorLayer = webGlobe.appendMapGISVectorLayer('http://localhost:6163/igs/rest/mrms/docs/二维矢量',options);
var vectorOutlineObject = VectorLayers[2].getVectorOutlineById(192);
var vectorOutlinePrimitive = vectorObject.primitive;
var vectorOutlineGeometryInstance = vectorObject.geometryInstance;
getViewableRectangle() → Promise.<Rectangle>
Computes the intersection of this layer's rectangle with the imagery provider's availability rectangle,
producing the overall bounds of imagery that can be produced by this layer.
Returns:
A promise to a rectangle which defines the overall bounds of imagery that can be produced by this layer.
Example:
// Zoom to an imagery layer.
MapGISVectorLayer.getViewableRectangle().then(function (rectangle) {
return camera.flyTo({
destination: rectangle
});
});
Gets a value indicating whether this layer is the base layer in the
ImageryLayerCollection
. The base layer is the one that underlies all
others. It is special in that it is treated as if it has global rectangle, even if
it actually does not, by stretching the texels at the edges over the entire
globe.
Returns:
true if this is the base layer; otherwise, false.
Returns true if this object was destroyed; otherwise, false.
If this object was destroyed, it should not be used; calling any function other than
If this object was destroyed, it should not be used; calling any function other than
isDestroyed
will result in a DeveloperError
exception.
Returns:
True if this object was destroyed; otherwise, false.
原始矢量数据条件查询
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
查询条件参数,详细参照相应的数据Provider类中queryVector方法,以下为MapGISVectorProvider参数
|
Example:
var options1 = {
pageCount: 120,
where: 'mpArea>20',
orderField: mpArea,
isAsc: true
};
var idArray = [1,4,8,36,89];
var options2 = {
objectIds: idArray
};
//参照DrawElement对应绘图返回值
var p = Cartesian3.fromDegrees(120.9804, 31.3443, 0);
var point = {
position: p,
neardistance: 100
};
var circle = {
center: p,
radius: 1
};
var rect = new Cesium.Rectangle(west, south, east, north);
var polypositions = Cartesian3.fromDegreesArray([120.9804, 31.3443, 121.0682, 31.3604, 121.0682, 31.3443]);
var polyline = {
positions: polypositions,
neardistance: 100
};
var polygon = {
positions: polypositions
};
var optionsRect = {
geometryType: 'rect',
geometry: rect
};
var mapGisVectorLayer = webGlobe.appendMapGISVectorLayer('http://localhost:6163/igs/rest/mrms/docs/二维矢量',options);
MapGISVectorLayer.queryFeatures(options1).then(function(data){
doSomething(data);
})
移除要素闪烁
根据id移除矢量
Name | Type | Description |
---|---|---|
id |
Number | 矢量要素的id |
Returns:
若该id找不到对应矢量返回false,成功移除返回true
Example:
var mapGisVectorLayer = webGlobe.appendMapGISVectorLayer('http://localhost:6163/igs/rest/mrms/docs/二维矢量',options);
mapGisVectorLayer.removeVectorById(193);
城市生长倍速调整
更新发生更改的Primitive,供updateVectorById,removeVectorById使用
Name | Type | Description |
---|---|---|
primitive |
Primitive | 进行更新的Primitive |
城市生长线性展示更新
根据id更新矢量
Name | Type | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id |
Number | 矢量要素的id | ||||||||||||||||||||||||
options |
Object |
该方法可进行修改的属性如下
|
Returns:
若该id找不到对应矢量返回false,成功更新返回true
Example:
var mapGisVectorLayer = webGlobe.appendMapGISVectorLayer('http://localhost:6163/igs/rest/mrms/docs/二维矢量',options);
mapGisVectorLayer.updateVectorById(192, { color: Cesium.Color.CADETBLUE });