查看: 3555|回复: 3

osgEarth使用影像高程数据

[复制链接]

该用户从未签到

发表于 2017-4-19 17:03:15 | 显示全部楼层 |阅读模式
数据集栅格数据高程数据
  • ETOPO1- 分辨率为 1 弧分的全球地形起伏模型,其包含了陆地地形和海洋水深的数据
  • SRTM- 全球250m高程
矢量数据
  • OpenStreetMap- 全球范围,由开源社区维护的街道和陆地数据(矢量和栅格数据)
其他数据集数据处理投影坐标构建
网上下载的地图数据有些是没有投影坐标信息的,或者是其他坐标系的(例如UTM),我们可以使用常用的GIS工具进行修改。这里用ETOPO1的高程数据演示:
使用Global Mapper打开ETOPO1_Ice_g_geotiff.tif文件
设置投影参数,Projection: Geographic (Latitude/Longitude),Datum: WGS84, Panar Units: ARC DEGREES
加载后选择导出为高程网格格式->GeoTIFF,导出参数可以就使用默认,导出后就是投影坐标做了处理的GeoTiff高程数据了
VPB数据页数据制作
VPB数据页数据使用osgdem工具进行制作,这里使用NASA的影像BlueMarble和ETOP1的高程作为例子
osgdem.exe --bluemarble-west -t E:\MapData\NASA\land_shallow_topo_west.tif --bluemarble-east -t E:\MapData\NASA\land_shallow_topo_east.tif -d E:\MapData\SRTM\SRTM_W_250m_TIF\SRTM_W_250m.tif -d E:\MapData\SRTM\SRTM_SE_250m_TIF\SRTM_SE_250m.tif -d E:\MapData\ETOPO1\ETOPO1_Ice_g_geotiff.tif terrain --geocentric -l 10 -o E:\MapData\ETOPO1\earth.ive
osgdem参数说明:
osgdem.exe --help Usage: osgdem [options] filename ... Options: --HEIGHT_FIELD 创建高程数据 --LOD 创建LOD数据 --POLYGONAL 创建高程数据field database --PagedLOD 创建LOD数据页 --RGB-16 16位图像 --RGB-24 24位图像 --comment 往顶部点炮的文件加一个注释描述什么的 --compressed 使用OpenGL压缩图像 --cs 设置坐标系统(译者注:关于坐标系统,最后有述),字串必须格式正确(GDAL/OGR forms, complete WKT, PROJ.4,EPS) --max-anisotropy 定义纹理显示级别,默认为1.0 --max-visible-distance-of-top-level 设置最大视距 --mip-mapping-hardware 使用mipmaps,保证有相应数据在指定位置上。 --mip-mapping-imagery 使用mipmaps,且在图像中产生mipmaps . --no-mip-mapping 不对纹理使用mipmaps. --radius-to-max-visible-distance-ratio 设置最大的可视距离比率。 --skirt-ratio 设置边缘比率 --tile-image-size 设置单片图片大小 --tile-terrain-size 设置单片地形大小 --wkt 为图或是dem设置坐标的系统(in WellKownText form.) --wkt-file 用文件来完成上面的操作 -d 指明要处理的高程图 -e 产生的模型尺寸范围 -h or --help 演示帮助信息 -l 设置LOD等级 -m 设置要处理的模型文件 -o 设置输出的模型文件 -t 指明要处理的纹理文件 -v 设置垂直增率
osgdem可以使用patch的功能构建局部的高清数据,例如:
osgdem.exe --patch F:/VPB/out.ive -t ./Texture/1.tif -t ./Texture/2.tif -t ./Texture/3.tif -t ./Texture/4.tif
在osgEarth使用vpb驱动加载ive瓦片数据,vpb.earth文件:
<!-- osgEarth Sample - GDAL DriverDemonstrates the simplest possible use of the GDAL driver to load a GeoTIFF image.--><map version="2">    <image name="imagery" driver="vpb">        <url>srtm.ive</url>    </image>    <heightfield name="etopo1" driver="vpb">        <url>srtm.ive</url>    </heightfield>    <ocean driver="triton">        <user>my_user_name</user>        <license_code>my_license_code</license_code>        <max_altitude>50000</max_altitude>    </ocean>    <options>        <lighting>false</lighting>    </options></map>使用osgearth_package制作TMS瓦片
命令行:
osgearth_package.exe --tms E:\MapData\ETOPO1\ice_surface\grid_registered\etopo1_g.earth --max-level 10 --ext tif --out E:\MapData\ETOPO1\
etopo1_g.earth文件:
<map name="ETOPO1" version="2">    <heightfield name = "etopo1_g" driver = "gdal"> // 最终数据的目录名就叫etopo1_g        <url>ETOPO1_Ice_g_geotiff_reprojected.tif</url>  </heightfield></map>
osgearth_package常用参数说明:
--tms:切割完成后,生成tms.xml,用于tms的发布。--max-level 20 :最高切割多少级别。这里描述最高切割20级,也就是0~19。--out :生成的结果存放路径。使用SxEarth下载免费地图数据
SxEarth官网下载最新版客户端
部署瓦片服务使用HTTP服务器部署TMS瓦片服务
TMS瓦片服务只需启用目录浏览和MIME类型即可(在Windows下使用共享文件的方式也可以实现瓦片服务),这里使用IIS实例:
创建网站,并绑定到地图数据文件夹
设置目录浏览,点击启用
设置MIME类型,添加.*
在.earth文件中添加image或elevation/heightfield标签时,url中填入影像或高层的tms.xml URL路径即可
<image name="googleearth" enabled="true" min_level="4"  driver="tms">    <url>http://127.0.0.1/MapData/GoogleEarth/tms.xml</url></image>

该用户从未签到

发表于 2017-7-11 17:25:15 | 显示全部楼层
我试了一下,报错,可以看我的帖子,求帮助

该用户从未签到

发表于 2017-4-28 11:28:57 | 显示全部楼层
多谢楼主提供如此详细的数据使用教程
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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