PostGISを使用せずにPostgresで緯度と経度を表現するにはどうすればよいですか?


12

PostGISを使用せずにPostgresで緯度と経度を表現するにはどうすればよいですか?使用しているシステムではSQLパススルーが許可されていないため、POSTGISを使用できません。

回答:


14

postgisなしで組み込みのPOINTデータ型を使用できます。


6

また、いずれかのために別々の列を使用することができますlatitudeし、longitudeあるいは、独自のタイプを作成します。いずれにせよ、許可された値を制約するのが良いかもしれません。この例では、タイプが複数のテーブルで使用される場合に制約を繰り返すことを避けるためにドメインも使用します

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.