I am correctly reading nautical charts in my program using the example documented here:
https://developers.arcgis.com/qt/layers/display-electronic-navigational-charts/
I would like to hide all elements that appear on the nautical chart, and I have achieved this for almost all elements by filtering as follows:
EncDisplaySettings *encDisplaySettings =
EncEnvironmentSettings::displaySettings();
EncMarinerSettings *encMarinerSettings =
encDisplaySettings->marinerSettings();
encMarinerSettings->setDataQuality(false);
encMarinerSettings->setLabelContours(false);
encMarinerSettings->setDisplayNobjnm(false);
encMarinerSettings->setHonorScamin(false);
encMarinerSettings->setIsolatedDangers(false);
encMarinerSettings->setLabelSafetyContours(false);
encMarinerSettings->setLowAccuracy(false);
encMarinerSettings->setShallowDepthPattern(false);
encMarinerSettings->setTwoDepthShades(false);
EncTextGroupVisibilitySettings *encTextGroupVisibilitySettings =
encDisplaySettings->textGroupVisibilitySettings();
encTextGroupVisibilitySettings->setBerthNumber(false);
encTextGroupVisibilitySettings->setCurrentVelocity(false);
encTextGroupVisibilitySettings->setGeographicNames(false);
encTextGroupVisibilitySettings->setHeightOfIsletOrLandFeature(false);
encTextGroupVisibilitySettings->setImportantText(false);
encTextGroupVisibilitySettings->setLightDescription(false);
encTextGroupVisibilitySettings->setMagneticVariationAndSweptDepth(false);
encTextGroupVisibilitySettings->setNamesForPositionReporting(false);
encTextGroupVisibilitySettings->setNatureOfSeabed(false);
encTextGroupVisibilitySettings->setNoteOnChartData(false);
EncViewingGroupSettings *encViewingGroupSettings =
encDisplaySettings->viewingGroupSettings();
encViewingGroupSettings->setAllIsolatedDangers(false);
encViewingGroupSettings->setArchipelagicSeaLanes(false);
encViewingGroupSettings->setBoundariesAndLimits(false);
encViewingGroupSettings->setBuoysBeaconsAidsToNavigation(false);
encViewingGroupSettings->setBuoysBeaconsStructures(false);
encViewingGroupSettings->setChartScaleBoundaries(false);
encViewingGroupSettings->setDepthContours(false);
encViewingGroupSettings->setDryingLine(false);
encViewingGroupSettings->setLights(false);
encViewingGroupSettings->setMagneticVariation(false);
encViewingGroupSettings->setOtherMiscellaneous(false);
encViewingGroupSettings->setProhibitedAndRestrictedAreas(false);
encViewingGroupSettings->setSeabed(false);
encViewingGroupSettings->setShipsRoutingSystemsAndFerryRoutes(false);
encViewingGroupSettings->setSpotSoundings(false);
encViewingGroupSettings->setStandardMiscellaneous(false);
encViewingGroupSettings->setSubmarineCablesAndPipelines(false);
encViewingGroupSettings->setTidal(false);
My problem is that there is one element that appears in several places on the nautical chart and I cannot seem to remove it:
Following the documentation example for identifying elements: https://developers.arcgis.com/qt/layers/display-electronic-navigational-charts/#identify-and-select-... I have been able to verify that clicking on it indicates:
Found EncFeature: "Offshore platform"
I would like to know if there is any filter that I have not included in my code that could hide these EncFeatures, or if there is another way to hide or remove them from the EncLayer.
Hello @JesDL
A quick way to hide all symbols would be to set the opacity of the ENC layer to 0.
encLayer->setOpacity(0);
You can also achieve this using the EncDisplayCategories API. All features are segregated into 3 different display categories: Base, Standard, Other.
auto* displaySettings = EncEnvironmentSettings::displaySettings();
auto* marinerSettings = displaySettings->marinerSettings();
auto* displayCategories = marinerSettings->displayCategories();
displayCategories->setDisplayBase(false);
displayCategories->setStandardDisplay(false);
displayCategories->setOtherDisplay(false);