【问题标题】:pgsql2shp gives different prj values for a identical copy of a postgis tablepgsql2shp 为 postgis 表的相同副本提供不同的 prj 值
【发布时间】:2015-05-01 00:08:04
【问题描述】:

我创建了两个 postgis 表,将一个表的内容复制到另一个表,然后尝试创建两个表的 shp 文件。生成的 .prj 应该相同,因为两个表具有相同类型的 geoemtry 条目,但我得到不同的值。有人知道发生了什么吗? ##我的桌子

国家

  Column  |            Type             |                        Modifiers                        
----------+-----------------------------+---------------------------------------------------------
gid       | integer                     | not null default nextval('countries_gid_seq'::regclass)
name      | character varying(80)       | 
geom      | geometry(MultiPolygon,4326) | 

结果

  Column  |            Type             |                      Modifiers                       
----------+-----------------------------+---------------------------------------------------------
id        | integer                     | not null default nextval('results_id_seq'::regclass)
label     | text                        | not null
geom2     | geometry(MultiPolygon,4326) | 

##代码 将结果从国家复制到结果 insert into results(label,geom2) select name as label, geom as geom2 from countries where name is not null;

##将数据转储为形状文件

pgsql2shp pots results -f results.shp -ggeom2
pgsql2shp pots countries -f countries.shp -gthe_geom

##问题 两个表都有相同格式的几何,即 4326 我希望生成的 prj 文件是相同的,但它们是不同的 ##结果 我得到国家

GEOGCS["WGS84",DATUM["WGS_1984",SPHEROID["WGS4",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"]]

我得到的结果

PROJCS["WGS 84 / Pseudo-Mercator",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"]],UNIT["metre",1,AUTHORITY["EPSG","9001"]],PROJECTION["Mercator_1SP"],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0],EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext  +no_defs"],AUTHORITY["EPSG","3857"],AXIS["X",EAST],AXIS["Y",NORTH]]

我可以在 qgis 中读取两个 shp 文件并显示预期结果,尝试使用 arcgis 读取它们,但存在重大问题。大意是同一数据生成的两个shp文件有不同的投影

发生了什么事?

【问题讨论】:

  • 您引用了一个名为 the_geom 的列,但您没有显示有关该列的表信息——只是一个错字?
  • 嗨,约翰,这是一个错字,但我还是使用正确的名称对其进行了测试,似乎 pgsql2shp 足够聪明,可以确定数据字段是否不存在,并且存在几何领域使用它。感谢您注意该错误。

标签: gis postgis arcgis


【解决方案1】:

破解了 它的参数顺序错误

这样使用,结果是正确的答案

pgsql2shp -f results.shp -ggeom2 pots results

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 2022-08-18
    相关资源
    最近更新 更多