如果文件没有坐标信息,可以使用 QGIS、ArcGIS 等工具添加地理参考。
使用管理员账号登录(默认账号 admin,密码 geoserver)。
在 【图层列表】 中找到你的 GeoTIFF 文件,点击 【发布】。
配置图层参数:
找到刚发布的图层(如 my_tif_layer)。
点击 【OpenLayers】 或 【WMS】 链接,查看地图是否正常显示。
jsconst initwmslayertest = (layername) => {
// 定义 WMS 服务的 URL,指向 GeoServer
let url = 'http://xxxxxxxxxxxxx/geoserver/zzmtest/wms';
// 创建一个 WMS 图层实例
let tileLayer = new mars3d.layer.WmsLayer({
zIndex: 1000, // 设置图层的叠放顺序,1000 代表较高的层级
url: url, // 指定 WMS 服务的 URL
id: layername, // 设置图层的唯一 ID,便于管理
name: layername, // 设置图层的名称
opacity: 0.5, // 设置图层透明度,0.5 代表半透明
layers: "NDVI", // 指定 WMS 请求的图层名称,需与 GeoServer 配置一致
parameters: {
transparent: true, // 使图层背景透明
format: 'image/png', // 设置返回的图片格式为 PNG
},
getFeatureInfoParameters: {
feature_count: 30, // 设置点击时最多返回的要素数量
},
popupOptions: {
horizontalOrigin: Cesium.HorizontalOrigin.LEFT, // 设置弹出框的水平对齐方式
verticalOrigin: Cesium.VerticalOrigin.BOTTOM, // 设置弹出框的垂直对齐方式
offsetX: -14, // 调整弹出框的水平偏移量
},
show: false, // 默认不显示图层
featureToGraphic: mars3d.Util.geoJsonToGraphics, // 将 WMS 返回的 GeoJSON 数据转换为矢量图形
});
// 将创建的 WMS 图层添加到地图中
window.map.addLayer(tileLayer);
// 监听 WMS 图层的 click 事件,获取点击位置的数据信息
tileLayer.on(mars3d.EventType.click, (event) => {
if (event) {
console.log(event); // 打印点击事件返回的数据,便于调试
}
});
}
本文作者:烈焰大火龙
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 © 烈焰大火龙 许可协议。转载请注明出处!