查看: 4942|回复: 26

osggem生成的地球,坐标系是怎么样的?

[复制链接]

该用户从未签到

发表于 2008-10-8 21:54:03 | 显示全部楼层 |阅读模式
osggem生成的地球
数据下载地址:
ftp://veftp.gsfc.nasa.gov/bluemarble/land_shallow_topo_east.tif
ftp://veftp.gsfc.nasa.gov/bluemarble/land_shallow_topo_west.tif

命令行:osgdem --bluemarble-west –t land_shallow_topo_west.tif --bluemarble-east -t land_shallow_topo_east.tif --geocentric -l 12 -o earth.ive -a earth.osga

生成地球后装载,考虑地球为圆球,坐标转换方法采用SphereToDescartes()经纬度转换到地心坐标系,把一些图标显示到地球上后,发现位置基本正确,但稍有偏移,请问应该怎么转换?采用什么坐标系?

该用户从未签到

发表于 2008-10-8 23:17:48 | 显示全部楼层
--geocentric 这不是指定了坐标系吗???以地球质心为原点坐标的坐标系~~转换的话,根据你所需要的坐标公式转换一下就可以了,,详细参看坐标系转换~~

该用户从未签到

 楼主| 发表于 2008-10-9 17:15:28 | 显示全部楼层
我是用CoordinateSystemNode::convertLatLongHeightToXYZ转换经纬高到地心坐标系,转换后,所有实体的位置看上去都基本上正确,但稍有偏移。

该用户从未签到

 楼主| 发表于 2008-10-9 17:17:08 | 显示全部楼层
用这个公式效果基本一致是,也是稍有偏移。

//计算公式见:肖业伦.航空航天器建模.北京航空航天大学出版社.2003,
//第4章圆球大地情况下的飞行器的运动方程,第40页
// 地球坐标系(地心坐标系,地心赤道旋转坐标系,中心地球固连坐标系)
// 从经纬高计算空间直角坐标xyz
//SphericalToCartesian
void CoordinateCentralEarth_LonLatH2xyz( double lon, double lat, double alt,
                                                   double& x, double& y, double& z )
{
        const double ReH=EARTH_RADIUS + alt;
        double lon_rad=lon/180.0 *M_PI;
        double lat_rad=lat/180.0 *M_PI;
        z=(ReH)*sin(lat_rad);
        x=(ReH)*cos(lat_rad)*cos(lon_rad);
        y=(ReH)*cos(lat_rad)*sin(lon_rad);
}

该用户从未签到

发表于 2008-10-10 00:25:29 | 显示全部楼层
肯定的,,地球半径那么大,,,一点点误差就是很大的偏移了~~~~可以适当调节一下参数~~~

该用户从未签到

 楼主| 发表于 2008-10-10 12:35:02 | 显示全部楼层
可以适当调节一下参数?这招够狠,回头我试试。

该用户从未签到

发表于 2008-10-10 13:04:03 | 显示全部楼层
:lol :lol 哈哈哈,,,,这是迫不得已之策~~~~~

该用户从未签到

发表于 2008-10-16 17:05:04 | 显示全部楼层
按照楼主的生成的地球很是不规则。问下版主,转换成ive文件以后,在osg程序中读入,怎么得到详细信息?谢谢!


不太明白你的意思??你想得到什么信息???

该用户从未签到

发表于 2008-10-16 23:07:46 | 显示全部楼层
调用getCoordinateSystemNode(),,,,就可以得到了,,,,参见osg::CoordinateSystemNode

该用户从未签到

发表于 2008-10-18 00:35:07 | 显示全部楼层
osgsimulation里面讲到了,你去看看吧~~~~~~

该用户从未签到

发表于 2008-10-19 09:32:38 | 显示全部楼层
原帖由 klch0623 于 2008-10-19 09:26 发表
谢谢sky的耐心帮助,



不用客气,呵呵~~~~~

该用户从未签到

发表于 2008-11-8 13:15:56 | 显示全部楼层
怎么会搞成这样呢??????不知道你采用何种方法生成的????????

该用户从未签到

发表于 2008-11-9 13:19:41 | 显示全部楼层

你是不是自己也进行坐标系转换了啊??????????正常步骤来是不会这样的吧~~~~~~~

该用户从未签到

发表于 2008-11-9 22:02:30 | 显示全部楼层
你详细说一下你的处理过程吧,,,这个是百试不爽的啊。。。。。。。。

该用户从未签到

发表于 2008-11-10 16:37:44 | 显示全部楼层
哎,,,估计你用的是0.91版本吧,,,,,这个时候你查看的时候应该输入osgviewer earth.osga,,,earth.ive只是一个数据页输出路径名,,,,你再试试~~~~~~~~

该用户从未签到

发表于 2008-11-18 02:51:27 | 显示全部楼层
你的那个警告不知道你使用的哪个版本??从警告上看,你这条命令已经没有了,,,我估计是0.97或者是以后其他的版本了。。。。。这个在以后的版本中都注释了,改做成一个maseter页了~~~

该用户从未签到

发表于 2010-12-7 16:51:54 | 显示全部楼层
请问楼主 “把一些图标显示到地球上后,发现位置基本正确,但稍有偏移”,这种类似的信息是怎么加上去的,能详细说一下过程吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表