PostGIS地理タイプEPSG:4326のみですか?


8

地理タイプは緯度と経度に基づく座標のみを使用するという印象を受けましたEPSG:4326。また、geography列にCRSを指定する必要があることを覚えていません。

ただし、この無限の例から:

SELECT * FROM geography_columns;

          f_table_name    | f_geography_column | srid |   type
--------------------------+--------------------+------+----------
 nyc_subway_stations_geog | geog               |    0 | Geometry
 airports                 | geog               | 4326 | Point

上記SRIDのような他のを使用できます0

geographyタイプの使用が4326唯一の?


1
特に指定しない場合は、SRID 0も割り当てられます。欠落しているSRIDを-1と0のどちらとして報告するかについて、Postgis開発者の間での議論を思い出します。私は-1を支持し、0を選択しました。あなたがGEOMETRY_COLUMNSの定義を見れば、あなたが犯人であると思わ機能、typemod_get_sridを、発見するビューを参照(| `の#define TYPMOD_SET_SRID(typmod、SRID)((typmod)=(((typmod)&0xE00000FF) (srid&0x001FFFFF)<< 8))) `
John Powell

回答:


7

PostGIS Webサイトに基づいており、4326以前は地理タイプでサポートされていた唯一のCRSでしたが、それ以上ではありません。

PostGIS 2.2より前は、地理タイプはWGS 84長緯度(SRID:4326)のみをサポートしていました。PostGIS 2.2以降の場合、spatial_ref_sysテーブルで定義された長/緯度ベースの空間参照システムを使用できます。地理タイプは地球に限定されないで説明されているように、独自のカスタム回転楕円体空間参照システムを追加することもできます。


5

レーザーの言うことは真実ですが、SRIDが0と表示されるのは、未定義のSRIDを0として報告するというPostgis開発者の決定によるものであると私は信じています。(私はこれを知っています。私はIRCに関する上記の議論に参加し、-1を支持しました。なぜなら、0よりも明らかに未定義であると考えるからです)。

geography_columnsビューの定義を見ると、

\df+ geography_columns

SELECT current_database() AS f_table_catalog,
  n.nspname AS f_table_schema,
  c.relname AS f_table_name,
  a.attname AS f_geography_column,
  postgis_typmod_dims(a.atttypmod) AS coord_dimension,
  postgis_typmod_srid(a.atttypmod) AS srid,
  postgis_typmod_type(a.atttypmod) AS type
FROM pg_class c,
  pg_attribute a,
  pg_type t,
  pg_namespace n
WHERE t.typname = 'geography'::name AND a.attisdropped = false AND a.atttypid = t.oid AND a.attrelid = c.oid AND c.relnamespace = n.oid AND NOT pg_is_other_temp_schema(c.relnamespace) AND has_table_privilege(c.oid, 'SELECT'::text);

関数postgis_typmod_sridへの参照が表示されます。そのうさぎの穴に続いて、ここで定義されている関数が見つかります:

#define TYPMOD_SET_SRID(typmod, srid) ((typmod) = (((typmod) & 0xE00000FF) | ((srid & 0x001FFFFF)<<8))).

geography列を作成し、geography_columnsを確認することで、これを簡単に確認できます。カスタムの回転楕円体でジオメトリ列を作成することもできるので、WGS84の普及を考えると、地理タイプでこの機能を許可することは少し無意味に思えます。

`

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.