1

私はpostgisでpostgresqlを使用しています。いくつか質問があります:

  1. 次の構文を使用して、ポリゴン列を持つテーブルに挿入しようとしています:
ST_GeomFromText('POLYGON((long1 lat1, long2 lat2, long3 lat3))')

次のエラーで失敗します。function geomfromtext(unknown) does not exist

  1. 違いは何ですか
CREATE TABLE my_table (my_polys polygon);

CREATE TABLE my_table2 (my_polys GEOGRAPHY(POLYGON));

そして、なぜ次のようになります:

INSERT INTO my_table (my_polys) VALUES ('
    (51.504824, -0.125918),
    (51.504930, -0.122743),
    (51.504930, -0.110297),
    (51.504824, -0.102229),
    (51.503435, -0.099311)'
);

を使用しても使用しなくても問題my_tableなく動作しmy_table2ます (テーブル名を に変更しましたmy_table2)

  1. ポリゴンが持つことができるポイントの最大数はいくつですか?
4

2 に答える 2

1

geography データ型は、ジオメトリが日付変更線を囲む可能性がある場合に最も役立ちます。そうでない場合は、Postgis のほとんどの関数が平面ジオメトリで動作するように設計されているため、通常のジオメトリ データ型を使用することをお勧めします。データが緯度/経度の場合、次のように列を作成するときにこれを明示的に設定できます。

create table foo geom geometry(POLYGON, 4326);

座標参照系を明示的に設定することは、ある座標系と別の座標系の間で変換する場合に便利であり、たとえば異なる座標系のジオメトリ間で交点を実行しようとする場合の驚きを防ぐのに役立ちます。

上記の挿入フラグメントが任意のテーブルで機能することを想像するのは困難です。末尾のコンマがあるだけでなく、st_geomfromtext、st_makepolygon、または書き込んだものをジオメトリに変換する他のものはありません。

ポリゴンの最大サイズはわかりませんが、Chris が既に言ったように、空間クエリを実行しようとすると、サイズが 1 GB のポリゴンでパフォーマンスの問題が発生する可能性があります。

于 2014-03-11T15:03:35.007 に答える