首页 文章

OpenLayers Map BoundingBox计算

提问于
浏览
0

我正在使用GeoServer来保存一些 Map ,只是一个简单的OpenLayers应用程序来加载和显示数据(现在) .

我正在成功加载演示数据(在WGS84中),但是当涉及到我的数据(在Balkans Zone 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,但这并没有太大变化 .

1 回答

  • 0

    似乎解决了 . 我正在设置正确的属性,但是设置为WMS图层对象,而不是 Map 对象 . 至于边界问题,我只是从geoserver控制面板复制边界 .

相关问题