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

GIS开发笔记(6)结合osg及osgEarth实现半球形区域绘制

一、实现效果
输入中心点坐标及半径,绘制半球形区域,地下部分不显示。
在这里插入图片描述

二、实现原理
根据中心点及半径绘制半球形区域,将其挂接到地球节点。

三、参考代码

void GlobeWidget::drawSphericalRegion(osg::Vec3d point,double radius)
{// 使用 osgEarth 转换经纬度到地球坐标osgEarth::GeoPoint geoPoint(osgEarth::SpatialReference::get("wgs84"),point.x(), point.y(), 0.0, osgEarth::ALTMODE_ABSOLUTE);osg::Vec3d worldPoint;geoPoint.toWorld(worldPoint);  // 转换为地球坐标系// 创建一个球体osg::ref_ptr<osg::Sphere> sphere = new osg::Sphere(worldPoint, radius);osg::ref_ptr<osg::ShapeDrawable> shape = new osg::ShapeDrawable(sphere);// 设置材质颜色shape->setColor(osg::Vec4(1.0f, 0.0f, 0.0f, 0.5f)); // 红色,半透明osg::ref_ptr<osg::Geode> geode = new osg::Geode();geode->addDrawable(shape);// 启用透明混合geode->getOrCreateStateSet()->setMode(GL_BLEND, osg::StateAttribute::ON);geode->getOrCreateStateSet()->setRenderingHint(osg::StateSet::TRANSPARENT_BIN);// 添加到根节点m_userDrawGroup->addChild(geode);
}

相关文章:

GIS开发笔记(6)结合osg及osgEarth实现半球形区域绘制

一、实现效果 输入中心点坐标及半径&#xff0c;绘制半球形区域&#xff0c;地下部分不显示。 二、实现原理 根据中心点及半径绘制半球形区域&#xff0c;将其挂接到地球节点。 三、参考代码 void GlobeWidget::drawSphericalRegion(osg::Vec3d point,double radius) {// 使…...

Ant Design Vue 的表格数据,第一列项目区域,项目区域相同的行数据,第一列项目区域合并

在 Ant Design Vue 的表格中&#xff0c;如果需要根据第一列&#xff08;如“项目区域”&#xff09;的值进行动态合并&#xff0c;可以通过 customCell 方法实现。以下是完整的代码示例&#xff0c;展示如何根据“项目区域”相同的行数据&#xff0c;合并第一列单元格。 代码示…...

SFOS2:常用容器(布局)介绍

一、前言 最近在进行sailfish os的开发&#xff0c;由于在此之前并没有从事过QT开发的工作&#xff0c;所以对这一套颇为生疏&#xff0c;以此记录一下。以下内容不一定完全准确&#xff0c;开发所使用的是Qt Quick 2.6与Sailfish.Silica 1.0两个库。 二、布局 1.Qt Quick 2.…...

C++ 核心进阶

模块九&#xff1a;进一步学习 (指引方向) 目录 标准模板库 (STL) 深入 1.1. std::map (进阶) 1.1.1. 迭代器的更多用法 1.1.2. 自定义比较函数 1.1.3. std::multimap 1.2. std::set (进阶) 1.2.1. 迭代器的更多用法 1.2.2. 自定义比较函数 1.2.3. std::multiset 和 std::un…...

守护进程编程

守护进程编程 1. 守护进程的含义 守护进程的含义&#xff1a; 守护进程&#xff08;Daemon&#xff09;是指一种在后台运行的进程&#xff0c;通常不与用户交互&#xff0c;用于执行一些常驻任务&#xff0c;如系统监控、日志管理、定时任务等。它通常在操作系统启动时就被启…...

[特殊字符] MySQL MCP 开发实战:打造智能数据库操作助手

&#x1f4a1; 简介&#xff1a;本文详细介绍如何利用MCP&#xff08;Model-Control-Panel&#xff09;框架开发MySQL数据库操作工具&#xff0c;使AI助手能够直接执行数据库操作。 &#x1f4da; 目录 引言MCP框架简介项目架构设计开发环境搭建核心代码实现错误处理策略运行和…...

element-ui自定义主题

此处的element-ui为基于vue2.x的 由于https://element.eleme.cn/#/zh-CN/theme/preview&#xff08;element的主题&#xff09;报错503&#xff0c; 所以使用https://element.eleme.cn/#/zh-CN/component/custom-theme 自定义主题文档中&#xff0c;在项目中改变scss变量的方…...

