В моем ArcGIS Pro-Addon я хочу загрузить .lyr-файл в карту, но только если она еще не загружена. Это код, который я использовал в Arcgis-desktop: < /p>
public static void LoadDataToArcMap(String layerfilename)
{
IGxLayer pGxLayer = new GxLayerClass();
IGxFile pGxFile = (IGxFile)pGxLayer;
pGxFile.Path = layerfilename;
IMxDocument doc = ArcMap.Document;
IMap map = doc.FocusMap;
Int16 index = 0;
if (map.LayerCount > 0)
{
do
{
ILayer layer = map.get_Layer(index);
index++;
if (layer.Name == pGxLayer.Layer.Name)
return;
}
while (index < map.LayerCount);
}
map.AddLayer(pGxLayer.Layer);
}
Но с новым API я не нахожу способ получить имя слоя (которое может отличаться от имени файла) без загрузки его в мою карту.
private static void LoadLayer(string layerFilename)
{
Map map = MapView.Active.Map;
//I already tried this but createParams.Item.Name is empty
//var uriNewLayer = new Uri(layerFilename);
//var createParams = new LayerCreationParams(uriNewLayer);
//var newLayerName = createParams.Item.Name;
var newLayerName = "???";
foreach (var layer in map.Layers)
{
if (layer.Name == newLayerName)
{
MessageBox.Show("Layer '" + newLayerName + "' already loaded.");
return;
}
}
Layer newLayer = LayerFactory.Instance.CreateLayer(uriNewLayer, map);
}
Подробнее здесь: https://stackoverflow.com/questions/762 ... is-pro-3-1
Как получить имя слоя, не загружая его в карту с ArcGIS Pro 3.1 API? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка Java/Python Spark при запуске инструмента Найти кластеры точек в ArcGIS Pro
Anonymous » » в форуме JAVA - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Невозможно включить легенду в KMZ при использовании инструмента ArcGIS Pro MapToKML.
Anonymous » » в форуме Python - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-