漏洞 ID 编号 |
BUG-000174599 |
已提交 | February 27, 2025 |
上次修改时间 | July 7, 2025 |
适用范围 | ArcGIS Pro |
找到的版本 | 3.3.2 |
操作系统 | Windows OS |
操作系统版本 | 10.0 64 Bit |
状态 | Will Not Be Addressed
开发团队已考虑过该问题或请求,并决定不会解决该问题。 问题的“其他信息”部分可能包含进一步说明。
|
附加信息
This problem has been presented using the Closest Facility solver in a very complicated Python workflow. The Closest Facility solver as accessed via arcpy.na (layer-based workflow) and arcpy.nax (solver object-based workflow) is the same solver (same code under the hood). As long as the problem being passed into the solver is set up identically, the results will be identical. In this case, since the script is very complicated, we suspect some difference in setup is responsible for the discrepancy. Unfortunately, Esri development teams cannot do extensive debugging of custom scripts.
Some things are different between layers (arcpy.na) and solver objects (arcpy.nax):
The input and output schemas are slightly different. Layer schema: https://pro.arcgis.com/en/pro-app/latest/help/analysis/networks/closest-facility-analysis-layer.htm. Solver object input schema: https://pro.arcgis.com/en/pro-app/latest/arcpy/network-analyst/closestfacility-input-data-types.htm. Solver object output schema: https://pro.arcgis.com/en/pro-app/latest/arcpy/network-analyst/closestfacility-output-data-types.htm
It's possible that the fields in the user's input data match the schema of either the layer or the solver object and are consequently being automatically used for one but not the other. If this is the case, the user could update their field mapping to fix this.
Additionally, the way of configuring analysis settings is a little different, though most of the settings are equivalent. The user seems to be using mostly default settings, although the search tolerance used for locating is different (nax: 10 meters; na: 5 feet).
Here are some suggested debugging steps to narrow in on the cause of the discrepancy:
1. Remove all the code at the top of the scripts before the Network Analyst portion. Prepare the input point data and network dataset and use those as inputs.
2. The user's Network Analyst workflow after this point iterates on closest facility solves, using the output of each solve as input to the next solve. Go step-by-step through this workflow and check the intermediate outputs against each other. This will help pinpoint the stage where the results diverge.
3. Simplify the workflow down to the minimal possible code that reproduces the discrepancy.
If the problem is still reproducible with a highly simplified script after following the debugging steps outlined above, feel free to contact Support again, and we will investigate the problem.
Side observation: The output data provided has an unknown coordinate system. Anything with an unknown coordinate system could behave strangely in unknown ways. Please use a specific geographic or projected coordinate system appropriate for the analysis and geographic location.
解决办法
By only using the arcpy.na module, there is no risk of getting varying results with the route creation.
重现步骤