我正在使用GeoServer保存一些地图,并只使用一个简单的OpenLayers应用程序来加载和显示数据(目前)。
我成功地加载了演示数据(在WGS84中),但当涉及到我的数据(在巴尔干地区7,EPSG:31277)时,当我查看请求时,它似乎完全乱了序。
我从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,分辨率,显然我在这里遗漏了更多的东西。我使用的是来自QuantumGIS的层,GeoServer运行得很好。
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,但这并没有太大的改变。
发布于 2013-01-15 16:52:03
看起来已经解决了。我设置的是正确的属性,但设置的是WMS图层对象,而不是地图对象。至于边界问题,我只是从geoserver控制面板复制边界。
https://stackoverflow.com/questions/14325250
复制相似问题