Notice
Recent Posts
Recent Comments
Tags
- javascript 유효성체크
- SSD 복사
- jquery 바코드
- 말줄임표시
- Mac Oracle
- 강제이동
- 바코드 생성하기
- XSS PHP
- ViewData
- jquery 바코드생성
- php 캐쉬제거
- 타임피커
- asp.net dropdownlist
- 파일업로드 유효성체크
- XSS방어
- 파일업로드 체크
- asp.net core Select
- TempData
- 바코드 스캔하기
- 404에러페이지
- ASP.Net Core 404
- 맥 오라클설치
- django 엑셀불러오기
- javascript 바코드 생성
- ViewBag
- 하드 윈도우 복사
- javascript redirection
- javascript 바코드스캔
- asp.net Select
- 하드 마이그레이션
웹개발자의 기지개
[java] 위도,경도 좌표 두 지점사이의 거리 구하기 본문
x, y 위도 경도 좌표 사이에서 두 지점사이의 거리를 구하는 아주 좋은 소스가 있어서 정리해 본다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | public class LocationDistance { public static void main(String[] args) { // 마일(Mile) 단위 double distanceMile = distance(37.504198, 127.047967, 37.501025, 127.037701, ""); // 미터(Meter) 단위 double distanceMeter = distance(37.504198, 127.047967, 37.501025, 127.037701, "meter"); // 킬로미터(Kilo Meter) 단위 double distanceKiloMeter = distance(37.504198, 127.047967, 37.501025, 127.037701, "kilometer"); System.out.println(distanceMile) ; System.out.println(distanceMeter) ; System.out.println(distanceKiloMeter) ; } /** * 두 지점간의 거리 계산 * * @param lat1 지점 1 위도 * @param lon1 지점 1 경도 * @param lat2 지점 2 위도 * @param lon2 지점 2 경도 * @param unit 거리 표출단위 * @return */ private static double distance(double lat1, double lon1, double lat2, double lon2, String unit) { double theta = lon1 - lon2; double dist = Math.sin(deg2rad(lat1)) * Math.sin(deg2rad(lat2)) + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.cos(deg2rad(theta)); dist = Math.acos(dist); dist = rad2deg(dist); dist = dist * 60 * 1.1515; if (unit == "kilometer") { dist = dist * 1.609344; } else if(unit == "meter"){ dist = dist * 1609.344; } return (dist); } // This function converts decimal degrees to radians private static double deg2rad(double deg) { return (deg * Math.PI / 180.0); } // This function converts radians to decimal degrees private static double rad2deg(double rad) { return (rad * 180 / Math.PI); } } | cs |
출처: https://fruitdev.tistory.com/189 [과일가게 개발자]
'Java' 카테고리의 다른 글
[Java] 여러버전의 Java 설치하고 활용하기 (0) | 2023.11.10 |
---|---|
[Java] Class Literal - 클래스명.class (0) | 2023.07.19 |
[java] 배열내 요소 모두 삭제, 리셋하기 (0) | 2020.06.11 |
java 미세먼지경보 open API JSON으로 파싱하기1 ( json 객체화 ) (3) | 2019.12.02 |
Jsoup 으로 웹페이지 소스 파싱2 (네이버/다음 실시간 검색어 추출) (0) | 2019.07.21 |
Comments