阅读:1580回复:2
arcengine netwok
<P>在C#中执行 ITraceFlowSolver.PutEdgeOrigins count,ref IEdgeFlag一直提示参数错误,请高手赐教</P>
|
|
1楼#
发布于:2005-01-22 10:30
错误都没写出,看不懂
|
|
|
2楼#
发布于:2005-01-24 17:21
<P>hJuncEIDs = null;
hEdgeEIDs =null; if (m_CurrentNetwork==null) return; ITraceFlowSolver pTraceFlowSolver = new TraceFlowSolverClass() as ITraceFlowSolver ; INetSolver pNetSolver = pTraceFlowSolver as INetSolver; INetwork pNetwork = m_CurrentNetwork.Network; pNetSolver.SourceNetwork = pNetwork; INetElements pNetElements = pNetwork as INetElements; int pCount = hPoints.PointCount; IEdgeFlag[] pEdgeFlagList = new EdgeFlagClass[pCount]; for (int i = 0 ;i<pCount;i++) { IPoint pEdgePoint = hPoints.get_Point(i); int pNearestEdgeEID; IPoint pNearestEdgePoint; double pPercent; m_PointToEID.GetNearestEdge(pEdgePoint,out pNearestEdgeEID,out pNearestEdgePoint,out pPercent); if (pNearestEdgeEID>0) { int pUserClassID; int pUserID; int pUserSubID; pNetElements.QueryIDs(pNearestEdgeEID,esriElementType.esriETEdge, out pUserClassID,out pUserID,out pUserSubID); if ((pUserClassID > 0) ;; (pUserID > 0)) { INetFlag pNetFlag = new EdgeFlagClass () as INetFlag ; pNetFlag.UserClassID = pUserClassID; pNetFlag.UserID = pUserID; pNetFlag.UserSubID = pUserSubID; pNetFlag.Label = "Edge"; IEdgeFlag pTemp = (IEdgeFlag)(pNetFlag as IEdgeFlag); pEdgeFlagList =pTemp; } } } try { IEdgeFlag pD = pEdgeFlagList[0] as IEdgeFlag; pTraceFlowSolver.PutEdgeOrigins(pCount,ref pD); } catch (ArgumentException ex) { MessageBox.Show ("error------"+ex.ToString ()); }</P><P> if (hWeightName!="") { INetSchema pNetSchema = m_CurrentNetwork.Network as INetSchema; INetWeight pNetWeight = pNetSchema.get_WeightByName(hWeightName); INetSolverWeights pNetSolverWeights = pTraceFlowSolver as INetSolverWeights ; pNetSolverWeights.FromToEdgeWeight = pNetWeight; pNetSolverWeights.ToFromEdgeWeight = pNetWeight; } object[] pSengmentCost = new object [pCount-1];</P><P> pTraceFlowSolver.FindPath(esriFlowMethod.esriFMConnected,esriShortestPathObjFn.esriSPObjFnMinSum, out hJuncEIDs, out hEdgeEIDs, pCount - 1, ref pSengmentCost[0]);</P><P>提示错误:参数错误.</P> |
|