liujiusheng / blog

个人博客,blog
19 stars 0 forks source link

关于gdb格式数据与postgresql数据导入导出的问题 #161

Open liujiusheng opened 4 years ago

liujiusheng commented 4 years ago

读取本地gdb文件并导入postgresql数据库

ogr2ogr -overwrite -a_srs EPSG:4490 -f "PostgreSQL" PG:"host=172.16.2.166 user=postgres dbname=postgis_25_sample password=root" "./jc.gdb" "jichang"

-overwrite:如果表已经存在则覆盖 -a_srs:指定进入数据库时的投影坐标系 -f:指定数据格式 jichang:jc.gdb里面的一个图层,表示为一个表。导入时会在数据库创建同名的表

使用schema时不要使用引号

设置某表的坐标系: select st_srid(geom) from public."QFQKG_2050_he"; 查询某个表的坐标系: select ST_SRID(shape) from jichang;

如果gdb数据是通过FME从CAD数据转过来的,大概率会有弧形数据,即MULTISURFACE类型,这种类型简单处理方式就是: 从gdb数据中导出为shap文件,再从shap文件导入到gdb,就能把MULTISURFACE类型转换为MultiPolygon类型。 即把圆通过无数短线表示出来。

CentOS上gdal安装: epel是个好东西,可以提供额外的源。 yum install epel-release yum install gdal

ubuntu上gdal安装: apt-get install gdal-bin