vs2013下geos3.4.2的编译与缓冲区生成示例

环境:vs2013,windows8.1

参考:http://www.cnblogs.com/begincsdn/archive/2012/07/22/2603621.html

http://www.cnblogs.com/mazhenyu/p/4150454.html

http://blog.csdn.net/qq503690160/article/details/7055203

一、geos简介

GEOS是一个集合形状的拓扑关系操作实用库(可能这么说不太准确),简单得说,就是判断两个几何形状之间关系和对两个几何形状进行操作以形成新的几何形状的库。其实学geos的好地方不是在GEOS的主站。而是在另一个地方,JTS
Topology Suite (JTS)
!事实上,GEOS是仿照JTS做的。它其实是JTS的C++实现。这里有几份文档,一份是开发者指南,一份是JTS技术说明书。GEOS主要支持几种操作和计算:空间关系计算,主要支持几种计算

使用GEOS的应用有PostGIS (C API),MapServer (C API),Quantum GIS (C API),OGR (C API),GRASS (C API),Shapely (C API),INGRES (C API),SpatiaLite (C API),MapGuide Open Source
GeoDjango (C API),MapWindow GIS (C API), osm2pgsql (C++ API),osgEarth (C++ API),MonetDB (C API),rgeos (C API),其中还有软件包的FME和Autodesk MapGuide Enterprise。

二、编译

1、下载

http://trac.osgeo.org/geos/wiki

2、编译

使用CMake生成vs2013的工程sln文件,然后打开sln文件编译geos(动态库)或者geos-static(静态库)。

3、编译中的错误

1、max和min不识别,#include  <algorithm>

2、找不到platform.h和version.h文件,将platform.h.vc和version.h.vc去掉.vc

三、示例程序

下面是求一个正方形的缓冲区的程序。

typedef Coordinate PT;
GeometryFactory factory;
	CoordinateArraySequenceFactory csf;

	CoordinateSequence* cs1 = csf.create(5, 2);
	cs1->setAt(PT(-1, 1, 0), 0);
	cs1->setAt(PT(1, 1, 0), 1);
	cs1->setAt(PT(1, -1, 0), 2);
	cs1->setAt(PT(-1, -1, 0), 3);
	cs1->setAt(PT(-1, 1, 0), 4);
	LinearRing* ring1 = factory.createLinearRing(cs1);
	Geometry* p1 = factory.createPolygon(ring1, NULL);

	int nsize2 = p1->getCoordinates()->getSize();
	Geometry*  p2 = p1->buffer(1, 2,3);
				
时间: 2024-10-25 15:32:40

vs2013下geos3.4.2的编译与缓冲区生成示例的相关文章

VS2013下开发VC++程序,编译时提示错误error MSB8020: The build tools for v140 (Platform Toolset = &#39;v140&#39;) 的解决方案

1. 问题描述: 提示如下错误:error MSB8020: The builds tools for v140 (Platform Toolset = 'v140') cannot be found. To build using the v140 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Inst

VELT-0.1.5开发:在vs2013下编译gdb

VELT的全称是Visual EmbedLinuxTools,它是一个visual studio插件,用以辅助完成Linux开发.利用这个插件,将可以在visual studio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行uboot和linux内核的编译,并根据编译时的错误信息正确定位到源码.目前的版本是0.1.4,仅支持vs2013.此插件可以在CSDN下载频道下载(http://download.csdn.net/detail/lights_joy/8429771),

多媒体开发之--- live555 vs2010/vs2013下编译,使用,测试

Ⅰ live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等的支持.Live555实现了对多种音视频编码格式的音视频数据的流化.接收和处理等支持,包括MPEG.H.263+.DV.JPEG视频和多种音频编码.同时由于良好的设计,Live555非常容易扩展对其他格式的支持.目前,Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan).MPlayer. 该项目的源代码包括

VELT-0.1.5开发:在vs2013下调试Linux内核

快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 本文仅适用于vs2013 + velt-0.1.5 VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发.利用这个插件,将可以在visual studio的IDE中进行Linux应用程序的开发(包括编译和调试),也可

C++11 图说VS2013下的引用叠加规则和模板参数类型推导规则

背景:    最近在学习C++STL,出于偶然,在C++Reference上看到了vector下的emplace_back函数,不想由此引发了一系列的“探索”,于是就有了现在这篇博文. 前言:      右值引用无疑是C++11新特性中一颗耀眼的明珠,在此基础上实现了移动语义和完美转发,三者构成了令很多C++开发者拍案叫绝的“铁三角”(当然不是所有C++开发者).而在这个“铁三角”中,有一个无法回避的关键细节,那就是引用叠加规则和模板参数类型推导规则.其实,关于这两个规则,可查到的资料不少,但都

何必苦等VS2015?来看看VS2013下实现移动端的跨平台开发

原文:何必苦等VS2015?来看看VS2013下实现移动端的跨平台开发 前一天准备下载VS2015预览版,到VisualStudio官网一看,发现微软发布了VisualStudio2013的插件——Visual Studio Tools for Apache Cordova,实现跨平台的开发.官网下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=42675,下面是截图: 点击下载扩展插件,双击开始安装,第一次打开出现如下错误

VS2013下的64位与32位程序配置

VS2013下的64位与32位程序配置 在Windows 7 64bit和Visual Studio 2013下生成64位程序. 新建一个Visual Studio Win32 Console项目,命名为WinTestX64. 代码如下 #include "stdafx.h" #include <iostream> using namespace std; #define PRINT(a) cout << #a << ":" &l

vs2013下配置opencv1.0.0

vs2013下配置opencv1.0.0 2019-4-25 17:13:13 原因 现在最新opencv已经到4.0.1版了.用opencv1.0原因: 小.源码包只有10M左右. 清晰.他的文档结构清晰,不像OpenCV2时代开始越来越多的东西加进来但是文档也越来越多看不完.. 很少有C++.比如没有Mat.因为希望在自己的项目中用纯C,即便用opencv也是用IplImage读取. 打开工程 opencv_100/_make/opencv.sln,用vs2013打开它,选择升级项目. 编译

从零教你在Linux环境下(ubuntu)如何编译hadoop2.4

问题导读: 1.如果获取hadoop src  maven包?2.编译hadoop需要装哪些软件?3.如何编译hadoop2.4?扩展:编译hadoop为何安装这些软件? 本文链接 http://www.aboutyun.com/thread-8130-1-1.html 一.首先下载hadoop源码包下载的方式还是比较多的1.svn的方式svn下载首先需要安装SVN,如果想尝试使用svn,可以参考源码管理.获取网络源码工具:TortoiseSVN使用手册,hadoop的svn下载地址点此2.压缩