博客
关于我
图解VC++2012编译安装GDAL1.11.0和入门例子
阅读量:101 次
发布时间:2019-02-26

本文共 1298 字,大约阅读时间需要 4 分钟。

GDAL 开发环境搭建与入门示例

GDAL(Geospatial Data Abstraction Layers)是一种强大的地理数据处理库,广泛应用于地理信息系统开发。以下是搭建GDAL开发环境并使用入门示例的详细步骤。

1. 下载开发资源

确保已下载以下必要文件:

  • GDAL 1.11.0 解压文件
  • gdal1110.zip:包含源代码
  • GDAL.rar:构建成功后的库文件
  • GDAL书籍代码及数据.rar:示例代码及数据集

2. 安装GDAL

步骤 1:配置开发环境

  • 打开 vcvars32.bat,选择对应的 Visual Studio 版本
  • 切换到解压后的 GDAL 目录,运行 nmake /f makefile.vc 进行编译
    注意:编译时间较长,约需 10 分钟
  • 步骤 2:设置输出目录

  • 打开 nmake.opt 文件,修改 GDAL_HOME 为安装目录示例:GDAL_HOME = "D:\GDAL"
  • 创建 D:\GDAL 目录
  • 步骤 3:构建并安装

  • 切换到解压目录,依次运行:
    nmake /f makefile.vc installnmake /f makefile.vc devinstall
  • 构建完成后,GDAL 库文件将位于指定目录
  • 3. 入门开发示例

    创建新项目

  • 新建 Visual Studio 项目,选择 "控制台应用程序"
  • 添加以下包含目录:
    • include:GDAL 头文件
    • lib:GDAL 库文件
  • gdal111.dll 拷贝至项目目录
  • 代码示例

    #include "stdafx.h"#include 
    #include
    using namespace std;int _tmain(int argc, _TCHAR* argv[]) { GDALDataset* poDataset = nullptr; poDataset = GDALOpen("mosaic.tif", GA_ReadOnly); if (poDataset != nullptr) { cout << "Raster XSize: " << poDataset->GetRasterXSize() << endl; cout << "Raster YSize: " << poDataset->GetRasterYSize() << endl; cout << "Raster Count: " << poDataset->GetRasterCount() << endl; GDALClose((GDALDatasetH)poDataset); } getchar(); return 0;}

    运行结果

    • 编译完成后,将 mosaic.tif 放入项目目录,运行可执行文件即可查看 raster 属性

    4. 常用链接

    通过以上步骤,您已成功搭建 GDAL 开发环境,并具备使用入门能力。

    你可能感兴趣的文章
    php include和require
    查看>>
    php mysql优化方法_MySQL优化常用方法
    查看>>
    PHP OAuth 2.0 Server
    查看>>
    php odbc驱动,php常用ODBC函数集(详细)
    查看>>
    php openssl aes ecb,php openssl_encrypt AES-128-ECB iOS
    查看>>
    php paypal rest api,PayPal REST API指定网络配置文件PHP
    查看>>
    php pcntl 多进程学习
    查看>>
    PHP pcntl_fork不能在web服务器中使用的变通方法
    查看>>
    php private ,public protected三者的区别
    查看>>
    php PSR规范
    查看>>
    php rand() 重复,array_rand()函数从另外一个数组中随机取得的一定数量的数组的元素是否会重复?...
    查看>>
    php redis pub/sub(Publish/Subscribe,发布/订阅的信息系统)之基本使用
    查看>>
    php redis(2)
    查看>>
    PHP Redis分布式锁
    查看>>
    php session超时时间_php怎么设置session超时时间
    查看>>
    PHP SOAP模块的使用方法:NON-WSDL模式
    查看>>
    php Socket通信
    查看>>
    PHP SPL标准库-迭代器
    查看>>
    PHP Static延迟静态绑定
    查看>>
    php zookeeper实现分布式锁
    查看>>