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
| Type | Nom | Description | Requis |
|---|---|---|---|
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
| Type | Description |
|---|---|
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é | Type | Description 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é.
Vous avez un commentaire à formuler concernant cette rubrique ?