PostGIS를 사용하지 않고 Postgres에서 위도와 경도를 어떻게 표현해야합니까?


12

PostGIS를 사용하지 않고 Postgres에서 위도와 경도를 어떻게 표현해야합니까? 사용중인 시스템은 SQL 통과를 허용하지 않으므로 POSTGIS를 사용할 수 없습니다.

답변:


14

내장 POINT 데이터 유형을 postgis없이 사용할 수 있습니다.


6

또한 중 하나에 대해 별도의 열을 사용할 수 latitudelongitude또는 자신의 유형을 작성 . 어느 쪽이든 허용 된 값 을 제한 하는 것이 좋을 수 있습니다 .이 예 에서는 유형이 둘 이상의 테이블에서 사용되는 경우 제한 조건이 반복되지 않도록 도메인 을 사용합니다.

create domain latitude_t as double precision not null 
                                             check(value>=-90 and value<=90);
create domain longitude_t as double precision not null 
                                              check(value>-180 and value<=180);

create type geocoord_t as (latitude latitude_t, longitude longitude_t);

create table my_table(id serial, geocoord geocoord_t);

insert into my_table(geocoord) values ((31.778175,35.22995));

select id, (geocoord).* from my_table;
 id | latitude  | longitude
----+-----------+-----------
  1 | 31.778175 |  35.22995

5

GIS가 아닌 응용 프로그램의 경우 Jack이 제안한대로 열을 사용하지만 확인 값을 신경 쓰지 않습니다. 데이텀이 값을 올바르게 해석하는 데 중요하므로 추가 열에 데이텀 (IE NAD27 ) 도 지정하는 것이 좋습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.