2013-02-15 7 views
0

Я не уверен, что это подходящее место, чтобы спросить об этом, но я подумал, что сделаю это. У меня есть шейп карты мира, импортированный в PostGIS, и пару пунктов, которые я добавил в тестовую таблицу. Они должны быть в Великобритании, но они находятся недалеко от побережья Мадагаскара. Я явно сделал что-то неправильно, но, глядя на ogrinfo для двух таблиц, я получаю:Ошибка определения местоположения местоположения PostGIS

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 

ответ

0

данных координат для test нужд транспонирования (Y, X) -> (X, Y), так как порядок оси для PostGIS (и большинство других программ ГИС) является широта, долгота (не другой путь!).

Если уже загружены эти данные, поменять порядок оси с помощью этого оператора обновления SQL:

UPDATE test SET 
    location = ST_SetSRID(ST_MakePoint(ST_Y(location), ST_X(location)), 4326); 
+0

спасибо очень много. –

Смежные вопросы