Skip To Content

MapLayer.Get (.NET)

Diese Methode gibt die Eigenschaften des Karten- oder Bilddaten-Layers für die angegebene Karte oder den angegebenen Bilddaten-Layer zurück, auf die bzw. den durch die Kartenindexnummer verwiesen wird.

Deklaration

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

Parameter

TypNameBeschreibungErforderlich

Dokument

doc

Das AutoCAD-Dokument, das bearbeitet werden soll.

Erforderlich

Int

mapLayerId

Die dem Layer, der mit MapLayer.Names abgerufen werden kann, zugeordnete ganzzahlige Indexnummer.

Erforderlich

Rückgaben

TypBeschreibung

Dictionary<Zeichenfolge, Objekt>

Ein Wörterbuch der Eigenschaften des Karten- oder Bilddaten-Layers. Die Eigenschaften hängen vom jeweiligen Service ab. Die Schlüssel und Werte des Wörterbuchs werden in der folgenden Tabelle näher beschrieben.

Das Wörterbuch kann u. a. die folgenden Werte enthalten:

SchlüsselTypWertbeschreibung

"Allow_Raster_Function"

Boolesch

Ob der Layer Rasterfunktionen unterstützt.

"Dynamic"

Boolesch

Vorgehensweise beim Aktualisieren des Karten-Layers (true = Dynamisch, false = Bei Bedarf aktualisieren).

"DatumTransformations"

IEnumerable<Dictionary<Zeichenfolge, Objekt>>

Eine Sammlung von Wörterbüchern, die die Datumstransformationsschritte enthalten.

"Id"

Int

Die dem Layer zugeordnete ganzzahlige Indexnummer.

"IsConnected"

Boolesch

Ob der Layer verbunden ist.

"Name"

Zeichenfolge

Der Name des Karten- oder Bilddaten-Layers.

"ProcessingTemplate"

Zeichenfolge

Der Name der Verarbeitungsvorlage für den Bilddaten-Layer.

"ProcessingTemplateNames"

IEnumerable<Zeichenfolge>

Eine Sammlung der Namen verfügbarer Verarbeitungsvorlagen für Bilddaten-Layer.

"SpatialReference"

Zeichenfolge

Der Raumbezug des Layers als WKID- oder WKT-Zeichenfolge.

"Transparency"

Int

Auf die Karte anzuwendende, prozentual ausgedrückte Bildtransparenz: {0-99: Null ist undurchsichtig}

"Visible"

Boolesch

Die Sichtbarkeit der Karte (true = Sichtbar, false = Ausgeblendet)

Anmerkungen zu Fehlerbedingungen

Diese Methode kann eine Ausnahme auslösen oder null zurückgeben, wenn ein Parameter ungültig ist.

Beispiel 1

Ausgeben der Karten-Layer-Eigenschaften für den Karten-Layer mit dem 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
*/

Beispiel 2

Ausgeben der Bilddaten-Layer-Eigenschaften für den Bilddaten-Layer mit dem 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
*/

Weitere Informationen

MapLayer.Names: Eine .NET-Methode, die ein indiziertes Wörterbuch der Namen von Karten- und Bilddaten-Layern zurückgibt, die in der aktuellen Zeichnung enthalten sind.

esri_maplayer_get: Eine AutoLISP-Funktion, die Karten- oder Bilddaten-Layer-Eigenschaften für die angegebene Layer-Indexnummer zurückgibt.