2.7.2 影像高程

2-7-2-1

数据结构

影像数据与高程数据以特定结构存储,其中tms.xml为核心信息文件,在配置数据加载路径时,需指向此xml文件。

2-7-2-2

数据加载(常规)

使用ImageLayer类实现影像数据加载:

var obj = new CooWasm.ImageLayer({
    url: "http://127.0.0.1:8088/Data/DOM/tms.xml"
}, state => {
    if (state) {//是否加载成功
        obj.Locate();//数据定位
    } else {
        obj = obj.destroy();
    }
})

使用ElevationLayer类实现高程数据加载:

var obj = new CooWasm.ElevationLayer({
    url: "http://127.0.0.1:8088/Data/DEM/tms.xml"
}, state => {
    if (state) {//是否加载成功
        obj.Locate();//数据定位
    } else {
        obj = obj.destroy();
    }
})

WMTS服务代理配置(nginx,conf)

防止wmts服务加载时的跨域问题,需要在nginx.conf中配置代理,其中proxy_pass http://172.17.40.191:8200/geoserver;部分为geoserver地址,http://127.0.0.1部分为CooWasmDemo服务地址ip:

location /geoserver {
    # ... 其他代理设置 ...
    proxy_pass http://172.17.40.191:8200/geoserver; # 指向你的 GeoServer

    # 添加 CORS 头
    add_header 'Access-Control-Allow-Origin' 'http://127.0.0.1' always;
    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, HEAD' always;
    add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Authorization' always;
    add_header 'Access-Control-Allow-Credentials' 'false' always; # 或 'true' 如果需要并配置了具体 origin

    # 处理预检请求 (OPTIONS)
    if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Allow-Origin' 'http://127.0.0.1';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, HEAD';
        add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Authorization';
        add_header 'Access-Control-Max-Age' 1728000; # 缓存时间
        add_header 'Content-Type' 'text/plain charset=UTF-8';
        add_header 'Content-Length' 0;
        return 204;
    }
}

2-7-2-11

影像数据加载(OGC)

ogc服务(WMTS,WMS)影像加载以ImageLayer类来实现,需要WMTSConnectorWMTSInformationWMSConnectorWMSInformation类进行配合加载。以下将以加载WMTS服务为例进行讲解:

1.使用WMTSConnector连接WMTS服务:

// 创建WMTSConnector对象,传入WMTS服务地址
var obj = new CooWasm.WMTSConnector({
    url: "http://127.0.0.1:8088/geoserver/gwc/service/wmts"
});

2.获得该WMTS服务的所有服务信息:

后续操作必须在回调函数中执行,确保获取服务信息后再进行下一步:

obj.getLayersInfo(function(err, layerInfos) {
    if (!layerInfos) {
        console.log('未读取到服务信息,错误:'+ err);
    }else{
        //layerInfos为读取到的所有服务信息列表,根据需要选择加载。
        loadImage(layerInfos);
    }
});

3.根据layerName从layerInfos中筛选想要加载的WMTS服务:

// 声明变量存储筛选出的WMTS服务信息对象,该对象为WMTSInformation类
var wmtsInfoObj;
layerInfos.forEach(layerInfo=>{
    //根据layerName筛选需要加载的服务
    if(layerInfo.layerName === 'GeoServer:杭州市行政区划边界'){
        wmtsInfoObj = layerInfo;
    }
})

4.加载对应的WMTS服务:

// 创建ImageLayer对象,传入WMTS服务地址和筛选出的服务信息
var imageLayerObj = new CooWasm.ImageLayer({
    url: "http://127.0.0.1:8088/geoserver/gwc/service/wmts",
    wmtsInfo: wmtsInfoObj,//上一步筛选出来的服务信息对象
}, state => {
    if (state) {
        // 加载成功,执行数据定位
        imageLayerObj.Locate();
    } else {
        // 加载失败,销毁对象
        imageLayerObj = imageLayerObj.destroy();
    }
})

CooWasm开发者中心操作指南(影像高程)

影像高程(常规)

1.选择功能模块: 在开发者中心左侧列表中,依次选择多源数据加载影像高程(常规)2-7-2-4

2.创建影像高程数据: 点击创建地形影像创建地形高程按钮,完成数据创建。 2-7-2-5

影像高程(OGC)

WMTS服务加载

1.选择功能模块: 在开发者中心左侧列表中,依次选择多源数据加载影像高程(OGC)2-7-2-6

2.创建WMTS服务信息类: 点击创建WMTS服务信息类按钮,获取WMTS服务信息。 2-7-2-7

3.配置WMTS服务地址: 若默认的 WMTS 服务地址无法访问,系统将自动弹出「WMTS 服务配置」窗口。请在窗口中输入可正常访问的 WMTS 服务地址,确认无误后点击「确定」按钮完成配置。

2-7-2-10

4.选择需要加载的服务: 在左侧属性面板的activeLayerName下拉框中,选择想要加载的WMTS服务名。 2-7-2-8

5.加载地形影像: 选择完毕后,点击创建地形影像(WMTS)按钮,即可加载对应的WMTS影像数据。 2-7-2-9

WMS服务加载

WMS 服务加载方式与 WMTS 类似,需先使用WMSConnector连接服务,获取服务信息后筛选目标图层,最后通过ImageLayer完成加载,具体操作可参考 WMTS 服务加载流程 。

CopyrightFile Modify: 2025-07-10 09:04:25

results matching ""

    No results matching ""