windows下使用nginx + waitress 部署django

架构介绍 linux一般采用nginx uwsgi部署django&#xff0c;在Windows下&#xff0c;可以取代uwsgi的选项包括Waitressa、Daphnea、Hypercoma和Gunicorna(通过WSLa 运行)。windows服务器一般采用nginx waitress 部署django&#xff0c;,他们的关系如下 django是WEB应用…...

MySQL-多版本并发控制MVCC

文章目录 一、多版本并发控制MVCC二、undo log&#xff08;回滚日志&#xff09;二、已提交读三、可重复读总结 一、多版本并发控制MVCC MVCC是多版本并发控制&#xff08;Multi-Version Concurrency Control&#xff09;&#xff0c;是MySQL中基于乐观锁理论实现隔离级别的方…...

Sherpa简介

Sherpa 是一个由 K2-FSA 团队 开发的 开源语音处理框架&#xff0c;旨在解决传统语音识别工具&#xff08;如 Kaldi&#xff09;在模型部署和跨平台适配中的复杂性问题。它通过整合现代深度学习技术和高效推理引擎&#xff0c;提供了从语音识别、合成到说话人识别的一站式解决方…...

4.15redis点评项目下

--->接redis点评项目上 Redis优化秒杀方案 下单流程为&#xff1a;用户请求nginx--->访问tomcat--->查询优惠券--->判断秒杀库存是否足够--->查询订单--->校验是否是一人一单--->扣减库存--->创建订单 以上流程如果要串行执行耗时会很多&#xff0c…...

目标检测与分割:深度学习在视觉中的应用

&#x1f50d; PART 1&#xff1a;目标检测&#xff08;Object Detection&#xff09; 1️⃣ 什么是目标检测&#xff1f; 目标检测是计算机视觉中的一个任务&#xff0c;目标是让模型“在图像中找到物体”&#xff0c;并且判断&#xff1a; 它是什么类别&#xff08;classif…...

SpringBoot 与 Vue3 实现前后端互联全解析

在当前的互联网时代&#xff0c;前后端分离架构已经成为构建高效、可维护且易于扩展应用系统的主流方式。本文将详细介绍如何利用 SpringBoot 与 Vue3 构建一个前后端分离的项目&#xff0c;展示两者如何通过 RESTful API 实现无缝通信&#xff0c;让读者了解从环境搭建、代码实…...

HEIF、HEIC、JPG 和 PNG是什么?

1. HEIF (High Efficiency Image Format) 定义&#xff1a;HEIF 是一种用于存储单张图像和图像序列&#xff08;如连拍照片&#xff09;的图像文件格式。优势&#xff1a;相比传统的图像格式&#xff0c;HEIF 提供了更高的压缩效率和更好的图像质量。压缩算法&#xff1a;HEI…...

第一层、第二层与第三层隧道协议

&#xff08;本文由deepseek生成&#xff0c;特此声明&#xff09; 隧道协议是网络通信中用于在不同网络间安全传输数据的关键技术&#xff0c;其工作层次决定了封装方式、功能特性及应用场景。本文将详细介绍物理层&#xff08;第一层&#xff09;、数据链路层&#xff08;第…...

部署qwen2.5-VL-7B

