Skip To Content

MapLayer.Get (.NET)

Este método devuelve las propiedades de capa de imágenes o mapas de la capa de imágenes o mapas especificada a la que hace referencia su número de índice de mapa.

Declaración

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

Parámetros

TipoNombreDescripciónRequerido

Documento

doc

Documento de AutoCAD sobre el que se va a actuar.

obligatorio

int

mapLayerId

Número entero de índice asociado con la capa que se puede obtener mediante MapLayer.Names.

obligatorio

Devoluciones

TipoDescripción

Diccionario<string, object>

Diccionario de propiedades de capa de imágenes o mapas. Las propiedades varían en función del servicio. Las claves y los valores del diccionario se describen en la tabla siguiente.

El diccionario podría contener los siguientes valores, entre otros:

ClaveTipoDescripción del valor

"Allow_Raster_Function"

bool

Si la capa admite funciones de ráster o no.

"Dynamic"

bool

Método de actualización de capa de mapas cuando la vista cambia (true = Dinámico, false = Actualización bajo demanda).

"DatumTransformations"

IEnumerable<Dictionary<string, object>>

Conjunto de diccionarios que contienen los pasos de la transformación de datum.

"Id"

int

Número entero de índice asociado con la capa.

"IsConnected"

bool

Si la capa está conectada o no.

"Name"

cadena

Nombre de la capa de imágenes o mapas.

"ProcessingTemplate"

cadena

Nombre de plantillas de procesamiento de capas de imágenes.

"ProcessingTemplateNames"

IEnumerable<string>

Conjunto de nombres de plantillas de procesamiento de capas de imágenes.

"SpatialReference"

cadena

La referencia espacial de la capa como cadena de caracteres WKID o WKT.

"Transparency"

int

Porcentaje de transparencia de imagen aplicado al mapa (0-99: cero es opaco).

"Visible"

bool

Visibilidad del mapa (true = Visible, false = Oculto)

Observaciones sobre las condiciones de error

Este método puede generar una excepción o devolver null si un parámetro no es válido.

Ejemplo 1

Imprima las propiedades de la capa de mapas para la capa de mapas de índice 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
*/

Ejemplo 2

Imprima las propiedades de la capa de imágenes para la capa de imágenes de índice 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
*/

Consulte también

MapLayer.Names: método de .NET que devuelve un diccionario indexado de los nombres de capa de imágenes y mapas que se incluyen en el dibujo actual.

esri_maplayer_get: función de AutoLISP que devuelve las propiedades de la capa de imágenes o mapas correspondientes al número de índice de capa especificado.