编译mapnik(win7 环境下vs2008编译mapnik 0.7.1 成功)

------by  wangsh 2012.02.22

Mapnik 是一个开源的 Python/C++ 地图渲染引擎,其优秀的功能是把数据形式的地图,包含一些地理对象,如地图、层、数据源、特征和地理几何等,通过 一个样式表的定义,渲染成位图格式,用来提供 WMS 服务。其核心是一个 C++ 的共享库提供空间数据访问和可视化的算法和模式。Mapnik是开源的GIS原型系统,其优秀的渲染性能为开源业界所称道(见参考1)。其中openstreetmap的良好渲染效果为大家所公认。

曾经有网友称mapnik为开源GIS的四大天王之一(应用于展示端的OpenLayers;应用于地图发布缓冲处理的Tilecache;作为地图发布服务器的Mapnik;作于地图数据编辑QuantumGIS。以上四个开源项目,从地图生产、发布、缓冲到客户端展示构成了完善的链条)。

编译准备:

下载源码:

编译第三方库:  boost、tinyxml、agg、freetype、libxml、icu46、tiff、jpeg、proj4、lpng、zib、iconv、curl等库

编译源码,生成lib库文件。

出现了msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1? 问题后,经过查询,解决方法:因为 Project->C/C++->Code Generation->Runtime Library 这个选项,LIB和主程序(EXE)里选择的不一致引起的。把exe工程改为/MTD(因为Lib工程是选择/MTD的) 链接还是错误,后来把EXE工程和Lib工程都选择为/MDD 成功链接编译(参考9)。

viewer编译,生成demo。

直接上图:

enjoy it!

打开demo中data截图:

打开数据时候,需要使用地图配置文件,详细介绍可见参考8。

运行rundemo.cpp工程时,记得编译plugin_shape.dll,并将其后缀改为.input。这样才能生成结果。

运行MapnikViewer时,mapnik lib库自带,可现实shape文件(.shp)文件,但是渲染效率一般,demo的data,渲染好久。不过还是渲染出来了,果如期望中那般漂亮。

map:

参考链接:

0. mapnik网址 http://mapnik.org/

1.mapnik简要介绍 http://blog.csdn.net/mmtxcp/article/details/5638968

2.vc使用mapnik问题 http://www.tootoogo.org/wordpress/?p=22

3.小试mapnik http://hi.baidu.com/whn_arthur/blog/item/98d72ef2e05eef08b17ec564.html

4.使用读取渲染osm文件 http://www.cnblogs.com/bluegobin/archive/2010/09/18/1830445.html

5.vc下配置mapnik  http://muyi3292.blog.163.com/blog/static/5134791420102251118077/

6.python 的mapnik小工具  http://code.google.com/p/mapnik-utils/

7.使用mapnik渲染地图 http://dbsgeo.com/foss4g2010/html/rendering.html

8.地图配置文件 http://blog.csdn.net/mmtxcp/article/details/5638940

9.解决link2005问题:http://blog.csdn.net/cay22/article/details/6415637

10.link 2005问题 http://blog.csdn.net/li_007/article/details/2801781

11.C Run-Time Error R6034 http://blog.csdn.net/yc0188/article/details/5312770

转载请注明链接:http://blog.csdn.net/wsh6759/article/details/7283910

