1

I want to calculate the OD Cost Matrix in ArcMap 10.3.1 using the ArcPy package. When running the arcpy.Solve_na, the Python console prints a lot of warning messages. After a while, ArcMap crashes, resulting in the need to close it. I have tried some methods, but they didn't work. Code, warning messages and methods are below:

Code

POI = r"...path\poi" other_Pt = r"...path\poi" # Local variables: TP_pi1_Layer1 = "TP_pi1_Layer1" # Process: Make Feature Layer arcpy.MakeFeatureLayer_management(POI, TP_pi1_Layer1, Expression_mrt, "", "OBJECTID OBJECTID HIDDEN NONE;Shape Shape HIDDEN NONE;Name Name VISIBLE NONE;City City HIDDEN NONE;Town Town HIDDEN NONE;Level1 Level1 HIDDEN NONE;Level2 Level2 HIDDEN NONE;Level3 Level3 VISIBLE NONE;Id Id HIDDEN NONE") # Local variables: OD_Cost_Matrix = "OD Cost Matrix" OD_Cost_Matrix__4_ = OD_Cost_Matrix OD_Cost_Matrix__5_ = OD_Cost_Matrix__4_ # Process: Make OD Cost Matrix Layer arcpy.MakeODCostMatrixLayer_na(NetworkDataset_ND, "OD Cost Matrix", "Length", "", "1", "", "ALLOW_UTURNS", "", "NO_HIERARCHY", "", "NO_LINES", "") # Process: Add Locations arcpy.AddLocations_na(OD_Cost_Matrix, "Origins", other_Pt, "", "200 Meters", "", "NetworkDataset_ND_Junctions NONE;Twn5000rc_polyline1 SHAPE", "MATCH_TO_CLOSEST", "APPEND", "NO_SNAP", "5 Meters", "INCLUDE", "NetworkDataset_ND_Junctions #;Twn5000rc_polyline1 #") # Process: Add Locations arcpy.AddLocations_na(OD_Cost_Matrix__4_, "Destinations", TP_pi1_Layer1, "Name Name #", "200 Meters", "", "NetworkDataset_ND_Junctions NONE;Twn5000rc_polyline1 SHAPE", "MATCH_TO_CLOSEST", "APPEND", "NO_SNAP", "5 Meters", "INCLUDE", "NetworkDataset_ND_Junctions #;Twn5000rc_polyline1 #") # Process: Solve arcpy.Solve_na(OD_Cost_Matrix__5_, "SKIP", "TERMINATE", "") 

warning messages Those warning messages don't stop the code from running, but when the number of warning messages exceeds 30,000 lines, ArcMap crashes.

enter image description here

I tried those methods, but they didn't work.:

1.

arcpy.SetLogHistory(False) 
import warnings def handle_warning(): pass warnings.showwarning = handle_warning 
import warnings warnings.filterwarnings("ignore") 
arcpy.SetSeverityLevel(1) print("Severity is set to : {0}".format(arcpy.GetSeverityLevel())) try: arcpy.Solve_na(OD_Cost_Matrix__5_, "SKIP", "TERMINATE", "") except arcpy.ExecuteWarning: pass except arcpy.ExecuteError: pass 

Has anyone solved this problem?

2
  • 3
    You're using an ancient version of ArcMap with an archaic version of Python. Neither is supported. You are unlikely to find anyone here using nine year old software. Commented Nov 16, 2023 at 3:46
  • Yes... I understand that those are an archaic version. Unfortunately, I can't change it. Commented Nov 16, 2023 at 4:54

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.