Skip To Content

MapLayer.Get (.NET)

Cette méthode renvoie les propriétés de la couche d’imagerie ou de carte pour la couche de carte ou d’imagerie spécifiée référencée par son numéro d’index de carte.

Déclaration

public Dictionary<string, object> Esri.ArcGISForAutoCAD.MapLayer.Get(Document doc, int mapLayerId)

Paramètres

TypeNomDescriptionRequis

Document

doc

Document AutoCAD sur lequel intervenir.

required

entier

mapLayerId

Nombre entier d’indexation associé à la couche, qui peut être obtenu à l’aide de MapLayer.Names.

required

Retours

TypeDescription

Dictionary<chaîne, objet>

Dictionnaire des propriétés de la couche d’imagerie ou de carte. Les propriétés varient en fonction du service. Les clés et valeurs du dictionnaire sont décrites dans la table ci-dessous.

Le dictionnaire peut contenir les valeurs suivantes entre autres :

CléTypeDescription de la valeur

"Allow_Raster_Function"

bool

Indique si la couche prend en charge les fonctions raster ou non.

"Dynamic"

bool

Méthode de mise à jour de la couche de carte lorsque la vue change (true = Dynamique, false = Actualisation à la demande).

"DatumTransformations"

IEnumerable<Dictionary<chaîne, objet>>

Ensemble de dictionnaires contenant les étapes de la transformation de datum.

"Id"

entier

Nombre entier d’indexation associé à la couche.

"IsConnected"

bool

Indique si la couche est connectée ou non.

"Name"

chaîne

Nom de la couche d’imagerie ou de carte.

"ProcessingTemplate"

chaîne

Nom du modèle de traitement de couche d’imagerie.

"ProcessingTemplateNames"

IEnumerable<chaîne>

Ensemble de noms du modèle de traitement de couche d’imagerie disponibles.

"SpatialReference"

chaîne

Référence spatiale de la couche sous forme d’une chaîne WKID ou WKT.

"Transparency"

entier

Pourcentage de transparence d’image appliqué à la carte (0-99, zéro est opaque).

"Visible"

bool

Visibilité de la carte (true = Visible, false = Masquée)

Remarques sur les conditions d’erreur

Si un paramètre n’est pas valide, cette méthode peut générer une exception ou renvoyer null.

Exemple 1

Afficher les propriétés de la couche de carte pour la couche de carte ayant l’index 1.

// Initialize
var doc = Application.DocumentManager.MdiActiveDocument;
var mapLayerId = 1;

// Get the map layer properties 
var mapLayerProperties = Esri.ArcGISForAutoCAD.MapLayer.Get(doc, mapLayerId);

// Print the map layer properties 
foreach (var property in mapLayerProperties)
{
  if (property.Key == "DatumTransformations")
  {
    doc.Editor.WriteMessage("\n{0}: ", property.Key);
    foreach (var value in property.Value as IEnumerable<Dictionary<string, object>>)
    {
      doc.Editor.WriteMessage("\nFrom {0}: To {1}", value["From"], value["To"]);
      doc.Editor.WriteMessage("\nTransformation:");
      foreach (var dict in value["Steps"] as List<Dictionary<string, object>>)
      {
        foreach (var kvp in dict)
        {
          doc.Editor.WriteMessage("\n\t{0}: {1}", kvp.Key, kvp.Value);
        }
      }
    }
    continue;
  }
  doc.Editor.WriteMessage("\n{0}: {1}", property.Key, property.Value);
}

/* Example output 
Id: 1
Name: ThreeLayers
ItemType: MapImageServiceLayer
IsConnected: True
ServiceUri: https://cadserver.esri.com/server/rest/services/afaHarness/ThreeLayers/MapServer
SpatialReference: 3857
Sublayer_0_Name: myGroupOfLayers
Sublayer_0_Visible: True
Sublayer_1_Name: ETH_ThreeLayers_6543
Sublayer_1_Visible: True
Sublayer_1_SourceSpRef: 103122
Sublayer_2_Name: ETH_ThreeLayers_2882
Sublayer_2_Visible: True
Sublayer_2_SourceSpRef: 2882
Sublayer_3_Name: ETH_ThreeLayers_6425
Sublayer_3_Visible: True
Sublayer_3_SourceSpRef: 103002
Visible: True
Transparency: 30
Dynamic: True
DatumTransformations:
From 6543: To 3857
Transformation:  
 Direction: Reverse
 Step: 108354
From 2882: To 3857
Transformation:
 Direction: Forward
 Step: 1901
*/

Exemple 2

Afficher les propriétés de la couche d’imagerie pour la couche d’imagerie ayant l’index 2.

// Initialize
var doc = Application.DocumentManager.MdiActiveDocument;
var layerId = 2;

// Get the imagery layer properties 
var imageryLayerProperties = Esri.ArcGISForAutoCAD.MapLayer.Get(doc, layerId);

// Print the imagery layer properties 
foreach (var property in imageryLayerProperties)
{
  if (property.Key == "ProcessingTemplateNames")
  {
    doc.Editor.WriteMessage("\n{0}:", property.Key);
    foreach (var value in property.Value as List<string>)
    {
      doc.Editor.WriteMessage(" " + value);
    }
    continue;
  }
  doc.Editor.WriteMessage("\n{0}: {1} ", property.Key, property.Value);
}

/* Example output 
Id: 2
Name: CharlotteLAS
ItemType: RasterServiceLayer
IsConnected: True
ServiceUri: https://sampleserver6.arcgisonline.com/arcgis/rest/services/CharlotteLAS/ImageServer
SpatialReference: 102719
Visible: True
Transparency: 30
Dynamic: True
Allow_Raster_Function: True
ProcessingTemplateNames: None RFTAspectColor RFTHillshade RFTShadedReliefElevationColorRamp
*/

Voir aussi

MapLayer.Names : méthode .NET qui renvoie un dictionnaire indexé des noms de couches de carte et d’imagerie inclus dans le dessin actif.

esri_maplayer_get : fonction AutoLISP qui renvoie les propriétés de la couche de carte ou d’imagerie pour le numéro d’index de couche spécifié.