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

大朗网站制作apache 多网站

大朗网站制作,apache 多网站,网站设计收费明细表,wordpress mp4播放器#x1f60f;★,:.☆(#xffe3;▽#xffe3;)/$:.★ #x1f60f; 这篇文章主要介绍tinyxml2解析库配置使用。 无专精则不能成#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客#xff0c;一起学习#xff0c;共同进步。 喜欢的朋友可以关注一下#xff0c;… ★,°:.☆(▽)/$:.°★ 这篇文章主要介绍tinyxml2解析库配置使用。 无专精则不能成无涉猎则不能通。——梁启超 欢迎来到我的博客一起学习共同进步。 喜欢的朋友可以关注一下下次更新不迷路 文章目录 :smirk:1. 项目介绍:blush:2. 环境配置:satisfied:3. 使用说明一个解析示例xml地图解析 1. 项目介绍 项目Github地址https://github.com/leethomason/tinyxml2 TinyXML-2是一个轻量级的C库用于解析和生成XML文档。它是对原始TinyXML库的改进和扩展提供了更快速、更强大的XML处理功能。 以下是一些TinyXML-2的主要特点和功能 1.简单易用TinyXML-2提供了简单的API使得解析和生成XML文档变得简单和直观。它使用类似于DOM文档对象模型的方法来操作XML元素让开发者可以轻松地读取和写入XML数据。 2.轻巧高效TinyXML-2具有非常小的内存占用和高性能。它专注于简单的XML操作没有复杂的依赖关系因此可以快速加载和处理大型XML文件。 3.支持解析和生成TinyXML-2支持从字符串或文件中解析XML文档并且可以生成格式良好的XML文本。它能够处理各种节点类型如元素、属性、文本、注释等。 4.错误处理TinyXML-2提供了灵活的错误处理机制。当解析XML时它可以检测到语法错误、结构错误或其他问题并提供相关的错误信息和异常处理机制。 5.跨平台TinyXML-2可以在多个操作系统上使用包括Windows、Linux和Mac OS等。 2. 环境配置 下面进行环境配置 sudo apt-get install build-essential git clone https://github.com/leethomason/tinyxml2.git cd tinyxml2 make sudo make install # 查看版本 pkg-config --modversion tinyxml2g编译g -o main main.cpp -ltinyxml2 3. 使用说明 下面进行使用分析 一个解析示例 #include iostream #include tinyxml2.hint main() {// 创建一个XML文档对象tinyxml2::XMLDocument doc;// 加载XML文件if (doc.LoadFile(example.xml) tinyxml2::XML_SUCCESS) {// 打印根元素名称tinyxml2::XMLElement* root doc.FirstChildElement(Root);if (root) {std::cout Root Element: root-Name() std::endl;}// 遍历并打印所有子元素tinyxml2::XMLElement* element root-FirstChildElement();while (element) {std::cout Element Name: element-Name() std::endl;// 获取元素的属性值const char* attributeValue element-Attribute(attribute);if (attributeValue) {std::cout Attribute Value: attributeValue std::endl;}// 获取元素的文本内容const char* textValue element-GetText();if (textValue) {std::cout Text Value: textValue std::endl;}element element-NextSiblingElement();}}// 创建一个新的XML文档tinyxml2::XMLDocument newDoc;// 创建根元素tinyxml2::XMLElement* newRoot newDoc.NewElement(NewRoot);newDoc.InsertFirstChild(newRoot);// 创建子元素tinyxml2::XMLElement* newElement newDoc.NewElement(NewElement);newRoot-InsertEndChild(newElement);// 设置属性值newElement-SetAttribute(attribute, value);// 设置文本内容newElement-SetText(Hello, World!);// 保存XML文件newDoc.SaveFile(new_example.xml);return 0; }xml地图解析 项目github地址推荐学习https://github.com/chenyongzhe/HdmapEngine 这个地图解析引擎项目用tinyxml2库解析apollo opendrive xml格式的高精地图包含道路、车道连接关系、信号灯等元素以及车道搜索、wgs84转东北天等工具最后可用python matplotlib将处理完的地图show出来。 下面是一些解析示例 // 读取xml文件去判断Node bool HdmapEngine::paserApolloxml(const char *file_name) {tinyxml2::XMLDocument doc;if (doc.LoadFile(file_name) ! XML_SUCCESS)return false;XMLElement *root doc.RootElement();XMLElement *roadNode root-FirstChildElement(road); // find road nodewhile (roadNode ! NULL){string name roadNode-Attribute(name); // road name// if name include string(Road) or string(junction)if (name.substr(0, 4) Road){// cout roadNode-Attribute(id) endl;paserRoad(roadNode);}else if (name.substr(0, 8) junction){paserJunction(roadNode);}roadNode roadNode-NextSiblingElement();}// 创建搜索树vectorPoint centerLintePoints;for (int i 0; i laneList.size(); i){// if(laneList[i].centerLinePoints!NULL)for (int j 0; j laneList[i]-centerLinePoints.size(); j){centerLintePoints.push_back(*(laneList[i]-centerLinePoints[j]));}}// coutcenterpoint size centerLintePoints.size()endl;tree-read_in(centerLintePoints);// coutcenterpoint size centerLintePoints.size()endl;// cout创建搜索树成功endl;// printRoad();return true; }// 解析road元素 bool HdmapEngine::paserRoad(XMLElement *roadNode) {string predecessor_elementType;int predecessor_id INT_MAX;int successor_id INT_MAX;string successor_elementType;double road_length;road_id atoi(roadNode-Attribute(id));XMLElement *linkNode roadNode-FirstChildElement(link);XMLElement *lanes roadNode-FirstChildElement(lanes);XMLElement *laneSection lanes-FirstChildElement(laneSection);XMLElement *sucNode linkNode-FirstChildElement(successor);if (sucNode ! NULL){// cout sucNode-Attribute(elementType) sucNode-Attribute(elementId) endl;successor_elementType sucNode-Attribute(elementType);successor_id atoi(sucNode-Attribute(elementId));}XMLElement *preNode linkNode-FirstChildElement(predecessor);if (preNode ! NULL){// cout preNode-Attribute(elementType) preNode-Attribute(elementId) endl;predecessor_elementType preNode-Attribute(elementType);predecessor_id atoi(preNode-Attribute(elementId));}Road *road new Road(road_id, predecessor_elementType, predecessor_id, successor_elementType, successor_id);int jun atoi(roadNode-Attribute(junction));if (jun -1){// 非路口道路road-isJunctionRoad false;}else{// 路口道路road-isJunctionRoad true;}laneSection_id 0;// lanesectionwhile (laneSection ! NULL){paserLaneSection(laneSection, road);laneSection_id;laneSection laneSection-NextSiblingElement(laneSection);}// 解析stoplinepaserStopLineCrosswalk(roadNode, road);road-length road-getRoadLength();roadList.push_back(road);roadMap[road-road_id] road;return true; }gps转xyz工具部分 bool TransformUtil::gps2xyz(const double longitude, const double latitude, const double altitude,Eigen::Vector3d xyz) {// gps gps_msg.longitude, gps_msg.latitude, gps_msg.altitude;Eigen::Vector3d gps(longitude, latitude, altitude);Eigen::Vector3d gps_ECEF WGS84toECEF(gps);// 处理GPS数据double rad_lon gps_origin_[1] / 180 * M_PI;double rad_lat gps_origin_[0] / 180 * M_PI;double sin_lon sin(rad_lon);double cos_lon cos(rad_lon);double sin_lat sin(rad_lat);double cos_lat cos(rad_lat);Eigen::Matrix3d rot Eigen::Matrix3d::Zero();// clang-format offrot -sin_lon, cos_lon, 0,-sin_lat * cos_lon, -sin_lat * sin_lon, cos_lat,cos_lat * cos_lon, cos_lat * sin_lon, sin_lat;// clang-format onEigen::Vector3d diff_ECEF gps_ECEF - origin_ECEF_;Eigen::Vector3d xyz_ECEF rot * diff_ECEF;xyz xyz_ECEF[0], xyz_ECEF[1], xyz_ECEF[2];return true; }以上。
http://www.sadfv.cn/news/3922/

