我真的需要一些指导。我是PostGIS的新手,在寻找答案的过程中一无所获。
我用几个不同的投影(EPSG/SRID)引入了不同的shapefile。我从.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,.*等
我做错了什么?
感谢你的见解!
发布于 2020-10-28 01:26:07
简化一点,你使用的SRID是一个基准( geogCS,地理坐标系),也就是对“圆形”地球的描述。单位是度,所有坐标都是+- 180 / +- 90。
最重要的是,有一个将坐标转换为平面的投影。在您的例子中,这是安大略省选举(EO_Lambert_Conformal_Conic)的Lambert Conformal的一个特例,单位是米。
使用这个投影名称,我们可以发现要使用的SRID是7149
https://stackoverflow.com/questions/64559135
复制相似问题