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

图书馆网站建设的意义目前网站开发趋势

图书馆网站建设的意义,目前网站开发趋势,工程管理专业后悔死了,高端网站建设 案例Qgis 有个ToolBox 的,在Processing->ToolBox 菜单里面,界面如下。 理论上Qgis这里面的工具都是可以用脚本或者C 代码调用的。界面以Vector overlay 为例子简单介绍下使用方式。Vector overlay 的意思是矢量叠置分析,和arcgis软件类似的。点…

Qgis 有个ToolBox 的,在Processing->ToolBox 菜单里面,界面如下。

理论上Qgis这里面的工具都是可以用脚本或者C++ 代码调用的。界面以Vector overlay 为例子简单介绍下使用方式。Vector overlay 的意思是矢量叠置分析,和arcgis软件类似的。点开之后会看到具体的功能。和之前的Geometry的叠置分析的功能是一样的,不同是这个图层级别的叠置分析,效率自然也比遍历Geometry的效率要高。

接下面介绍下使用这些的方法

1、Difference

QgsVectorLayer* Diff(QgsVectorLayer* layer1, QgsVectorLayer* layer2) {const QString id = "native:difference";const QgsProcessingAlgorithm* algorithm = QgsApplication::processingRegistry()->algorithmById(id);QVariantMap conf;conf.insert(QStringLiteral("INPUT"), QVariant::fromValue(layer1));conf.insert(QStringLiteral("OVERLAY"), QVariant::fromValue(layer2));QgsProcessingOutputLayerDefinition value("TEMPORARY_OUTPUT");conf.insert(QStringLiteral("OUTPUT"), value);QgsProcessingContext context;QgsProcessingFeedback feedback;QVariantMap results = algorithm->run(conf, context, &feedback);QgsVectorLayer* outputLayer(dynamic_cast<QgsVectorLayer*>(context.getMapLayer(results.value(QStringLiteral("OUTPUT")).toString())));//暂时先加载,实际用的时候需要屏蔽QgsProject::instance()->addMapLayer(outputLayer);return outputLayer;
}

2、Clip


QgsVectorLayer* Clip(QgsVectorLayer* inputLayer, QgsVectorLayer* overlayLayer) {//差集const QString id = "native:clip";QVariantMap conf;conf.insert(QStringLiteral("INPUT"), QVariant::fromValue(inputLayer));conf.insert(QStringLiteral("OVERLAY"), QVariant::fromValue(overlayLayer));QgsProcessingOutputLayerDefinition value("TEMPORARY_OUTPUT");conf.insert(QStringLiteral("OUTPUT"), value);conf.insert(QStringLiteral("LAYER_OPTIONS"), QStringLiteral("COORDINATE_PRECISION=1"));QgsProcessingContext context;QgsProcessingFeedback feedback;const QgsProcessingAlgorithm* algorithm = QgsApplication::processingRegistry()->algorithmById(id);QVariantMap results = algorithm->run(conf, context, &feedback);QgsVectorLayer* resultlayer(dynamic_cast<QgsVectorLayer*>(context.getMapLayer(results.value(QStringLiteral("OUTPUT")).toString())));//暂时先加载,实际用的时候需要屏蔽QgsProject::instance()->addMapLayer(resultlayer);return resultlayer;
}

3、Union

QgsVectorLayer* Union(QgsVectorLayer* layer1, QgsVectorLayer* layer2) {const QString id = "native:union";const QgsProcessingAlgorithm* algorithm = QgsApplication::processingRegistry()->algorithmById(id);// 检查图层类型if (layer1->geometryType() != layer2->geometryType()) {qWarning() << "Input layers must have the same geometry type.";return nullptr;}QVariantMap conf;conf.insert(QStringLiteral("INPUT"), QVariant::fromValue(layer1));conf.insert(QStringLiteral("OVERLAY"), QVariant::fromValue(layer2));QgsProcessingOutputLayerDefinition value("TEMPORARY_OUTPUT");conf.insert(QStringLiteral("OUTPUT"), value);conf.insert(QStringLiteral("LAYER_OPTIONS"), QStringLiteral("COORDINATE_PRECISION=1"));QgsProcessingContext context;QgsProcessingFeedback feedback;QVariantMap results = algorithm->run(conf, context, &feedback);QgsVectorLayer* outputLayer(dynamic_cast<QgsVectorLayer*>(context.getMapLayer(results.value(QStringLiteral("OUTPUT")).toString())));//暂时先加载,实际用的时候需要屏蔽QgsProject::instance()->addMapLayer(outputLayer);return outputLayer;
}

4、小节

使用这些工具的代码基本大同小异,最关键的就是id,id基本就是原来的名字的小写。读者可以自己去试试里面其他工具的使用。使用过程需要注意一点的是如果有无效的Geometey,可能会报错,可以在执行之前删除无效的Geometry。还有一点就是面图层在执行过程中因为误差问题可能会出现线的情况,常常需要删除线,一般需要在Geometry的 parts 里面做判断的。还有一些qgis的常用功能,像投影,三维,server和pyphon脚本的使用。这些功能后面可能会继续介绍,也可能不在做介绍了。

http://www.yayakq.cn/news/541276/

相关文章:

  • 开发网站访问流量赚钱 align center
  • 招聘网站建设人员承德 网站建设
  • 包头怎样做网站wordpress 页面 瞄
  • 海外高端网站建设广州做网站服务
  • 网页设计和网站开发有什么区别临海建设银行网站
  • wordpress站点预览安徽圣力建设集团有限公司网站
  • 巨省网站设计有关的网站
  • 门户网站cms网络营销的基本方法有哪些
  • 百度静态网站网站设计要注意什么
  • 杭州正规企业网站建设网站制作公司制作网站
  • 如何做网站赚钱做兼职的网站打字员
  • 网站的注册和登录界面怎么做企业所得税怎么算2023年
  • 深圳如何搭建建网站检测 网站优化
  • 网站建设的多少钱做名片用什么网站
  • 在哪请人做网站wordpress可以做什么
  • 网站被挂马怎么办在线图片编辑源码
  • 社区微网站建设需求分析safari浏览器
  • 个人怎样做网站学校网站建设问卷调查表
  • sae 网站备案网站电脑培训班办公软件
  • node 网站开发 视频教程淘宝网站建设的策划书
  • 怎么挂代理访问网站竞价托管推广代运营
  • 西安做网站的云阔wordpress写文章卡
  • 百度云怎么找资源东莞搜索优化十年乐云seo
  • 坡头网站开发公司ps设计网站首页界面
  • 阿里云网站怎么备案域名泸州市住房和城乡建设网站
  • 织梦影视网站源码备案期间关闭网站
  • 做网站常用代码怎么做网站编程
  • 做企业福利网站起名电子商务网站开发形式
  • 商丘企业网站建设服务个人公众号
  • 面对面视频 网站开发网站网页转小程序教程