使用GDAL/OGR操作Postgresql数据库



GDAL(Geospatial Data AbstractionLibrary)是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据转换和处理。

本文将使用GDAL/OGR库读写Postgresql数据库中的表,代码执行环境在ubuntu12.04,

直接上代码

 

 

#include "/usr/include/gdal/ogrsf_frmts.h"
#include "/usr/include/gdal/ogr_feature.h"
#include "/usr/include/gdal/ogr_geometry.h"
#include "/usr/include/gdal/gdal_priv.h"
	///
//使用OGR读Postgresql
///
int getFeature( vector<RoadRec>& RoadList //RoadRec是自定义数据结构
 )
{
	OGRRegisterAll();
	const char* filepath =
	"PG:dbname=test host=127.0.0.1 port=5432 user=postgres password=postgres";
	const char* drivename = "PostgreSQL"; //标明是Postgresql数据库操作
	const char* ptablename = "roadlist";//数据表名称 table name
	OGRSFDriver* pdriver = NULL;
	OGRLayer* player = NULL;
	OGRDataSource* pDS = NULL;
    //注册驱动,这样ogr就知道即将打开的是什么类型的文件
	pdriver = OGRSFDriverRegistrar::GetRegistrar()->GetDriverByName(drivename);

	if ( pdriver == NULL ) {
		return FAILURE;
	}
    //驱动注册完毕打开数据库
	pDS = pdriver->Open(filepath,0);
	if ( NULL == pD
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值