Como devo representar uma latitude e longitude no Postgres sem usar o PostGIS? O sistema que estou usando não permite a passagem do SQL, portanto não posso usar o POSTGIS.
fonte
Como devo representar uma latitude e longitude no Postgres sem usar o PostGIS? O sistema que estou usando não permite a passagem do SQL, portanto não posso usar o POSTGIS.
Você pode usar o tipo de dados POINT interno sem postgis.
Você também pode usar colunas separadas para latitude
e longitude
ou criar seu próprio tipo . De qualquer maneira, pode ser bom restringir os valores permitidos; neste exemplo, também uso domínios para evitar repetições de restrições se o tipo for usado em mais de uma tabela:
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