当前位置: 首页 > news >正文

东莞企业名录网关键词优化师

东莞企业名录网,关键词优化师,精品网站建设,云空间最近,想要在C下编一个可用GDAL模块的地图管理系统,找来找去,找到了GEOS。GEOS(Geometry Engine-Open Source)开源几何引擎 是一个用于计算几何的JTS库的 C/C实现,专注于地理信息系统 (GIS&#…

最近,想要在C++下编一个可用GDAL模块的地图管理系统,找来找去,找到了GEOS。GEOS(Geometry Engine-Open Source)开源几何引擎 是一个用于计算几何的JTS库的 C/C++实现,专注于地理信息系统 (GIS) 软件中使用的算法。 它实现了 OGC 简单要素几何模型,并提供了该标准中的所有空间函数以及许多其他标准。 GEOS 是 PostGIS、QGIS、GDAL、Shapely 等的核心依赖项。GEOS库可以和GDAL库一起编译提供OGR库的所有功能。希望了解GEOS更多信息,可以前往https://trac.osgeo.org/geos/。

本文GEOS库所采用的是QT软件平台下的MinGW32编译器进行编译,编译出来的库文件也用于Windows系统下QT(MinGW)软件平台进行开发。编译后的文件主要有两个:libgeos.dll和libgeos_c.dll,编译出来以后经过测试,可以正常使用。

一、源代码下载地址:Download and Build | GEOSDownload Project Release Release Date First Release Final Release Download Link Changes 3.12.1 2023/11/11 2023/06/27 2027/07/01 geos-3.12.1.tar.bz2 Changes 3.11.3 2023/11/11 2022/07/01 2026/07/01 geos-3.11.3.tar.bz2 Changes 3.10.6 2023/11/11 2021/10/20 2025/10/20 geos-3.10.6.tar.bz2 Changes 3.9.5 2023/11/12 2020/12/09 2024/12/09 geos-3.9.5.tar.bz2 Changes 3.8.4 EOL 2023/11/12 2019/10/10 2023/11/12 geos-3.8.4.tar.bz2 Changes Old releases can be downloaded from https://download.icon-default.png?t=N7T8https://libgeos.org/usage/download/下载后的文件为:geos-3.12.1.tar.bz2。解压后备用。

二、导入文件:启动QT Creator,新建一工程,选择工程模板为“Non-Qt Project”——“plain C++ Application”,构建系统选择“CMake”,构建套件(kit)选择“Desktop Qt 5.15.2 MinGW 32-bit”,一路点”下一步“,生成工程框架。将解压后的目录”geos-3.12.1“下面的所有子目录和文件导入到工程目录下面,并删除自动生成的”main.cpp“文件。

三、分析CMakeLists.txt文件并编译:经过仔细对工程目录下的所有CMakeLists.txt文件分析,未发现有误之处,便不再修改CMakeLists.txt文件,进行下一步构建工程。经过4分多钟的等待,最终生成了”libgeos.dll、libgeos_c.dll“两个dll文件和3 个测试可执行文件。编译成功!

四、调用GEOS库前设置:新建一工程,选择工程模板为“Application(Qt)”——“Qt Witgets Application”,构建系统选择“CMake”,构建套件(kit)选择“Desktop Qt 5.15.2 MinGW 32-bit”,一路点”下一步“,生成工程框架。在工程目录下新建“lib”和“include”两个子目录,将”libgeos.dll、libgeos_c.dll“两个dll文件复制到“lib”目录,将解压后的目录”geos-3.12.1“下面的学习“include/geos/”下面的所有文件拷贝至工程目录下的“include”中,至此,调用前设置工作完成。

五、调用GEOS库:使用官方网站的C++API帮助实例,代码如下:

#include <iostream>
#include "mygdalwidget.h"
#include "./ui_mygdalwidget.h"
#include "geos/geom/GeometryFactory.h"
#include "geos/geom/Geometry.h"

#include "geos/io/WKTReader.h"
#include "geos/io/WKTWriter.h"
#include <QMessageBox>

using namespace std;
using namespace geos::geom;
using namespace geos::io;

myGdalWidget::myGdalWidget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::myGdalWidget)
{
    ui->setupUi(this);
}

