Câu trả lời:
Bạn cũng có thể sử dụng các cột riêng biệt cho latitude
và longitude
hoặc tạo loại của riêng bạn . Dù bằng cách nào cũng có thể tốt để hạn chế các giá trị được phép, trong ví dụ này tôi cũng sử dụng các miền để tránh lặp lại các ràng buộc nếu loại được sử dụng trong nhiều hơn một bảng:
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
Đối với ứng dụng phi GIS, tôi chỉ sử dụng các cột, như được đề xuất bởi Jack, mặc dù tôi không bận tâm với giá trị kiểm tra. Một ý tưởng tốt là cũng chỉ định mốc thời gian (IE NAD27 ) trong một cột bổ sung, vì mốc này là quan trọng để giải thích chính xác các giá trị.