//************************************************
版权所有,转载请保留作者信息。
//----------------------------------------------------------------
Public Function CalDistanceLine2Line(ByVal pFt As IFeature, ByVal pFt2 As IFeature, dMin As Double, dMax As Double)
On Error GoTo EH
dMin = 0
dMax = 0
If pFt Is Nothing Or pFt2 Is Nothing Then
Exit Function
End If
Dim pProximity As IProximityOperator
Set pProximity = pFt.Shape
Dim pPtCollection As IPointCollection
Set pPtCollection = pFt2.Shape
Dim dDistance As Double
Dim dCalMin As Double
Dim dCalMax As Double
dCalMin = 0
dCalMax = 0
Dim i As Integer
For i = 0 To pPtCollection.PointCount - 1
dDistance = pProximity.ReturnDistance(pPtCollection.Point(i))
If i = 0 Then
dCalMax = dDistance
dCalMin = dDistance
Else
If dDistance > dCalMax Then
dCalMax = dDistance
End If
If dDistance < dCalMin Then
dCalMin = dDistance
End If
End If
Next i
dMin = dCalMin
dMax = dCalMax
Exit Function
EH:
MsgBox Err.Description, vbInformation, "CalDistanceLine2Line"
End Function