编译mapnik(win7 环境下vs2008编译mapnik 0.7.1 成功)
编译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 成功)的更多相关文章
- Win7下VS2008编译QtiPlot
Win7下VS2008编译QtiPlot By wangsh 2011-11-25 QtiPlot 是一款开源免费的科学绘图软件,可运行在多个平台(windows.Linux等)中,从功能上讲,Qti ...
- OSG+VS2010+win7环境搭建---OsgEarth编译
OSG+VS2010+win7环境搭建---OsgEarth编译 转:http://www.cnblogs.com/hnfxs/p/3161261.html Win7下 osg+vs2010环境搭建 ...
- 【FAQ】Ubuntu环境下ant编译android代码问题
在Ubuntu14.04环境下,编译android程序时候,运行ant debug的时候出现如下异常:
- PCL库在Linux环境下的编译安装
PCL库在Linux环境下的编译安装 PCL库的源码库:https://github.com/PointCloudLibrary/pcl 下载完了之后解压下来 编译库的几个步骤 mkdir build ...
- 【转】Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
http://blog.csdn.net/ccf19881030/article/details/9204801 很久以前使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs20 ...
- WIN7环境下CUDA7.5的安装、配置和测试(Visual Studio 2010)
以下基于"WIN7(64位)+Visual Studio 2010+CUDA7.5". 系统:WIN7,64位 开发平台:Visual Studio 2010 显卡:NVIDIA ...
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本号的开发环境
写这篇博客时2D游戏引擎Cocos2d-x的最新版本号为2.1.4,记得非常久曾经使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs2010配置图文具体解释(亲測)>成功 ...
- 在Win7环境下搭建Geant4工作平台
本物理专业小硕,现在材料实验室工作,研究方向大概是核屏蔽材料的软件模拟吧.其实实验室里大多数师兄弟都是搞焊接的,平时能接触到这类直接给源码自己编译的软件的机会基本为零,所以一切都靠自己探索,成功搭建了 ...
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
写这篇博客时2D游戏引擎Cocos2d-x的最新版本为2.1.4,记得很久以前使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs2010配置图文详解(亲测)>成功配置 ...
随机推荐
- HDU 2087 剪花布条 KMP
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2087 KMP匹配数—— AC代码: #include <iostream> #includ ...
- XMPP个人信息展示
在现阶段的通信服务中.各种标准都有,因此会出现无法实现相互连通,而XMPP(Extensible Message and presence Protocol)协议的出现.实现了整个及时通信服务协议的互 ...
- iOS签发者无效
IOS开发证书全部变成无效,如下图 打包提示错误 解决方法: 1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA.c ...
- centos6.5 mysql安装+远程访问+备份恢复+基本操作+卸载
参考博文: Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置 MySQL修改root密码的多种方法 MySQL的备份与还原 解决mysql导入还原时乱码的问题 ...
- Chapter 12 外观模式
外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个模式使得这一子系统更加容易使用. 外观模式三个阶段: 首先,在设计初期阶段,应该要有意识的将不同的两个层分离. 其次,在 ...
- oracle中if/else
oracle中if/else功能的实现的3种写法 1.标准sql规范 一.单个IF 1. if a=... then ......... end if; 2. if a=... then .... ...
- 转:js包装DOM对象
我们在日常的应用中,使用Javascript大多数时间都是在用DOM ,以致于很多人都有一种看法就是DOM==JS,虽然这种看法是错误的,但是也可以说明DOM的重要性. 这就导致了我们在写JS的时候, ...
- C#委托好处知多少
1.性能 性能是泛型的一个主要优点. 直接上例子,通过实例可以让我们很好的理解这一点. Stopwatch stopwatch = new Stopwatch(); stopwatch.Start() ...
- cocos2dx进阶学习之CCObject
继承关系 CCObject -> CCCopying 类定义 class CC_DLL CCObject : public CCCopying { public: // object id, C ...
- cocos2d-x plist文件各个属性的含义
plist文件是小图在合并成大图的时候生成的配置文件,所以须要由大图+plist文件能够全然还原出小图. 合图后的大图整体尺寸面积一般要小于原来的小图面积之和,是由于合图中会去掉小图周围的透明像素(当 ...