简介

Ganos Raster 提供了基于GeoServer的插件用于将存储在HBase中的栅格数据发布为符合OGC标准(WMS/WMTS)的服务。该服务分为ganos-raster-image与ganos-raster-cover两个插件。ganos-raster-image的功能是将单个Layer发布为WMS服务,而ganos-raster-cover支持镶嵌数据集,用于将多幅Layer发布为WMS服务,用户可以根据实际需求灵活选择。

使用方法:

以下以SRTM数据为例展示如何将HBase Ganos Raster中的图层发布为WMS服务。假设用户已经在HBase Ganos创建了名为srtm_china的图层。首先下载ganos-raster-image-21.1.jar,下载地址,并保存在HBase Ganos实例的%GEOSERVER_HOME%/WEB-INF/lib目录下。然后启动GeoServer,选择“数据存储”->“添加新的数据存储”:
在新建数据源的栅格数据源中可以看到HBase Ganos Raster 数据集 :
打开连接,配置相关参数:

配置文件中需要指定HBase Ganos的数据源(ZK)与图层名称,样例如下:

<?xml version="1.0" encoding="UTF-8"?>
<ImageMosaicJDBCConfig>
   <config version="1.0">
      <coverageName name="srtm_china" />
      <coordsys name="EPSG:4326" />
      <zkAddress value="你的hbase地址" />
      <!-- interpolation 1 = nearest neighbour, 2 = bipolar, 3 = bicubic -->
      <scaleop interpolation="1" />
   </config>
</ImageMosaicJDBCConfig>

其中coverageName表示要发布的HBase Ganos Raster中的图层名称,coordsys为投影信息,zkAddress为连接HBase Ganos所需要的zookeepers的地址。

点击保存,会发现该数据源中的图层列表,然后可以点击“发布”来发布图层为WMS服务:成功发布后,进入左侧的Layer Preview图层,找到刚刚发布的图层,点击打开查看:
打开OpenLayers,可以看到发布栅格数据的WMS请求效果图,由于我们未配置样式表(SLD文件),所以是以默认的灰度图显示的:

为了实现更好的显示效果,在GeoServer中配置新的SLD,根据高程分层设色:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc"
  xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>gtopo</Name>
    <UserStyle>
      <Name>SRTM</Name>
      <Title>Simple SRTM style</Title>
      <Abstract>Classic elevation color progression</Abstract>
      <FeatureTypeStyle>
        <Rule>
          <RasterSymbolizer>
            <Opacity>1.0</Opacity>
            <ColorMap>
              <ColorMapEntry color="#2a2e7f" quantity="0" label="values" />
              <ColorMapEntry color="#3d5aa9" quantity="500"/>
              <ColorMapEntry color="#4698d3" quantity="1000" label="values" />
              <ColorMapEntry color="#39c6f0" quantity="1500" label="values" />
              <ColorMapEntry color="#76c9b3" quantity="2000" label="values" />
              <ColorMapEntry color="#a8d050" quantity="2500" label="values" />
              <ColorMapEntry color="#f6eb14" quantity="3000" label="values" />
              <ColorMapEntry color="#fcb017" quantity="3500" label="values" />
              <ColorMapEntry color="#f16022" quantity="4000" label="values" />
              <ColorMapEntry color="#ee2c24" quantity="6000" label="values" />
              <ColorMapEntry color="#7d1416" quantity="9000" label="values" />
            </ColorMap>
          </RasterSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>
新的效果如下图所示: