위도 / 경도에 대한 Java double vs BigDecimal
일반적으로 44.087585 형식의 위도 / 경도를 저장할 때 (즉, 점과 6dp 앞의 최대 2 개의 숫자) bigdecimals에 신경을 써야합니까?
double을 사용하면 소수점 이하 6-7 자리까지 정확한 위도 / 경도를 인치까지 정확하게 측정 할 수 있습니다. 항공에서 십진수를 사용하면 일반적으로 소수점 이하 7 자리 이상으로 이동합니다. NASA 시뮬레이션에서 위도 / 경도 데이터는 두 배이고 다른 모든 자세와 고도는 부동입니다. 즉, 고도의 소수점 6 자리는 중요하지 않은 반면 위도 / 경도의 소수점 6 자리는 피트 이하의 정확도를 나타냅니다. 하위 피트까지의 정밀도가 필요한 경우 위도 / 경도에 부동 소수점을 사용해서는 안됩니다.
Google 어스에서 마커를 배치하고 마지막 십진수를 조작하여 정확도를 확인할 수 있습니다.
double
위도 / 경도에 적합해야합니다. BigDecimal
통화 조작을 시작하거나 정밀도에 대한 더 많은 제어가 필요하면 더욱 중요해집니다.
정밀도가 걱정된다면 BigDecimal
이 게시물에서 다룬 여러 가지 이유로 함께 가야 할 것입니다 . 즉 말했다, double
또는 float
해야 당신이 필요 값의 범위를 만족시킬 수 있다는 점에서 필요한 저장 잘합니다.
나는 생각하지 않는다 정밀 단지 여섯 소수점 이하의 장소에서 double
또는 float
당신을 여행하지만, 당신이 어떤 방법으로 값을 집계 시작하는 경우, 미성년자의 imprecisions가 추가 시작할 수 있습니다.
A double
는 그것을 저장하기에 충분한 정밀도를 가지고 있습니다. 그러나 사용자에게 표시 할 때는 %.6f
가비지 숫자를 인쇄하지 않도록 다음 과 같은 형식 문자열을 사용하십시오 .
nano-GPS를 사용하여 나노 로봇의 나노 이동을 제어하려면 BigDecimal을 선택하십시오. 그렇지 않으면-float / double이면 충분합니다.
이중으로 저장하는 최악의 정확도는 약 3nm입니다.
Java로 계산하려면 다음을 수행하십시오.
Math.ulp((double) 180) * 60 * 1852
3.1582203519064933E-9
보너스로; 수레에 보관할 때 얻을 수있는 최악의 정확도는 1.7 미터입니다.
참조 URL : https://stackoverflow.com/questions/6754881/java-double-vs-bigdecimal-for-latitude-longitude
'Programing' 카테고리의 다른 글
최소 DatePicker 날짜를 현재 날짜로 설정하는 방법 (0) | 2020.12.28 |
---|---|
브라우저가 jQuery를 사용하는 Chrome인지 감지하는 방법은 무엇입니까? (0) | 2020.12.28 |
UIScrollView 내부에있는 UITextView에서 큰 텍스트가 잘림 (0) | 2020.12.28 |
테이블 헤더보기에서 UISearchController가 표시하는 UISearchBar가 활성화되면 너무 멀리 애니메이션됩니다. (0) | 2020.12.28 |
추가 된 공백과 줄 바꿈없이 qDebug를 호출하는 방법은 무엇입니까? (0) | 2020.12.28 |