0

我真的可以在这里使用一些方向。我对 PostGIS 还很陌生,在寻找答案时我一无所获。

我正在使用几种不同的投影(EPSG/SRID)提取各种形状文件。我从 .prj 文件中提取 GEOGCS,使用https://developers.arcgis.com/javascript/3/jshelp/gcs.html查找 SRID 号,匹配并使用 shp2pgsql -s 导入它们。这很简单。一般来说,它工作正常。其他时候,没有那么多。

当它不起作用时,我得到的坐标就像 153009.914、5497499.47 (显然不在地图上)。我相信这是一个简单的投影问题,我没有使用正确的 SRID。

.prj:
PROJCS["EO_Lambert_Conformal_Conic",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1000000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-84.0],PARAMETER["Standard_Parallel_1",44.5],PARAMETER["Standard_Parallel_2",54.5],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]

进口: # shp2pgsql -c -s 4269 -W UTF-8 -I /Shape/ont/DIVISION.shp ont | psql -U postgres -d shape

结构:

   Column   |            Type             | Collation | Nullable |                  Default                  
------------+-----------------------------+-----------+----------+-------------------------------------------
 gid        | integer                     |           | not null | nextval('ont_gid_seq'::regclass)
 objectid   | integer                     |           |          | 
 ed_id      | numeric                     |           |          | 
 pd_number  | numeric                     |           |          | 
 pd_label   | character varying(64)       |           |          | 
 ed_name_en | character varying(64)       |           |          | 
 ed_name_fr | character varying(64)       |           |          | 
 shape_leng | numeric                     |           |          | 
 shape_area | numeric                     |           |          | 
 geom       | geometry(MultiPolygon,4269) |           |          | 
Indexes:
    "ont_pkey" PRIMARY KEY, btree (gid)
    "ont_geom_idx" gist (geom)

SQL: select ST_Astext(geom) AS coordinates FROM ont limit 1;

结果:**MULTIPOLYGON(((574380.4001 4808575.0399,574434.7803 4808545.44,574496.2521 4808512.3351,...... ***等。

我究竟做错了什么?

感谢您的任何见解!

4

1 回答 1

0

简化一点,您使用的 SRID 是基准(geogCS,地理坐标系)之一,即“圆形”地球的描述。单位是度,所有坐标都是 +- 180 / +- 90。

最重要的是,还有将坐标转换为平面的投影。就您而言,它是安大略省选举 (EO_Lambert_Conformal_Conic) 的 Lambert Conformal Conic 的特例,单位为米。

使用这个投影名称,我们可以发现要使用的 SRID 是7149

于 2020-10-27T17:26:07.093 回答