2 votes

Existe-t-il un moyen d'obtenir toutes les caractéristiques d'une couche ENC et de basculer leur visibilité dans les SDK ArcGIS java ou .net ?

Je cherchais un moyen d'obtenir la liste de toutes les caractéristiques, à partir d'une couche ENC, en regardant les échantillons de codage, je suis tombé sur ce .

Dans cet exemple de code, nous avons les méthodes MapView.IdentifyLayersAsync et MapView.IdentifyLayerAsync, ces deux méthodes renvoient respectivement Task> et Task et nous pouvons alors obtenir des caractéristiques à partir des GeoElements, mais ces deux méthodes nécessitent un point comme paramètre d'entrée. Comment pouvons-nous faire cela sans fournir le point, c'est-à-dire obtenir toutes les caractéristiques d'une couche ENC et est-il possible de basculer leur visibilité dans MapView (spécialement dans java 100.7.0) ? Merci d'avance

1voto

crayolist Points 11

Il n'est pas possible d'obtenir toutes les caractéristiques d'une couche ENC en utilisant IdentifyLayerAsync(). IdentifyLayerAsync() est utilisé pour identifier les entités visibles par un clic de souris. https://developers.arcgis.com/java/latest/api-reference/reference/com/esri/arcgisruntime/mapping/view/GeoView.html#identifyLayersAsync(javafx.geometry.Point2D,double,boolean,int)

Quel est votre cas d'utilisation ? Essayez-vous d'obtenir tous les éléments ENC dans la vue actuelle ou tous les éléments du fichier ENC ? Avez-vous regardé l'utilitaire ogr2ogr de GDAL ? Il peut exporter S57(ENC) vers d'autres formats vectoriels.

1voto

Fuzail Points 187

J'ai utilisé la même version du Java runtime SDK v100.7.0 et j'ai rencontré le même problème. Après avoir parcouru leur documentation à l'adresse Afficher des cartes de navigation électroniques - ArcGIS Runtime SDK for Java sous "Set ENC environment settings", il est mentionné :

Les couches ENC sont affichées conformément à la norme S-52 de l'OHI. Vous pouvez définir les propriétés d'affichage de vos couches ENC en utilisant la fonction statique EncEnvironmentSettings classe. Ces paramètres s'appliquent à toutes les couches ENC dans toutes les cartes. Les paramètres se répartissent en trois catégories : les paramètres des marines, les paramètres de visibilité des groupes de texte et les paramètres des groupes de visualisation. Les paramètres des groupes de texte contrôlent l'affichage des étiquettes des entités, les paramètres des navigateurs contrôlent la symbolisation et la présentation des entités ENC, et les paramètres des groupes de visualisation permettent d'appliquer rapidement des paramètres à des groupes logiques de types d'entités. Exemple :

    // Enables display of seabed information for all ENC layers
EncEnvironmentSettings.getDisplaySettings().getTextGroupVisibilitySettings().setIsNatureOfSeabed(true);

Ainsi, pour modifier la visibilité de chaque type de caractéristique, vous pouvez appeler la catégorie spécifique à partir de EncEnvironmentSettings.getDisplaySettings() puis définir la visibilité d'une fonction spécifique dans cette catégorie à l'aide d'une valeur booléenne.

Cette documentation sur les classes ArcGIS pourrait vous aider Classe EncEnvironmentSettings.DisplaySettings

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X