Search for: KB10329 - Measure shortest distance between a line and a point. ' place DKcomponent on the form just to be sure that an object will be connected Public ProjectionList As New TatukGIS_DK.XGIS_ProjectionList() Const Pi = 3.14159265358979 Dim GISUtils as new XGIS_Utils --- code Private Sub My_procedure() Dim proj As TatukGIS_DK.XGIS_ProjectionAbstract Dim src As New TatukGIS_DK.XGIS_Coordinate() Dim dst As New TatukGIS_DK.XGIS_Coordinate() Dim unt As New TatukGIS_DK.XGIS_Units() proj = ProjectionList.FindEx("UTM") proj.SetUp(0, 0, 0, 0, 0, 0, 17, 0) 'coordinates are: 'Point 1 'Lat: 2626.9222755 'Lng: 8143.1208638 ' 8143.1208638 = 81 deg 43.1208638 = 81 + 43.1208638 / 60 ' and we must express in radians so * Pi / 180 src.Prepare((81 + 43.1208638 / 60) * Pi / 180, (26 + 26.9222755 / 60) * Pi / 180, 0) dst = proj.Projected(src) 'plug in the results to a textbox for display TextBox1.Text = dst.X TextBox2.Text = dst.Y End Sub The trigonometry equation to calculate the distance and to indicate on which side of the line the point is located would be as follows: ptA - starting point ptB - ending point ptG - point to test distance = GISUtils.GisLine2Point(ptA, ptB, ptG) res = (ptG.Y - ptA.Y) *(ptB.X - ptA.X) * (ptG.X - ptA.X) * (ptB.Y -ptA.Y) if res > 0 then point is on the left if res = 0 then point is in-line if res < 0 then point is on the right Created: November 21, 2003, Modified: August 03, 2015