【问题标题】:OpenLayers Map BoundingBox calculationOpenLayers Map BoundingBox 计算
【发布时间】:2013-01-14 19:30:07
【问题描述】:

我正在使用 GeoServer 来保存一些地图,并且只是一个简单的 OpenLayers 应用程序来加载和显示数据(目前)。

我已成功加载演示数据(位于 WGS84 中),但当涉及到我的数据(位于巴尔干 7 区,EPSG:31277)时,当我查看请求时,它似乎是 BBOX完全不正常。

我从 GeoServer 预览页面(使用 openLayers 制作)检查了 BBOX,它看起来像这样,并且可以正常工作:

http://127.0.0.1:2113/geoserver/GISHome/wms?LAYERS=GISHome%3ANis11Katastar&STYLES=&FORMAT=image%2Fjpeg&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&SRS=EPSG%3A31277&BBOX=7572000,4796000,7574000,4798000&WIDTH=512&HEIGHT=512

与我的请求唯一不同的是 BBOX。将 BBOX 复制到我的请求中时,它可以工作。

http://127.0.0.1:2113/geoserver/wms?LAYERS=Nis11Katastar&FORMAT=image%2Fpng&WIDTH=256&HEIGHT=256&PROJECTION=EPSG%3A31277&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=-180,-90,0,90

在 GeoServer 源中,边界以某种方式计算和硬编码。问题是,怎么做?有没有办法不对它们进行硬编码?我应该如何计算它们。我已经尝试添加边界、maxExtent、分辨率,我显然在这里错过了更多的东西。 GeoServer 工作正常,我正在使用来自 QuantumGIS 的图层。

Ext.onReady(function() {
    var map = new OpenLayers.Map();
    var layer = new OpenLayers.Layer.WMS(
        "Global Imagery",
        "http://127.0.0.1:2113/geoserver/wms",
       {  
        LAYERS:'Nis11Katastar',
        format: 'image/png',
        width:600,
        height:400,
        projection: new OpenLayers.Projection("EPSG:31277"),
        }
    );

谢谢。

哦,是的,我正在使用 GeoExt,但这并没有太大变化。

【问题讨论】:

    标签: javascript extjs gis openlayers geoserver


    【解决方案1】:

    似乎解决了。我设置了正确的属性,但设置了 WMS 图层对象,而不是地图对象。至于边界问题,我只是从地理服务器控制面板复制边界。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-24
      • 1970-01-01
      • 1970-01-01
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 2012-05-06
      相关资源
      最近更新 更多