数据转换系列二--shp格式数据导入PostGIS数据库之ogr2ogr命令

http://andrewzhuyl.spaces.live.com/blog/cns!6B52630A7A112B22!177.entry
PostGIS在对象关系型数据库PostgreSQL上增加了存储管理空间数据的能力,相当于Oracle的spatial部分。PostGIS最大的特点是符合并且实现了OpenGIS的一些规范,是最著名的开源GIS数据库。

      安装配置好PostGIS后,下一步就是把各种GIS数据导入到PostGIS数据库中,这样可以统一数据的形式,方便管理。问题在于怎样导数据?一个非常方便的方法是去www.gdal.org下载一个FWTools的工具包【想了解FWTools,请链接--http://andrewzhuyl.spaces.live.com/blog/cns!6B52630A7A112B22!173.entry】,它可以直接运行不用繁琐的编译,既有Windows的,也有Linux下用的。

      使用ogr2ogr命令转换shp格式数据到PostgreSQL数据库中,格式如下:
ogr2ogr   -f   "PostgreSQL"   PG:"host=yourHost   dbname=yourDbname   user=***   password=***"   yourFilePath
      例如:现在要将一个位于D:\testdata路径下的testdata.shp文件导入到一个本地数据库mydb中,需要使用如下命令:
ogr2ogr -f "PostgreSQL" PG:"host=localhost dbname=mydb user=zhuyl password=12345" D:\testdata\testdata.shp

P.S:
1、localhost可以使用IP地址(如192.168.*.*),推荐使用IP地址,因为这样可以方便的访问非本地的;
2、zhuyl和12345分别是数据库mydb的用户【登入角色】和密码;
3、此处仅介绍了利用ogr2ogr进行shp格式数据入库,ogr2ogr还可以用于很多其他数据类型,待续……;
4、本人发现,某些*.shp数据,在FWTools中使用ogr2ogr并不能成功导入。具体原因还不能确定,可能是数据问题,也可能是软件版本问题,还有可能是其他的什么什么。不过,shp格式数据转换还是有解决办法的,那就是使用shp2pgsql命令。shp2pgsql和pgsql2shp是PostGIS自身携带的一对在Shape文件和PostGIS数据库之间进
行转换的工具。

有关shp2pgsql请看:数据转换系列三--shp格式数据导入PostGIS数据库之shp2pgsql命令

目前ogr能够支持的数据格式包括:
Arc/Info Binary Coverage、DWG、ESRI Personal GeoDatabase、ArcSDE、ESRI
Shapefile、GML、GRASS、Mapinfo File、Microstation DGN、ODBC、Oracle Spatial和
PostgreSQL等。应该说,这就基本包括了我们平常用到的所有矢量型GIS文件格式了。
Gdal支持的栅格数据格式参阅http: //www.gdal.org/formats_list.html

参考文献:
【1】http://www.gispark.com/html/open%20source/2006/1024/389.html
【2】http://blog.sina.com.cn/s/blog_3dbf03df0100aop7.html

你可能感兴趣的:(oracle,linux,配置管理,Blog,PostgreSQL)