1.首先,将shp文件转成sql语句:(指明了数据的原始投影)
shp2pgsql -W gbk -s 4610 -g _geo sample.shp tb_sample>sample.sql
2. 执行上一步生成的sql文件,将数据入库:
psql -d DbName -f sample.sql -U postgres
3. 进行投影转换:
--select * from geometry_columns; --查看下geometry_columns表里记录的投影信息
alter table tb_sample add column _geo1 geometry; --添加一个字段,用以存储投影后的信息
update tb_sample set _geo1=st_transform(_geo,900913); --进行投影转换,将入库时的4610(原投影)投影为90013(目标投影)
update geometry_columns set srid=900913 where f_table_name=‘tb_sample\'; --更新系统表里的信息
alter table tb_sample drop column _geo; --删除原字段
alter table tb_sample rename _geo1 to _geo; --更新字段名
自此,投影完成,搞定。。。。