Hello,
My setup currently is:
I can load the charts just fine using an ArcGISMapImageLayer pointing at the "http://..../MapServer/exts/MaritimeChartService/MapServer" url of my chart server.
My question is: how do i set the Dynamic Parameters of the S-63 charts; specifically the Colour Scheme. I see there is an ENCLayer with mariner options which i don't think I can use with S-63 charts as they must be hosted on a chart server. From what I can gather I need to pass in display_params somehow to the export requests being made to the server. I'm just not sure where i would add these parameters.
Current code below (practically sample code at this point):
ApplicationWindow {
id: appWindow
width: 800
height: 600
title: "Project"
MapView {
anchors.fill: parent
focus: true
Map {
Basemap {
ArcGISMapImageLayer {
url: "http://127.0.0.1:6080/arcgis/rest/services/TiledMap/MapServer/exts/MaritimeChartService/MapServer"
}
}
}
}
}
Cheers, Tiaki
Hi Tiaki Rice,
I initially responded incorrectly. Let me do some research on this and get back to you.
Unfortunately I don't think there is any way to do this. You'd need to add custom query parameters on the rest requests on there is no way to do that.
I will check with my colleagues to be sure.
That would be quite disappointing if that is the case. It is strange that this isn't possible as having a look at the WMS Layer class, it provides a "customParameters" field which allows exactly that.
Why is this same functionality not available for the ArcGISMapImageLayer class?
Thanks for your patience. I've checked with some colleagues and we are considering a new feature in an upcoming release that will accommodate setting custom query parameters per-layer. It's being considered for a post-100.7 release, but I cannot make any guarantees about when it will be available.
We do hear your concerns and hope to get this implemented.
I found out some more information. It turns out you can publish MCS as a WMS service. The endpoint would be
http://..../MapServer/exts/MaritimeChartService/WMSServer
If you're able to access the WMS service endpoint, you should be able to consume the layer as a WmsLayer
WmsLayer QML Type | ArcGIS for Developers
With that, you can use the customParameters as you pointed out before.
WmsLayer QML Type | ArcGIS for Developers
Please let us know if that works for you.
Regards,
-James
James,
Thanks for the information! This does get me a little closer although I will say the amount of configuration for a WMS server utilised in this way is pretty woeful.
The specific parameters that i'm trying to configure are the DisplayParameters such as requesting a different "ColorScheme" value. I am aware that these can be changed via the S52DisplayProperties.xml but i need to be able to change these parameters during runtime.
The following JSON reported by "http://127.0.0.1:6080/arcgis/rest/services/service/MapServer/exts/MaritimeChartService/MapServer/par..." shows the parameters which don't appear in the WMS server.
{
"DisplayParameters": {
"ECDISParameters": {
"version": "10.7.1",
"DynamicParameters": {
"Parameter": [
{
"name": "AreaSymbolizationType",
"value": 2
},
{
"name": "AttDesc",
"value": 1
},
{
"name": "ColorScheme",
"value": 0
},
...
...
...
]
}
}
}
}
Regards, Tiaki
I'm revisiting this issue which I could not manage to resolve at the time with a potential alternate solution.
I'm trying to load S-63 charts using an EncLayer via an EncExchangeSet. All is well until it tries to load the cells at which point I receive the following error: "Cell load error: Cell Permit not found. Load the permit file provided by the data supplier."
Are S-63 charts supported by EncLayer in 100.7.0? If so, how do i load my permit using the EncExchangeSet class? If not, what options do I have to load S-63 charts in ArcGIS Qt runtime SDK 100.7.0 and be able to modify the display properties (i.e. colour scheme) during runtime?
Regards, Tiaki Rice
Hi Tiaki Rice,
No, unfortunately S-63 datasets are not supported with the Qt SDK at this time.