2013-08-26 3 views
0

내 데이터베이스에서 현지화 (위도와 경도)로 만든 ID (기본 키)를 사용할 수 있습니까? 내 공식이 같다 :위도와 경도로 만든 ID 사용

public long getKeyValue() { 
    return Long.valueOf((intLatitude + 90 * 1000) + "" + (intLongitude + 180 * 1000)); 
} 

intLatitudeintLongitude 모두 1000 둥근 곱한다. 나는 음의 좌표를 처리하기 위해 원점을 다시 매핑하기 위해 각각 90과 180을 더한다.

+0

확실하지만 왜 ..? – JJJ

답변

2

주어진 접근 방식을 사용하면 모호함 때문에 문제가 발생할 수 있습니다. 예를 들어 123은 위도 1 경도 23 또는 위도 12 경도가 될 수 있습니다. 3. 0으로 채우거나 구분 기호를 사용해야합니다.

왜 두 값을 하나의 값으로 매핑해야합니까? 대부분의 데이터베이스 시스템에서는 복합 기본 키가 허용되므로 쌍 (lat, lon)을 직접 키로 사용할 수 있습니다.

+0

반례를 보내 주셔서 감사합니다. – Fr4nz

관련 문제