相关文章:

  • iis7.5 网站打不开网站建设的中期检查表
  • 网站关键字被百度收录设计图网址
  • 家装网站建设公司本周的重大新闻
  • 写作网站投稿平台六安市紧急公告
  • 企业网站推广优化如何制作一个属于自己的网站
  • 正规漫画网站开发流程网站域名注册步骤
  • 软件开发和网站开发区别济南网站建设新风向
  • 大连建网站不用php做网站
  • 网站设置为默认主页有限公司企业网站建设方案
  • 做dm素材网站wordpress投票主题
  • 中国建设银行云南省分行官方网站重点专业建设网站 建设方案
  • 做推文的网站的推荐建设工程信息平台官网
  • 信息公司网站建设方案+游戏给公司创建网站
  • 大型服装网站建设企业网站强制备案
  • 怎么找网站后台侵权网站怎么做
  • wap网站开发公司广州建设局
  • 做网站编辑好还是推广好wordpress error log
  • 做微信小程序的网站网站怎么做全站搜索
  • 石家庄建网站小白如何做网站建设公众号
  • 网站开发中背景图片怎么弄全屏app制作图片
  • 4a景区网站建设标准金华网站如何制作
  • 安徽中兴建设工程有限公司网站合肥网站建设新手
  • 网站静态化 好处广州公司注册场地要求
  • 推广网站推荐培训网站项目ppt怎么做
  • 网站备案 超链接网站规划的主要任务是什么
  • 河南省大型项目建设办公室网站wordpress外贸主题免费
  • 网站设计术语网站建设方案免费下载
  • 创新建设资金网站wordpress标签加标题
  • 广州网站建设哪个好徐州做网站的设计师
  • 高校网站如何建设查找网站开发者