繁体   English   中英

Geoserver 2.10 Openlayers 3 TextSymbolizer标签未显示

[英]Geoserver 2.10 Openlayers 3 TextSymbolizer label not showing up

我是Geoserver和sld的新手。 我的OSM基础层之上有2层。 一种用于创建热图,另一种仅用于标签。 我的热图和基础层渲染良好,但标签文本未显示在openlayers中。 当我在geoserver中预览它时,它显示得很好,但是当我尝试使用javascript渲染时,它仅在缩小时显示。 我似乎在网上找不到有关此问题的任何信息。

这是SLD:

   <FeatureTypeStyle>
        <Rule>
          <Name>AQI text</Name>
          <Title>AQI Text</Title>
          <Abstract>AQI information</Abstract>
           <TextSymbolizer>
              <label>
                  <ogc:PropertyName>aqi</ogc:PropertyName>
            </label>
         </TextSymbolizer> 
        </Rule>
      </FeatureTypeStyle>

这是geoserver上的预览快照:

在此处输入图片说明

这是javascript openlayers代码:

var londonLonLat = [-0.118092, 51.509865];
    var londonWebMercator = ol.proj.fromLonLat(londonLonLat);

    var layers = [
        new ol.layer.Tile({
          source: new ol.source.OSM()
        }),
        new ol.layer.Image({
          //extent: [-13884991, 2870341, -7455066, 6338219],
          source: new ol.source.ImageWMS({
            url: 'http://159.203.81.20:8080/geoserver/wms',
            params: {'LAYERS': 'tiger:shapefile'},
            serverType: 'geoserver'
          })
        }),

        new ol.layer.Image({
          //extent: [-13884991, 2870341, -7455066, 6338219],
          source: new ol.source.ImageWMS({
            url: 'http://159.203.81.20:8080/geoserver/wms',
            params: {'LAYERS': 'test2:test_text_layer'},
            serverType: 'geoserver'
          })
        })
      ];
      var map = new ol.Map({
        layers: layers,
        target: 'map',
        view: new ol.View({
          center: londonWebMercator,
          zoom: 10
        })
      });

这是页面的快照:

在此处输入图片说明

这是缩小的快照:

在此处输入图片说明

通过更改投影对其进行了修复:

在此处输入图片说明

通过将预定义的边界点(例如锚点)添加到数据库中,然后将这些点作为我的边界框输入到geoserver中,解决了类似的问题:

  • 创建4个点(例如: 北,南,东,西 ),这将定义一个足够大的框以适合内部所有数据的可视化。
  • 在geoadmin中,找到您的图层bounding box然后选择“根据数据计算”。
  • sld您可以定义规则以使那些边界点不可见。

这将重新计算边界框,地理服务器将在其中显示任何投影中的数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM