我正在将 shapefile 导入 Postgres+PostGIS 数据库。
这是我常用的程序:
* 在 spatial_ref_sys 表中查找 srtext 与 shapefile 的 .prj 文件匹配的srid *
使用 shp2pgsql 实用程序将数据上传到新表中,使用 -s 标志指定 srid
* 将新表添加到我的主要几何表,并在途中使用 ST_Transform 转换为 4269(人口普查标准投影)
不幸的是,spatial_ref_sys 表不包括密西西比州的标准投影。他们的 .prj 文件的内容如下,我将我通常尝试匹配的部分加粗:
PROJCS["mstm",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.01745329251994ECTION] ["Transverse_Mercator"], PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",1300000.0],PARAMETER["Central_Meridian",-89.75],PARAMETER["Scale_Factor",0.9998335],PARAMETER["Latitude_Of_Origin",32.5 ] ,UNIT["米",1.0]]
我最终找到了ogr2ogr 实用程序,尤其是有了“和平与快乐”的承诺,我决定试一试。我试过这个命令:
ogr2ogr -update -f "PostgreSQL" PG:"Connection details"
"File name.shp" -t_srs EPSG:4269 -nln Table_Name
我现在收到错误“层翻译失败后过早终止翻译” - 这似乎表明 ogr2ogr 不会成为我想象的将任意 .prj 文件整齐地放入 4269 投影中的救星。
关于做什么的任何想法?