Comment devrais-je représenter une latitude et une longitude à Postgres sans utiliser Postgis? Le système que j'utilise ne permet pas à SQL passthrough, donc je ne peux pas utiliser PostGis.
Vous pouvez utiliser le type de données de points intégré sans PostGis.
Vous pouvez également utiliser des colonnes séparées pour latitude
et longitude
ou créez votre propre type . De toute façon, il peut être bon de contraindre les valeurs autorisées, dans cet exemple, j'utilise également domaines pour éviter de répéter des contraintes si le type est utilisé dans plusieurs table:
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