myGdalWidget::~myGdalWidget()
{
    delete ui;
}


void myGdalWidget::on_btnConnectGDAL_clicked()
{
    GeometryFactory::Ptr fact = GeometryFactory::create();
    WKTReader reader(*fact);

    string wkt_a("POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))");
    string wkt_b("POLYGON((5 5, 15 5, 15 15, 5 15, 5 5))");


    /* Convert WKT to Geometry */
    unique_ptr<Geometry> geom_a(reader.read(wkt_a));
    unique_ptr<Geometry> geom_b(reader.read(wkt_b));

    /* Calculate intersection */
    unique_ptr<Geometry> inter = geom_a->intersection(geom_b.get());

    /* Convert Geometry to WKT */
    WKTWriter writer;
    writer.setTrim(true); /* Only needed before GEOS 3.12 */
    QString inter_wkt = QString::fromStdString(writer.write(inter.get()));

    /* Print out results */
    cout << "Geometry A:         " << wkt_a << endl;
    cout << "Geometry B:         " << wkt_b << endl;
   cout << "Intersection(A, B): << inter_wkt.toStdString()<<endl;
    QMessageBox::information(this,"显示两个图形相交",inter_wkt);
}

代码输入完毕,点构建运行,应用程序输出:

11:54:07: Starting F:\QtProjects\build-firstGDALPro-Desktop_Qt_5_15_2_MinGW_32_bit-Debug\firstGDALPro.exe...
Geometry A:         POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))
Geometry B:         POLYGON((5 5, 15 5, 15 15, 5 15, 5 5))
Intersection(A, B): POLYGON ((10 10, 10 5, 5 5, 5 10, 10 10))
11:54:26: F:\QtProjects\build-firstGDALPro-Desktop_Qt_5_15_2_MinGW_32_bit-Debug\firstGDALPro.exe 退出,退出代码: 0
至此,成功运行!

http://www.tj-hxxt.cn/news/11463.html

相关文章:

  • 在哪些网站做外贸好搜索推广平台有哪些
  • 解析域名就可以做网站营销策划方案模板
  • 网络彩票网站开发百度搜索关键词统计
  • 网站开发和桌面开发哪个难企业网站营销的典型案例
  • 一个网站开发的流程百度百度网址大全
  • 国外服务器域名需要备案吗青岛seo搜索优化
  • thinkphp网站模板广州谷歌推广
  • 手机网站可以做动态吗游戏推广接单平台
  • 济南科技市场做网站微信推广广告在哪里做
  • 机构单位网站建设方案网站seo分析工具
  • 公司主页网站制作seo快速排名软件
  • 专业集团门户网站建设怎么下载百度
  • 义乌微硕网络科技有限公司搜狗seo查询
  • 偷拍美容院做私密视频网站百度百科搜索入口
  • 做海外贸易的网站名叫什么网站的建设流程
  • 苏州做网站的单位深圳外贸seo
  • 有免费网站推荐吗网络优化工程师为什么都说坑人
  • 网站内容建设的布局和结构广州营销网站建设靠谱
  • 网站建设前置审批友链之家
  • 网站建设帝国中国十大网络营销平台
  • 娃哈哈网站建设策划书大同优化推广
  • 网站导航设计欣赏网络营销的方式包括
  • 排名好的宜昌网站建设最近一周新闻
  • 交互式网站的发展优化系统软件
  • 北外网院网站建设作业线上推广引流渠道
  • 网站建设开发合同模板下载武汉网站优化公司
  • 深圳市城乡住房和建设局网站首页百度推广销售员好做吗
  • 做长海报的网站360优化大师安卓手机版下载安装
  • 外贸推广建站蓝颜seo牛成人就业技术培训机构
  • 自己建网站好还是用淘宝做好百度网盘网页版官网