#使用数据
osgEarth可以加载多种不同的开放式标准数据格式的图像、高程数据和矢量要素。请继续阅读,了解有关准备数据以获得最佳结果的提示。
##准备您的数据
osgEarth需要将源数据切成网格的“平铺”以供显示。您通常可以不经过预处理直接从源加载数据,但是如果数据没有优化,可能会很慢!因此,在使用大型数据集时,稍微进行一些预处理通常是个好主意。
首先直接加载您的数据。如果够快,你就可以走了!否则,这里有一些针对平铺访问优化数据的提示。有两种方法可以解决这个问题:优化GeoTIFF或构建分块集。我们还将讨论如何将装满数据的文件夹合并到单个层中,以便在osgEarth中使用。
#优化GeoTIFF
GeoTIFF是本地图像或高程数据最常用的格式。以下是您可以采取的一些步骤来加快osgEarth访问GeoTIFF的速度。
#重新投影您的图像
如果osgEarth没有必要的坐标系,它会将您的数据重新投影到飞翔上。例如,如果你试图在一个大地测量球(epsg:4326)上查看一张utm图像,osgEarth需要在飞翔上进行转换--但是事先离线转换会更快。
您可以使用任何想要重新投影数据的工具,例如GDAL、Global Mapper或ArcGIS。
例如,要使用将UTM图像重新投影到大地测量 `gdal_warp
: `` gdalwarp -t_srs epsg:4326 my_utm_image.tif my_wgs84_image.tif `` `
#构建内部分片通常采用GeoTiff等格式,将像素数据存储在扫描线中。但是,由于osgEarth内部使用平铺的方式,使用平铺数据集对于osgEarth来说会更高效。
使用创建平铺GeoTiff的步骤 `gdal_translate
,发出以下命令: `` gdal_translate -of GTiff -co TILED=YES input.tif output.tif `` `
更进一步,使用压缩来节省空间。如果数据不包含透明度,则可以使用内部JPEG压缩: ``` gdal_translate -of GTiff -co TILED=YES -co COMPRESS=JPG input.tif output.tif `` `
#构建概述添加概述(也称为“金字塔”或“RSET”)有时可以提高osgEarth中大型数据源的性能。您可以使用 [加达拉多] (用于向数据集添加概视图的http://gdal.org/gdaladdo.html)实用程序: ``` gdaladdo -r average myimage.tif 2 4 8 16 `` `
#要素数据的空间索引大型矢量要素数据集(如shapefile)将从空间索引中获益良多。使用 `ogrinfo
`工具(包含在GDAL/OGR二进制分发版中)您可以为矢量数据创建空间索引,如下所示:
`
ogrinfo -sql "CREATE SPATIAL INDEX ON myfile" myfile.shp
`
对于shapefiles,这将生成一个包含空间索引信息的“.qix”文件。
#构建平铺集预先平铺您的图像可以显著加快加载速度,特别是在网络上。事实上,如果您想通过网络提供数据服务,这是唯一的方法!
[osgearth_conv](osgearth_conv.md) 是osgEarth附带的命令行转换工具。该工具的一个有用应用是以平铺格式平铺大型GeoTIFF(或其他输入)。注意:此方法仅适用于支持写入的驱动程序(MBTiles、TMS)。
要制作便携MBTiles文件,请执行以下操作: ``` osgEarth_conv--在驱动程序GDALImage中--在url myLargeFile.tif中
--输出驱动程序MBTilesImage--输出文件名myData.mbiles--输出格式jpg
如果要从Web服务器提供切片,请使用TMS: ``` osgEarth_conv--在驱动程序GDALImage中--在url myLargeData.tif中
--out驱动程序TMSImage--out url myLargeData/tms.xml--out格式jpg
这将产生一个文件夹(在本例中称为“myLargeData”),您可以在任何标准Web服务器(如Apache)后面的Web上部署该文件夹。
Tip: 这个 jpg 格式不支持透明度。如果您的数据具有Alpha通道,请使用 png 取而代之的是。
只需键入即可 `osgearth_conv
查看完整的选项列表。这个 `--in 和 --out 选项直接对应于通常包含在Earth文件中的特性。
#加载文件目录
有时,您拥有的数据将由许多组成单个数据集的单独文件组成。DTED高程数据就是一个常见的示例。不要将每个单独的文件作为单独的层加载到osgEarth中,最好将它们组合成一个“虚拟”数据集。
使用GDAL [gdalbuildvrt
] (用于创建VRT.的https://gdal.org/programs/gdalbuildvrt.html)实用程序。VRT是将多个文件组合成单个数据源的“虚拟格式”。
假设您有一个装满“.dt1”文件的文件夹。您可以创建单个图层,如下所示: ` gdalbuildvrt output.vrt *.dt1 `` ‘现在您只需加载 ``output.vrt
直接在osgEarth中,如下所示: ``` <GDALElevation name=“我的DTED数据”>
<url>output.vrt</url><vdatum>egm96</vdatum>
##哪里可以找到数据
帮助我们将有用的免费可用数据源添加到此列表中。使用第三方数据时,请务必检查提供商的归属和分发要求!
栅格数据
[ReadyMap.org] (http://readymap.org/)-15m图像,90m海拔,以及面向osgEarth开发人员的街道瓷砖。免费仅用于开发和演示目的。
[美国地质勘探局国家地图] (http://nationalmap.gov/viewer.html)-美国的高程、正射影像、水文地理、地理名称、边界、交通、结构和土地覆盖产品。
[美国宇航局蓝色大理石] (http://visibleearth.nasa.gov/view_cat.php?categoryID=1484)-美国国家航空航天局的全球图像(包括地形图和水深图)
[天然地球] (不含http://www.naturalearthdata.com/)的各种比例的矢量和栅格地图数据
[Bing地图] (http://www.microsoft.com/maps/choose-your-bing-maps-API.aspx)-微软的全球图像和地图数据(美元)
高程数据
[CGIAR] (http://srtm.csi.cgiar.org/)-世界90米高程数据来源于地球物理TM和ETOPO(CGIAR欧洲镜像)
[GEBCO] (http://www.gebco.net/)-海洋总水深图
特征数据
[OpenStreetMap] (http://openstreetmap.org/)-全球、社区来源的街道和土地利用数据(矢量和栅格化瓷砖)
[天然地球] (不含http://www.naturalearthdata.com/)的各种比例的矢量和栅格地图数据
[DIVA-GIS] (任何国家/地区的不含http://www.diva-gis.org/gData)的低分辨率矢量数据