0

次のコマンドを使用してジオメトリ座標を作成し、SQL フィドル (Postgres 9.3) でテーブルを作成しようとしています。

create table geoCordinate(Coordinate geometry,Place varchar(30), name int);

そして、次の値を挿入しようとしています:

INSERT INTO geoCordinate VALUES 
( ST_GeomFromEWKT('SRID=312;POINT(37.457797 -122.161298)'), '1', 1 ),
( ST_GeomFromEWKT('SRID=312;POINT(37.423629 -122.174416)'), '1', 2 ),
( ST_GeomFromEWKT('SRID=312;POINT(37.45774 -122.118724)'), '1', 3 ),
( ST_GeomFromEWKT('SRID=312;POINT(37.442434 -122.115522)'), '1', 4 ),
  ( ST_GeomFromEWKT('SRID=312;POINT(37.44862 -122.136768)'), '1', 5);

しかし、次のエラーが表示されます:

 ERROR:  type "geometry" does not exist
4

1 に答える 1

1

SQL Fiddle は PostGIS 拡張機能をサポートしていません。つまり、通常は次のようにインストールされます。

CREATE EXTENSION postgis;

ただし、これにより次のことが発生します。

エラー: 拡張制御ファイル "/usr/share/postgresql/9.3/extension/postgis.control" を開けませんでした: そのようなファイルまたはディレクトリはありません

これを超えて、ジオメトリにはいくつかの問題があります... (typmods がない、無効な SRID、軸の順序が逆になっている)

于 2016-04-05T02:14:13.753 に答える