栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++:读取gson格式的点坐标

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++:读取gson格式的点坐标

该代码可以读取(x,y)或者(X,Y,Z)格式,自己可以根据自己的需要进一步修改结构体,话不多说,直接上代码:

//读取json文件获取坐标
	const char* file_name = "E:\digrid_application\proj_file\neighbor\cells.geojson";
	geojson_t geojson;
	geojson.convert(file_name);
	std::cout << std::endl;

	//需要对轨迹点进行重新排序
	sort(tracList, tracList + model_out->rowCount(), MyCompare_seqnum());;
	//render geojson
	size_t size_features = geojson.m_feature.size();
	for (size_t idx_fet = 0; idx_fet < size_features; idx_fet++)
	{
		feature_t feature = geojson.m_feature.at(idx_fet);

		size_t size_geometry = feature.m_geometry.size();
		for (size_t idx_geo = 0; idx_geo < size_geometry; idx_geo++)
		{
			geometry_t geometry = feature.m_geometry.at(idx_geo);
			size_t size_pol = geometry.m_polygons.size();

			for (size_t idx_pol = 0; idx_pol < size_pol; idx_pol++)
			{
				polygon_t polygon = geometry.m_polygons[idx_pol];
				size_t size_crd = polygon.m_coord.size();
				tracList[idx_fet].boundaryPoint = new GeodeticPoint[polygon.m_coord.size() - 1];
				tracList[idx_fet].boundaryPointNums = polygon.m_coord.size() - 1;

				if (size_crd == 0)
				{
					continue;
				}

				for (size_t idx_crd = 0; idx_crd < size_crd-1; idx_crd++)
				{
					tracList[idx_fet].boundaryPoint[idx_crd].m_longitude = polygon.m_coord[idx_crd].x;
					tracList[idx_fet].boundaryPoint[idx_crd].m_latitude = polygon.m_coord[idx_crd].y;
				}
			}  //idx_pol
		} //idx_geo
	} //idx_fet

其中需要的相关头文件我放在这里:
gson相关头文件下载

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/990770.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号