Более

Слой матрицы затрат OD (arcpy) не добавлен

Слой матрицы затрат OD (arcpy) не добавлен


Я пытаюсь программно создать слой матрицы затрат OD. Однако у меня есть проблема в том, что этот слой не добавляется в мою таблицу содержания.

Если я вручную запустил инструмент Network Analyst-> Analysis-> Make OD Cost Matrix Layer, в моем Оглавлении будет создан новый слой; однако попытка сделать то же самое из arcpy не дает никакого слоя.

Точно так же я пытаюсь программно загрузить, извлечь и обозначить данные OSM (OpenStreetMaps). При программном использовании этого инструмента OSM новый уровень не добавляется в мое «Оглавление».

Вот соответствующий код из моего набора инструментов.

# Загрузить набор инструментов OpenStreetMap. arcpy.ImportToolbox (r "C:  Program Files (x86)  ArcGIS  Desktop10.3  ArcToolbox  Toolboxes  OpenStreetMap Toolbox.tbx") ## # Получить размеры окна. ## # Это текущая карта, которая должна быть базовой картой OSM. curMapDoc = arcpy.mapping.MapDocument ("CURRENT") # Получить данные с карты (см. объект DataFrame в arcpy). # Объект DataFrame имеет объект «экстент», который имеет XMin, XMax, YMin и YMax. dataFrame = arcpy.mapping.ListDataFrames (curMapDoc, "Layers") [0] extension = dataFrame.extent messages.addMessage ("XMin: {0}, XMax: {1}, YMin: {2}, YMax: {3} ".format (extension.XMin, sizes.XMax, sizes.YMin, sizes.YMax)) # Загрузить данные из OSM. # Слой "OSMLayer" не добавляется! arcpy.DownloadExtractSymbolizeOSMData2_osmtools (extension, True, «OSM_SAC_TEST», «OSMLayer») ## # Преобразование данных OSM в набор сетевых данных. ## arcpy.OSMGPCreateNetworkDataset_osmtools ("OSM_SAC_TEST", r "DriveGeneric.xml", r "ND") ### # Создайте слой матрицы затрат OD. ### #network = "OSM_SAC_TEST_ND" network = r "C:  Users  avejidah  Documents  ArcGIS  DB  ImportTest.gdb  OSM_SAC_TEST  OSM_SAC_TEST_ND" # Слой "OD Cost Matrix" не добавляется! arcpy.na.MakeODCostMatrixLayer (сеть, «Матрица затрат OD», «DriveTime»)

Я не получаю никаких ошибок или чего-то еще, инструмент запускается и говорит: «Завершено». Что мне здесь не хватает?


Ничего, я понял. Мне просто нужно было получить получившийся слой и добавить его.

result = arcpy.na.MakeODCostMatrixLayer (сеть, «Матрица затрат OD», «DriveTime») layerObj = result.getOutput (0) arcpy.mapping.AddLayer (dataFrame, layerObj, «BOTTOM»)