简单串行执行 from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor from qwen_vl_utils import process_vision_info import torch, time, threadingdef llm(model_path,promptNone,imageNone,videoNone,imagesNone,videosNone,max_new_tokens2048,t…...

记录jdk8->jdk17 遇到的坑和解决方案

最近项目在升级jdk8->jdk17 springboot2->springboot3 顺序先升级业务服务&#xff0c;后升级组件服务。跟随迭代开发一起验证功能。 1. 使用parent pom 版本管理 spring相关组件的版本。 组件依赖低版本parent不变。 业务服务依赖高版本parent。 2. 修改maven jdk…...

vue3 uniapp vite 配置之定义指令

动态引入指令 // src/directives/index.js import trim from ./trim;const directives {trim, };export default {install(app) {console.log([✔] 自定义指令插件 install 触发了&#xff01;);Object.entries(directives).forEach(([key, directive]) > {app.directive(…...

杰弗里·辛顿:深度学习教父

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 杰弗里辛顿&#xff1a;当坚持遇见突破&#xff0c;AI迎来新纪元 一、人物简介 杰弗…...

STM32蓝牙连接Android实现云端数据通信(电机控制-开源)

引言 基于 STM32F103C8T6 最小系统板完成电机控制。这个小项目采用 HAL 库方法实现&#xff0c;通过 CubeMAX 配置相关引脚&#xff0c;步进电机使用 28BYJ-48 &#xff08;四相五线式步进电机&#xff09;&#xff0c;程序通过蓝牙连接手机 APP 端进行数据收发&#xff0c; OL…...

第一个Qt开发的OpenCV程序

OpenCV计算机视觉开发实践&#xff1a;基于Qt C - 商品搜索 - 京东 下载安装Qt&#xff1a;https://download.qt.io/archive/qt/5.14/5.14.2/qt-opensource-windows-x86-5.14.2.exe 下载安装OpenCV&#xff1a;https://opencv.org/releases/ 下载安装CMake&#xff1a;Downl…...

如何编写爬取网络上的视频文件

网络爬虫程序&#xff0c;可以爬取某些网站上的视频&#xff0c;音频&#xff0c;图片或其它文件&#xff0c;然后保存到本地电脑上&#xff1b; 有时在工作中非常有用&#xff0c;那在技术上如何进行爬取文件和保存到本地呢&#xff1f;下面以python语言为例&#xff0c;讲解p…...

TCP 如何在网络 “江湖” 立威建交?

一、特点&#xff1a; &#xff08;一&#xff09;面向连接 在进行数据传输之前&#xff0c;TCP 需要在发送方和接收方之间建立一条逻辑连接。这一过程类似于打电话&#xff0c;双方在通话前需要先拨号建立连接。建立连接的过程通过三次握手来完成&#xff0c;确保通信双方都…...

【小白训练日记——2025/4/15】

变化检测常用的性能指标 变化检测&#xff08;Change Detection&#xff09;的性能评估依赖于多种指标&#xff0c;每种指标从不同角度衡量模型的准确性。以下是常用的性能指标及其含义&#xff1a; 1. 混淆矩阵&#xff08;Confusion Matrix&#xff09; 定义&#xff1a;统…...

交叉熵在机器学习中的应用解析

文章目录 核心概念香农信息量&#xff08;自信息&#xff09;熵&#xff08;Entropy&#xff09;KL散度&#xff08;Kullback-Leibler Divergence&#xff09;交叉熵 在机器学习中的应用作为损失函数对于二分类&#xff08;Binary Classification&#xff09;&#xff1a;对于多…...

ARM Cortex汇编指令

在ARM架构的MCU开发中&#xff0c;汇编指令集是底层编程的核心。以下是针对Cortex-M系列&#xff08;如M0/M3/M4/M7/M85&#xff09;的指令集体系、分类及查询方法的详细说明&#xff1a; 一、指令集体系与核心差异 1. 架构版本与指令集特性 处理器架构指令集特点典型应用场…...

数据结构——二叉树(中)

接上一篇&#xff0c;上一篇主要讲解了关于二叉树的基本知识&#xff0c;也是为了接下来讲解关于堆结构和链式二叉树结构打基础&#xff0c;其实无论是堆结构还是链式二叉树结构&#xff0c;都是二叉树的存储结构&#xff0c;那么今天这一篇主要讲解关于堆结构的实现与应用 堆…...

InnoDB的MVCC实现原理?MVCC如何实现不同事务隔离级别?MVCC优缺点?

概念 InnoDB的MVCC&#xff08;Multi-Version Concurrency Control&#xff09;即多版本并发控制&#xff0c;是一种用于处理并发事务的机制。它通过保存数据在不同时间点的多个版本&#xff0c;让不同事务在同一时刻可以看到不同版本的数据&#xff0c;以此来减少锁竞争&…...

UDP目标IP不存在时的发送行为分析

当网络程序使用UDP协议发送数据时&#xff0c;如果目标IP不存在&#xff0c;发送程序的行为取决于网络环境和操作系统的处理机制。以下是详细分析&#xff1a; 1. UDP的无连接特性 UDP是无连接的传输协议&#xff0c;发送方不会预先建立连接&#xff0c;也不会收到对方是否存在…...

WHAT - 动态导入模块遇到版本更新解决方案

文章目录 一、动态导入模块二、常见原因与解决方案1. 模块 URL 错误2. 开发人员发版用户停留在旧页面问题背景解决方案思路1. 监听错误&#xff0c;提示用户刷新2. 使用缓存控制策略&#xff1a;强制刷新3. 动态模块加载失败时兜底4. 使用 import.meta.glob() 或 webpack 的 __…...