Этот метод возвращает свойства слоя карты или слоя изображений для указанного слоя карты или слоя изображений, на который ссылается его номер индекса карты.
Декларация
public Dictionary<string, object> Esri.ArcGISForAutoCAD.MapLayer.Get(Document doc, int mapLayerId)
Параметры
| Тип | Имя | Описание | Обязательный |
|---|---|---|---|
Документ | doc | Документ AutoCAD, на основании которого следует действовать. | required |
int | mapLayerId | Целое число индекса, связанное со слоем, который можно получить с помощью MapLayer.Names | required |
Возвращаемые значения
| Тип | Описание |
|---|---|
Dictionary<string, object> | Словарь свойств слоев карты и изображений. Свойства зависят от сервиса. В таблице ниже приводится описание ключей и значений словаря. |
Словарь может содержать следующие значения и другие:
| Ключ | Тип | Описание значения |
|---|---|---|
| "Allow_Raster_Function" | булево | Поддерживает ли слой функции растра или нет. |
"Динамический" | булево | Метод обновления картографического сервиса при изменении вида (true = Динамическое поведение, false = Обновление по требованию). |
"DatumTransformations" | IEnumerable<Dictionary<string, object>> | Коллекция словарей, содержащая шаги преобразования датума. |
"Id" | int | Целое число индекса, связанное со слоем. |
| "IsConnected" | булево | Подключен ли слой или нет. |
"Имя" | string | Имя слоя карты или слоя изображений. |
| "ProcessingTemplate" | string | Имя шаблона обработки слоя изображений. |
"ProcessingTemplateNames" | IEnumerable<string> | Коллекция доступных имен шаблонов обработки слоев изображений. |
"SpatialReference" | string | Пространственная привязка слоя в виде строки WKID или WKT. |
"Прозрачность" | int | Процент прозрачности изображения, применяемый для карты (0-99, 0 означает полную непрозрачность). |
"Видимый" | булево | Видимость карты (true= Видимая, false = Скрытая) |
Замечания по условиям возникновения ошибок
Этот метод может выдать исключение или вернуть null, если параметр является некорректным.
Пример 1
Вывести свойства слоя карты для слоя карты c индексом 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
*/
Пример 2
Вывести свойства слоя изображений для слоя изображений c индексом 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
*/
См. также
MapLayer.Names — метод .NET, который возвращает индексированный словарь имен слоев карты и слоев изображений, включенных в текущий чертеж.
esri_maplayer_get — функция AutoLISP, которая возвращает свойства слоя карты или слоя изображений для указанного номера индекса слоя.