首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Geoserver 2.10 Openlayers 3 TextSymbolizer标签未出现

Geoserver 2.10 Openlayers 3 TextSymbolizer标签未出现
EN

Stack Overflow用户
提问于 2017-02-02 20:26:03
回答 2查看 1.2K关注 0票数 1

我对geoserver和sld很陌生。我有2层在我的OSM基础层之上。一个用于创建热图,另一个用于标签。我的热图和基本层呈现得很好,但是标签文本没有显示在开始层中。当我在geoserver中预览它时,它显示得很好,但是当我试图在javascript中呈现它时,它只显示在缩放上。我似乎在网上找不到关于这个问题的任何东西。

以下是SLD:

代码语言:javascript
复制
   <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第一层代码:

代码语言:javascript
复制
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
        })
      });

下面是页面的快照:

下面是放大的快照:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-20 11:18:13

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

  • 创建4个点(例如:北、南、东、西),它将定义一个足够大的框,以满足所有数据在内部的可视化。
  • 在geoadmin中,找到您的层bounding box并从数据中选择计算。
  • 在您的sld中,您可以定义一条规则,使这些边界点不可见。

这将重新计算geoserver将在任何投影中显示数据的边界框。

票数 1
EN

Stack Overflow用户

发布于 2017-02-02 21:04:03

通过改变投影来修正它:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42011680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档