OGR入门

OGR入门

陈 泰 生

2008.8

1

前 言

OGR 是一个读取和处理 GIS 矢量数据的开源代码库。它可以读取和处理多种流行的矢

量数据(如 ESRI 的 Shapefile、S-57、SDTS、PostGIS 、Oracle Spatial、以及Mapinfo 的mid/mif

和 TAB 格式),本文将讲解 OGR 库的安装、OGR 的数据模型以及主要类的函数功能,最后

将通过几个实例具体的讲述如何调用 OGR 的函数来满足我们的需求。

作者简介:陈泰生,男,江苏姜堰人,南京师范大学虚拟地理环

境教育部重点实验室GIS博士研究生,ts_chen@

3

1 OGR库安装

OGR 是 GDAL 的配套库,它是 GDAL 库的一个部分,只要你安装了 GDAL 库,就

已经拥有了OGR 库。

1.1 Windows下的安装

官方安装文档在这里。下面是我自己的实践步骤:

① 先去 /dl/ 下一个版本,解压。打开控制台,输入:“C:\Program

Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat" 注册 VC 的编译环境。

② 打开 gdal 文件夹下的 nmake.opt 修改 GDAL_HOME = "C:\warmerda\bld"把路径改到

需要把 gdal 安装的地方。不改也可以。这里需要添加 python 支持,所以修改 PY_INST_DIR

= $(GDAL_HOME)\pymod 把路径改成 python 下的 Lib\site-packages 文件夹下。PYDIR =

"C:\Software\Python24" 改成 python 的安装路径。下面的参数想改什么就把前面的#删除 (要

看您有没有那些库的源码),注意一下路径就可以了。后面就依次运行。

nmake /f makefile.vc

nmake /f makefile.vc install

nmake /f makefile.vc devinstall

③ 去 GDAL_HOME 目录下的bin 文件夹下把 gdal14.dll 拷贝到 PY_INST_DIR 路径下,

这样就完成安装 gdal (python )的工作。

最后需要注意一下,gdal 在 vc++.net2005 下只能顺利编译 1.2,1.3 系列的版本不能顺

利编译,有一个地方指针转换出错。可能是 2005 的编译器比以往的严厉一点吧。但是

vc++.net2005 却可以正常编译 1.4 版本,不过要支持 Python ,需要改一个地方:打开Pymod

目录下的makefile.vc ,然后找到 link 这两行:

link /dll /def:_gdal.def $(OBJ) ../gdal_i.lib /LIBPATH(PYDIR)/libs \

/out(PYGDAL_DLL)

然后在下面添加一行:

If exist $(PYGDAL_DLL).manifest mt -manifest $(PYGDAL_DLL).manifest

-outputresource:$(PYGDAL_DLL);2

如果不加这行,会出现一个“找不到 MSVCR80.DLL ”的错误,这个错误是由于

VS.net2005 强制进行 manifest 验证造成的。而且这个 manifest 的问题相当棘手,对发布也有

极坏的影响。另外,安装了 QGIS,对编译也有一些影响,主要是 proj 库的冲突,导致一个找

不到"d:/program.obj"文件的错误,如果你有静态编译过 proj ,那么你可以打开 nmake.opt 修

改有关 proj 的设置,如果搞不定,就卸载QGIS,然后编译,编译后再安装 QGIS 。

5

1.2 Linux下的安装

Linux 下的安装比较简单,只要依次运

