0

これがこれを尋ねるのに適切な場所かどうかはわかりませんが、試してみると思いました。PostGIS にインポートされた世界地図シェープファイルと、テスト テーブルに追加したいくつかのポイントがあります。これらは英国にあるはずですが、マダガスカルの沖合にあります。私は明らかに何か間違ったことをしましたが、2 つのテーブルの ogrinfo を見ると、次のようになります。

Layer name: countries
Geometry: 3D Multi Polygon
Feature Count: 525
Extent: (-180.000000, -89.999933) - (180.000000, 84.134162)
Layer SRS WKT:
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
            AUTHORITY["EPSG","7030"]],
        AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0,
        AUTHORITY["EPSG","8901"]],
    UNIT["degree",0.0174532925199433,
        AUTHORITY["EPSG","9122"]],
    AUTHORITY["EPSG","4326"]]
FID Column = gid
Geometry Column = geom
scalerank: Integer (2.0)
featurecla: String (32.0)
name: String (254.0)
namealt: String (254.0)
region: String (50.0)
subregion: String (50.0)


INFO: Open of `PG:dbname=g4wd'
      using driver `PostgreSQL' successful.

Layer name: test
Geometry: 3D Point
Feature Count: 2
Extent: (51.009400, -2.638900) - (51.571400, 0.695600)
Layer SRS WKT:
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
            AUTHORITY["EPSG","7030"]],
        AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0,
        AUTHORITY["EPSG","8901"]],
    UNIT["degree",0.0174532925199433,
        AUTHORITY["EPSG","9122"]],
    AUTHORITY["EPSG","4326"]]
Geometry Column = location
id: Integer (0.0)
name: String (25.0)

そのため、何をチェックすればよいかについてかなり混乱しています。すべてのprj情報が正しいように見えるので、誰かが私が何をチェックまたは行う必要があるか知っていますか?

編集: geometry_columns の詳細を追加しました - 関連するかどうかはわかりません。

g4wd=# select * from geometry_columns;
 f_table_catalog | f_table_schema | f_table_name | f_geometry_column | coord_dimension | srid |     type     
-----------------+----------------+--------------+-------------------+-----------------+------+--------------
 g4wd            | public         | test         | location          |               2 | 4326 | POINT
 g4wd            | public         | countries    | geom              |               2 | 4326 | MULTIPOLYGON
4

1 に答える 1

0

PostGIS (および他のほとんどの GIS ソフトウェア) の軸の順序は経度、緯度であるため (逆ではありません!)、座標データをtest(Y, X) -> (X, Y) に転置する必要があります。

このデータが既にロードされている場合は、次の SQL 更新ステートメントを使用して軸の順序を入れ替えます。

UPDATE test SET
  location = ST_SetSRID(ST_MakePoint(ST_Y(location), ST_X(location)), 4326);
于 2013-02-16T22:46:28.023 に答える