pgsql2shp为postgis表的相同副本提供不同的prj值

时间:2015-02-28 07:30:45

标签: gis postgis arcgis

我创建了两个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) | 

代码

将国家/地区的结果复制到结果中 插入结果(标签,geom2)选择名称作为标签,geom作为geom2来自名称不为null的国家;

将数据转储为形状文件

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

问题

两个表都具有相同格式的geomtries,即4326我希望te生成的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文件具有不同的投影

发生了什么事?

1 个答案:

答案 0 :(得分:0)

破解了 它是一个简单的RTFM案例,其中的参数在错误的顺序中

以这种方式使用会产生正确的答案

pgsql2shp -f results.shp -ggeom2 pots results

ITS非常厌恶pgsql2shp不反对无效参数,浪费了我几个小时的时间。我同意我犯了一个错误,如果我被告知我提供了一个invalud参数,我会对它进行排序。