Как найти угол между двумя линиями

0 голосов
спросил 13 Март, 07 от PORTER (8,900 баллов) в категории Программные продукты Esri
Добрый день дорогие друзья и коллеги  
 
Помогите мне пожалуйста как можна программным и не программным
 
путем найти угол между двумя линиями

5 Ответы

0 голосов
ответил 13 Март, 07 от Dorofeev1 (6,460 баллов)
Угол находится как разница дирекционндых углов
Public Function DirAngle(y1 As Double, y2 As Double, x1 As Double, x2 As Double) As Double
Dim pi As Double
Dim pPoint1 As IPoint, pPoint2 As IPoint
Dim pVector As IVector3D
pi = 4 * Atn(1)
Set pPoint1 = New Point
Set pPoint2 = New Point
pPoint1.x = x1
pPoint2.x = x2
pPoint1.y = y1
pPoint2.y = y2
Set pVector = New Vector3D
    pVector.ConstructDifference pPoint2, pPoint1
    DirAngle = pVector.Azimuth
    DirAngle = DirAngle * 360 / (2 * pi)
End Function

Public Function Angle(x1 As Double, x2 As Double, y1 As Double, y2 As Double, X3 As Double, X4 As Double, Y3 As Double, Y4 As Double) As Double
Angle = 180 + DirAngle(X3, X4, Y3, Y4) - DirAngle(x1, x2, y1, y2)
If Angle > 360 Then
   Angle = Angle - 360
ElseIf (Angle < 0) Then
Angle = Angle + 360
End If

End Function
0 голосов
ответил 13 Март, 07 от PORTER (8,900 баллов)

объесните пожалуйста подробнее

что такое разница диррекционных углов
0 голосов
ответил 13 Март, 07 от PORTER (8,900 баллов)
 а как можно не программным путем
 
существует ли какая нибудь команда в АркГисе
0 голосов
ответил 14 Март, 07 от Dorofeev1 (6,460 баллов)
Извиняюсь, я хотел сказать разность дирекционных улов
DirAngle(y1 As Double, y2 As Double, x1 As Double, x2 As Double) As Double -возвращает дирекционный угол по коодинатам начальной и коечной точки прямой
DirAngle(y1 As Double, y2 As Double, x1 As Double, x2 As Double) As Double-возращает угол между двумя прямыми,по координатам их начальных и конечных точек.
Не програмно можно вроде сделать через панельку Dimensions

    
0 голосов
ответил 25 Апр, 07 от snooppy (360 баллов)

а не проще взять нужные сегменты от полилиний как ILine и найти разницу углов между ними?

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...