theEarthdistance모듈 제공 큰 원 거리를 계산하는 두 가지 다른 접근법 배트맨 토토 표면. 먼저 설명 된 것은에 의존합니다.큐브패키지 (필수전에 설치해야Earthdistance설치할 수 있습니다). 두 번째 내장을 기반으로포인트DataType, 좌표에 경도 및 위도 사용.
이 모듈에서 지구는 완벽하게 가정됩니다. 구의. (너무 부정확하다면, 당신은postgis프로젝트.)
데이터는 지점 인 큐브에 저장됩니다 (두 모서리는 동일) x, y 및 z를 나타내는 3 개의 좌표 사용 지구의 중심으로부터의 거리. 도메인EarthOver큐브제공됩니다. 여기에는 값이 이들을 충족시키는 제약 조건 검사가 포함됩니다 제한 사항과 실제 표면에 합리적으로 가깝습니다. 지구.
배트맨 토토 반경은에서 얻습니다.Earth ()
함수. 그것은 미터로 제공됩니다. 하지만
이 기능을 변경하면 사용할 모듈을 변경할 수 있습니다.
다른 단위, 또는 다른 반경 값을 사용하려면
당신이 더 적절하다고 생각합니다.
이 패키지에는 천문 데이터베이스에 대한 응용 프로그램이 있습니다
잘. 천문학 자들은 아마도 변화를 원할 것입니다Earth ()
반경을 반환하려면180/pi ()거리가 각도에 도달합니다.
함수는 위도의 입력을지지하기 위해 제공됩니다 위도 (도), 위도의 출력을 지원하기 위해 경도, 둘 사이의 큰 원 거리는 계산합니다 포인트 및 인덱스 용으로 사용할 수있는 경계 상자를 쉽게 지정하려면 검색.
다음 기능이 제공됩니다.
표 F-3. 큐브 기반의 지구 분위기 기능
기능 | 반환 | 설명 |
---|---|---|
Earth () |
float8 | 지구의 가정 된 반경을 반환합니다. |
sec_to_gc (float8) |
float8 | 정상 직선 (Secant) 거리를 변환합니다 지구 표면의 두 지점 사이 그들 사이의 큰 원 거리는. |
gc_to_sec (float8) |
float8 | 큰 원 거리를 둘 사이로 변환합니다 지구 표면에 정상까지의 지점 직선 (Secant) 사이의 거리. |
ll_to_earth (float8,
float8) |
Earth | 표면에있는 지점의 위치를 반환합니다. 지구는 위도 (인수 1)와 경도를 주었다 (인수 2) 학위. |
Latitude (Earth) |
float8 | 위도를 배트맨 토토 표면. |
경도 (지구) |
float8 | 경도를 한 지점의 정도로 반환합니다. 지구의 표면. |
Earth_distance (Earth,
지구) |
float8 | 둘 사이의 큰 원 거리를 반환합니다 지구 표면의 지점. |
Earth_box (Earth,
float8) |
큐브 | 인덱스 검색에 적합한 상자를 반환합니다
큐브@운영자
주어진 큰 원 거리는 a
위치. 이 상자의 일부 포인트는 그 이상입니다
위치에서 지정된 큰 원 거리, 따라서 a
두 번째 점검 사용Earth_distance 에 포함되어야합니다
쿼리. |
모듈의 두 번째 부분은 지구를 나타내는 데 의존합니다. 유형의 값으로 위치포인트, in 첫 번째 구성 요소가 경도를 나타 내기 위해 학위 및 두 번째 구성 요소는 표현됩니다 정도의 위도. 포인트는 (경도, 위도)로 간주됩니다. 경도는 직관적 인 것에 더 가깝기 때문에 그 반대도 마찬가지입니다. x 축과 위도에 대한 아이디어
단일 연산자가 제공됩니다 :
큐브기반 부품
모듈의 유닛은 여기에 연결되어 있습니다 : 변경Earth ()
함수는 영향을 미치지 않습니다
이 연산자의 결과.
경도/위도 표현의 한 가지 단점은 다음과 같습니다 근처의 가장자리 조건에주의를 기울여야합니다. 기둥과 거의 +/- 180 도의 경도. 그만큼큐브기반 표현은 이것을 피합니다 불연속.