Více

Ukládáte podvrstvy vrstvy trasy na disk pomocí ArcPy?

Ukládáte podvrstvy vrstvy trasy na disk pomocí ArcPy?


Chci vypočítat trasu skládající se ze 4 bodů pomocí skriptového nástroje a uložit výsledky na disk. Potřebuji, aby se trasa zobrazila jako vrstva na ArcCatalogu pro další práci s ním (úprava jeho tabulky atributů). Skriptový nástroj se úspěšně dokončí, ale žádný výstup se neuloží. Takže jsem se pokusil přidat nástroj Uložit do souboru vrstvy.

Zobrazuje se následující chybová zpráva:

Soubor "C: Users Manu Desktop SS 2015 Analyze mit GI-Technologien Abgabe gruppe1 Teil1_240915.py", řádek 84, v arcpy.management.SaveToLayerFile (outNALayer, outLayerFile, "", "CURRENT") Soubor "c: program files (x86) arcgis desktop10.2 arcpy arcpy management.py", řádek 6640, v SaveToLayerFile raise e
ExecuteError: ERROR 999999: Chyba při provádění funkce. Nepodařilo se provést (SaveToLayerFile).

Toto je můj kód:

# Vytvořte novou vrstvu Route. outRouteResultObject = arcpy.na.MakeRouteLayer (in_network_dataset, out_network_analysis_layer = outNALayerName, impedance_attribute = impedanceAttribute, find_best_order = "USE_INPUT_ORDER", akumulovat_attribute_name_výsledek_na_následek_na_název_název_názvu_na_název_názvu_název_názvu_název_na_název_nastavení Na vrstvu trasy lze nyní odkazovat pomocí objektu vrstvy. outNALayer = outRouteResultObject.getOutput (0) # Získejte názvy všech podvrstev ve vrstvě trasy. subLayerNames = arcpy.na.GetNAClassNames (outNALayer) # Uložte názvy vrstev, které použijeme později stopLayerName = subLayerNames ["zastávky"] routeLayerName = subLayerNames ["Routes"] fieldMappings = arcpy.na.NAClassFieldMapper (outLayerNames) "RouteName"]. MappedFieldName = "stopover" arcpy.na.AddLocations (outNALayer, stopLayerName, "Stanice", fieldMappings, "", "Order", "SNAP") arcpy.na.Solve (outNALayer) arcpy.management.SaveToLayerFile (outNALayer, outLayerFile, "", "AKTUÁLNÍ")

Jsem si docela jistý, že jste téměř tam se svým kódem. Musíte pouze načíst dílčí vrstvu výsledku směrování z vyřešené vrstvy Analýza směrování a poté ji uložit na trvalé místo na disku:

#… Počínaje zde od vašeho kódu výše # Získejte cestu k dílčím vrstvám tras outNARoutesSubLayer = arcpy.mapping.ListLayers (outNALayer, subLayerNames ["Routes"]) [0] # Pokračujte v řešení vrstvy tak, jak jste byli před ... arcpy. na.AddLocations (outNALayer, stopLayerName, "Stanice", fieldMappings, "", "Order", "SNAP") arcpy.na.Solve (outNALayer) # Uložit výslednou křivku trasy (podvrstva Routes) na disk arcpy.CopyFeatures_management ( outNARoutesSubLayer, "Output_Routing_FeatureClass")

Podívejte se na video: Integrating Deep Learning with ArcGIS using Python