지번주소에서 GPS좌표구하고, 거리산출하기 [펌]

GIS 2017. 12. 19. 14:06

http://rakeion.blog.me/221033846320

Option Base 0 Function Gf_GeoAddress(in_val As String) As String Dim str_위도 As String Dim str_경도 As String Dim str As String With CreateObject("WinHttp.WinHttpRequest.5.1") .Open "GET", "http://maps.googleapis.com/maps/api/geocode/xml?" & "address=" & in_val & "&sensor=false" .Send .WaitForResponse: DoEvents str = .ResponseText Debug.Print str str_위도 = Split(Split(str, "<lat>")(1), "</lat>")(0) '위도 str_경도 = Split(Split(str, "<lng>")(1), "</lng>")(0) '경도 End With Gf_GeoAddress = str_위도 + ", " + str_경도 End Function Function Gf_GeoDistance(in_val As String, in_val2 As String) As String Dim str1() As String Dim str2() As String Dim dbl1(2) As Double Dim dbl2(2) As Double str1 = Split(in_val, ",") str2 = Split(in_val2, ",") dbl1(0) = CDbl(str1(0)) dbl1(1) = CDbl(str1(1)) dbl2(0) = CDbl(str2(0)) dbl2(1) = CDbl(str2(1)) Gf_GeoDistance = Acos(Cos(Radians(90 - dbl1(0))) * Cos(Radians(90 - dbl2(0))) + Sin(Radians(90 - dbl1(0))) * Sin(Radians(90 - dbl2(0))) * Cos(Radians(dbl1(1) - dbl2(1)))) * 6371 End Function Function Acos(in_val) Acos = Application.WorksheetFunction.Acos(in_val) End Function Function Radians(in_val) Radians = Application.WorksheetFunction.Radians(in_val) End Function


설정

트랙백

댓글