pgsql2shp 为相同的 postgis 副本提供不同的 prj 值 table
pgsql2shp gives different prj values for a identical copy of a postgis table
我创建了两个 postgis tables,将一个 table 的内容复制到另一个,然后尝试创建两个 tables 的 shp 文件。生成的 .prj 应该是相同的,因为两个 tables 具有相同类型的 geoemtry 条目,但我得到不同的值。有人知道发生了什么事吗?
##我的 tables
国家
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 名称作为标签,geom 作为 geom2 来自名称不为空的国家;
##将数据转储为形状文件
pgsql2shp pots results -f results.shp -ggeom2
pgsql2shp pots countries -f countries.shp -gthe_geom
##问题
两个 tables 都有相同格式的 geomtries,即 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文件投影不同
这是怎么回事?
破解了
它的参数顺序错误
这样使用并得出正确答案
pgsql2shp -f results.shp -ggeom2 pots results
我创建了两个 postgis tables,将一个 table 的内容复制到另一个,然后尝试创建两个 tables 的 shp 文件。生成的 .prj 应该是相同的,因为两个 tables 具有相同类型的 geoemtry 条目,但我得到不同的值。有人知道发生了什么事吗? ##我的 tables
国家
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 名称作为标签,geom 作为 geom2 来自名称不为空的国家;
##将数据转储为形状文件
pgsql2shp pots results -f results.shp -ggeom2
pgsql2shp pots countries -f countries.shp -gthe_geom
##问题 两个 tables 都有相同格式的 geomtries,即 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文件投影不同
这是怎么回事?
破解了 它的参数顺序错误
这样使用并得出正确答案
pgsql2shp -f results.shp -ggeom2 pots results