ogr 缓冲区_OGR入门.pdf相关推荐

  1. ogr 缓冲区_OGR 数据模型

    2013年10月10日 2015年3月30日修正坐标参考模型 1  OGR几何对象模型OGRGeometry 1.1 Geometry 几何图形,最基本的地图图形.注意:包含空间参考. 其它所有的地图 ...

  2. ogr 缓冲区_OGR几何关系与操作

    OGR几何关系与操作 关系 本文脚本需要导入ogr模块 from osgeo import ogr Equals 两个几何的边界.内部和外部重合 a1=ogr.CreateGeometryFromWk ...

  3. 单片机c语言编程入门下載,系列单片机C语言编程入门.pdf

    系列单片机C语言编程入门.pdf 本文由c h e n j u n j u n j u n 3贡献 p d f 文档可能在WAP端浏览体验不佳.建议您优先选择TXT,或下载源文件到本机 查看. 维普资 ...

  4. python游戏编程入门p_Python游戏编程入门 PDF高清完整版

    Python游戏编程入门 PDF高清完整版 作者: 哈伯 (Jonathan S.Harbour) 译者: 李强 出版年: 2015-1-1 页数: 292 装帧: 平装 ISBN: 97871153 ...

  5. python快速入门 pdf-Python 快速入门 PDF 第3版

    给大家带来的一篇关于Python入门相关的电子书资源,介绍了关于Python.Python入门方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小9.73 MB,娜奥米·塞德编写,目前豆瓣. ...

  6. ogr 缓冲区_GDAL的几何操作

    Date: 2015-08-13 12:43 Summary: 一段代码一个小功能,简单清晰又实用.翻译自英文的cookbook.Thanks the author for sharing us su ...

  7. python自动化运维快速入门 pdf 郑征_GitHub - bei2love/Python-100-Days: Python - 100天从新手到大师...

    Python - 100天从新手到大师 作者:骆昊 说明:从项目上线到获得8w+星标以来,一直收到反馈说基础部分(前15天的内容)对新手来说是比较困难的,建议有配套视频进行讲解.最近把基础部分的内容重 ...

  8. python自动化运维快速入门pdf下载_我爱电子书-《Python自动化运维快速入门》| pdf + epub + mobi + awz3, 高清版, 带目录,Kindle版, 多看精排版下载...

    Python自动化运维快速入门 豆 0.0分 资源最后更新于 2020-03-29 01:00:08 作者:郑征 出版社:出版社清华大学出版社 出版日期:2019-04 ISBN:9787302525 ...

  9. java beetle_Beetle Web框架快速入门.pdf

    BeetleWeb框架快速入门 简介1 运行环境1 安装配置1 入门示例2 简介 BeetleWeb是一个基于J2EE标准Servlet 容器技术构建的请求驱动式的MVC 快速开发 Web框架.它功能 ...

最新文章

  1. 鲲鹏数据开源库python_google_translator介绍
  2. pat天梯赛L1-051. 打折
  3. python recv
  4. php-fpm 找不到 php-cgi.sock 怎么办
  5. vs2008C1902数据库管理程序不匹配
  6. 给定一个整数数组,判断是否存在重复元素。
  7. JavaWeb知识点
  8. 计算机完成双系统无法启动怎么办,电脑双系统引导修复教程
  9. Newtonsoft.Json基本使用
  10. 数据中心服务器巡检方案,数据中心巡检机器人方案.pdf
  11. openglshader实现虚拟场景_OpenGL着色器教程
  12. chmod 777 授权无效
  13. 2021招银网络提前批笔试编程题C++
  14. jboss简单使用--刚开始接触,感觉还是比较详细的
  15. android手机密码忘了哪个电话打开,安卓手机锁屏密码忘了怎么办 解决锁屏密码六种方法介绍...
  16. 2022年软件评测师真题
  17. 执行docker命令,出现Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
  18. 武汉新华电脑学校计算机协会,第十一届大学生计算机应用能力与信息素养大赛·武汉新华颁奖典礼圆满落幕!...
  19. C语言一秒钟看懂for循环和while循环的用法?
  20. win7桌面显示比例怎么设置【系统天地】

热门文章

  1. 校园网组网计算机中心的配置,如何设置校园网连接
  2. 《无尽的拉格朗日》--Day10体验
  3. JZOJ_100029. 【NOIP2017提高A组模拟7.8】陪审团 (Standard IO)
  4. 厦门大学校区计算机考试,厦门大学计算机等级考试报名
  5. 淘宝/天猫按关键字搜索淘宝商品
  6. 软件测试教程教学大纲,软件测试教学大纲
  7. dns服务器如何修改静态dns条目,静态地址怎么设置dns服务器
  8. 最小生成树 解释 + 板子题
  9. java.lang.NoSuchMethodError: breeze.linalg.DenseVector$.canSetD()
  10. android 键盘自动收起来了,Android 键盘收起