使用 Mapsui 将 TIME 参数传递给时间感知 WMS 提供程序

问题描述 投票:0回答:1

我尝试在使用 Mapsui 创建 WmsProivder 时添加其他参数。我在文档中读到,目前 Mapsui 不会自动获取 ServiceDescription,因此您必须向 URL 添加其他参数。然而,当我尝试时,我总是收到“找不到服务标签”错误。

 private static async Task<WmsProvider> CreateWmsProviderAsync()
 {
     var wmsUrl = "https://mapservices.weather.noaa.gov/eventdriven/services/radar/radar_base_reflectivity_time/ImageServer/WMSServer?SERVICE=WMS&TIME=";
     wmsUrl = wmsUrl + DateTime.Now.AddHours(-12).ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
     var provider = await WmsProvider.CreateAsync(wmsUrl);
     provider.ContinueOnError = true;
     provider.TimeOut = 20000;   
     provider.CRS = "EPSG:3857";
     provider.AddLayer("0");
     provider.SetImageFormat(provider.OutputFormats[1]);
     return provider;
 }

实现这一目标的正确方法是什么?

WMS GetCapability 文档的链接位于此处

c# .net wms mapsui
1个回答
0
投票

WmsProvider 有一个 ExtraParams 字段,它是一个字典,键/值对将作为额外参数添加到请求中。

您指定的 url 是 WMS 服务的根目录,不应更改该 url 以添加参数。

© www.soinside.com 2019 - 2024. All rights reserved.