java gdal postgresql_使用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& RoadList //RoadRec是自定义数据结构

)

{

OGRRegisterAll();

const char* filepath =

"PG:dbname=test host=172.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 == pDS ) {

return FAILURE;

}

//打开数据库中的数据表

player = pDS->GetLayerByName(ptable

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值