编译mapnik(win7 环境下vs2008编译mapnik 0.7.1 成功)的更多相关文章

  1. Win7下VS2008编译QtiPlot

    Win7下VS2008编译QtiPlot By wangsh 2011-11-25 QtiPlot 是一款开源免费的科学绘图软件,可运行在多个平台(windows.Linux等)中,从功能上讲,Qti ...

  2. OSG+VS2010+win7环境搭建---OsgEarth编译

    OSG+VS2010+win7环境搭建---OsgEarth编译 转:http://www.cnblogs.com/hnfxs/p/3161261.html Win7下 osg+vs2010环境搭建 ...

  3. 【FAQ】Ubuntu环境下ant编译android代码问题

    在Ubuntu14.04环境下,编译android程序时候,运行ant debug的时候出现如下异常:

  4. PCL库在Linux环境下的编译安装

    PCL库在Linux环境下的编译安装 PCL库的源码库:https://github.com/PointCloudLibrary/pcl 下载完了之后解压下来 编译库的几个步骤 mkdir build ...

  5. 【转】Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)

    http://blog.csdn.net/ccf19881030/article/details/9204801 很久以前使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs20 ...

  6. WIN7环境下CUDA7.5的安装、配置和测试(Visual Studio 2010)

    以下基于"WIN7(64位)+Visual Studio 2010+CUDA7.5". 系统:WIN7,64位 开发平台:Visual Studio 2010 显卡:NVIDIA ...

  7. Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本号的开发环境

    写这篇博客时2D游戏引擎Cocos2d-x的最新版本号为2.1.4,记得非常久曾经使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs2010配置图文具体解释(亲測)>成功 ...

  8. 在Win7环境下搭建Geant4工作平台

    本物理专业小硕,现在材料实验室工作,研究方向大概是核屏蔽材料的软件模拟吧.其实实验室里大多数师兄弟都是搞焊接的,平时能接触到这类直接给源码自己编译的软件的机会基本为零,所以一切都靠自己探索,成功搭建了 ...

  9. Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)

      写这篇博客时2D游戏引擎Cocos2d-x的最新版本为2.1.4,记得很久以前使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs2010配置图文详解(亲测)>成功配置 ...

随机推荐

  1. Java面试题之三

    十一.谈谈final,finally,finalize的区别? 1.final:是修饰符,是一个关键字.修饰变量,如果是基本类型表示该变量的值不能修改:如果是引用类型表示该变量不能指向别的对象:修饰类 ...

  2. ExtJS学习第一天 MessageBox

    此文用来记录学习笔记: •学习任何技术,首先都要从Helloworld开始,那么我们首要任务就是写一个简单的HelloWorld程序,带领同学们走进ExtJS的世界. •Ext.onReady:这个方 ...

  3. c# datagridviewcomboboxcell值无效的解决办法

    一直认为是数据库存储的数据和datagridviewcomboboxcell对不上导致,今天碰到两者对应上了,预览的时候还是提示错误, 查看了下网上其他大神的解决方法,是数据库字段类型有误,查看了下, ...

  4. hdu 4784 Dinner Coming Soon

    spfa+优先队列.刚开始只用的spfa,结果tle到死.然后听队友说要用到优先队列,想了想,对时间分层的话的确每一个结点都只进队列一次即可,因为只有大时间才能更新出小时间,然后就wa成shi了.按队 ...

  5. 【转】LINUX下一款不错的网站压力测试工具webbench

    原文链接:http://blog.csdn.net/xinqingch/article/details/8618704 安装: wget http://blog.s135.com/soft/linux ...

  6. 我的Python成长之路---第四天---Python基础(14)---2016年1月23日(寒风刺骨)

    一.生成器和迭代器 1.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退. ...

  7. 引用 U-boot给kernel传参数和kernel读取参数—struct tag

    引用 清风徐徐 的 U-boot给kernel传参数和kernel读取参数—struct tag U-boot会给Linux Kernel传递很多参数,如:串口,RAM,videofb等.而Linux ...

  8. Oracle Dedicated server 和 Shared server(专用模式 和 共享模式) 说明(转)

    一.  官网说明 在DBCA 建库的时候,有提示让我们选择连接类型,这里有两种类型:专用服务器模式和共享服务器模式.默认使用专用模式.如下图: Oracle 官方文档对这两种文档的说明如下: Abou ...

  9. shell 脚本阅读之二——ltp工具下的runltp

    #!/bin/sh ################################################################################ ## ## ## ...

  10. 基于SOAP的xml网络交互心得

    感谢小二同学将遇到的问题分享给我们,再此给以掌声.如果看不懂下面文章的建议查找一下HTTP协议的文艺,对HTTP协议要有个概念. XML网络交互心得 目录 一.     xml解析 1.根路径下 2. ...