标签:surface 账户 height psi doc ant sch hal rate
接触到的加载数据类型:源地图、shp、Geojson、png、wms、地形底图
1、Cesium加载各类源地图(在线的影像服务)
#此类加载的本质在于 new Cesium.ImageryProvider()
Api defination:“Provides imagery to be displayed on the surface of an ellipsoid. This type describes an interface and is not intended to be instantiated directly.”
imagerProvider不能直接实例化,必须使用具体的接口
var viewer = new Cesium.Viewer("cesiumContainer",
{imageryProvider:new Cesium.加载数据方式{
url:加载数据类型}),
其他控件设置
});
#加载在线影像服务的方式主要包括:
ArcGisMapserverImageryProvider - Arcgis地图服务
BingMapsImageryProvider - BIngMaps地图服务
createOpenStreetMapImageryProvider
createTileMapServiceImageryProvider -提供已发布的瓦片格式(provides tiled imagery as generated by MapTiler, GDAL2Tiles, etc.)
地图加载:TMS、GDAL2Tiles处理后的发布数据
GoogleEarthEnterpriseImageryProvider -Provides tiled imagery using the Google Earth Enterprise REST API
singleTileImageryProvider -单一瓦片加载方式
TileCoordinationImageryProvider - 常用于地形加载
UrlTemplateImageryProvider -url模版的影像服务加载,较为常用的方式,
api中url : ‘https://cesiumjs.org/tilesets/imagery/naturalearthii/{z}/{x}/{reverseY}.jpg‘以及其他地图的api地址
WebMapServiceImageryProvider:Provides tiled imagery hosted by a Web Map Service (WMS) server.
提供瓦片化的wms服务
WebMapTilesServiceImageryProvider:提供一种兼容性的瓦片wms服务
#追加地图服务:
var addlayer = viewer.scene.imagerlayers;Imagerylayers影像图层容器
var newmap = addlayer.addImageryProvider(new Cesium.UrlTemplateImageryProvider({url:地址},其他设置);
可以对newmap 设置透明度、亮度等:newmap.alpha(0透明,1不透明),newmap.brightness(>1增加亮度,<1降低亮度)
#追加个别影像
var specilaMap = addlayer.addImageryProvider(new Cesium.SingleTileImageryProvider(
{url:....png},
rectangle:cesium.rectangle.fromDegrees(111,31,113,33))//放置范围
#官方的ImageryProvider详细说明:
Cesium内置以下ImageryProvider:
2、加载shp主要将shp格式转换为可加载的格式Geojson,或者kml
处理数据可用方法:https://mapshaper.org/或者Geoserver
#直接加载
var pro = viewer.dataSources.add(Cesium.GeoJsonDataSource.load(“json地址”,
stroke:Cesium.Color.RED,
strokeWidth:5,
fill:Cesium.Color.RED.withAlpha(0.1)
fill:new Cesium.Color(0, 0, 0, 0)//设置纯透明后,必须点击到polygon边界才显示提示框
}));
#entity方式加载
var promise =Cesium.GeoJsonDataSource.load("json地址");
promise.then(function(dataSource){
viewer.dataSources.add(dataSource);
var entities = dataSource.entities.values;
for (let i = 0; i < entities.length; i++) {
let entity = entities[i];
entity.polygon.fill=false;//设置无填充后,必须点击到polygon边界才显示提示框
entity.polygon.outline = true;
entity.polygon.outlineColor = Cesium.Color.RED;
entity.polygon.width=5//无效,polygon.width不能超过1
}});
3、加载geoson同上
topojson、Geojson、普通json三种方式
4、加载图片 一般用于具体位置的放置 SingleTileImageryProvider接口
var mypic =new Cesium.SingleTileImageryProvider({
url:"图片地址",
rectangle:Cesium.Rectangle.fromDegrees(113,31,114,33) //放置样式有很多种,比如ellipse
});
viewer.scene.imageryLayers.addImageryProvider(mypic);
//后续追加的一些设置
mypic.hasAlphaChannel=true;
mypic.defaultAlpha=0.5; //初始化的图片透明度修改,此外还可以设置对比度,亮度
5、发布的wms
使用Geoserver发布,网上有很多教程如何使用,使用接口WebMapServiceImageryProvider
var wmsLayer = new Cesium.WebMapServiceImageryProvider({
url:"http://127.0.0.1:8083/geoserver/cesium/wms",
layers:"cesium:county",//Geoserver中的cesium组county层
fill:false, //Cesium.Color.PINK.withAlpha(0.1),
parameters:{
service:"WMS",
format:"image/png",
transparent:true
}});
viewer.scene.imageryLayers.add(wmsLayer);
6、
Cesium加载各类数据总结
标签:surface 账户 height psi doc ant sch hal rate
原文地址:https://www.cnblogs.com/xiaoguniang0204/p/11675253.html