无法使用铯在 Geoserver 上获取(找不到合适的 url)Tile 层
Cant get (can't find proper url) for Tile's layer on Geoserver using Cesium
首先,我最近在使用 OpenLayers 和 Cesium。
我在以下位置设置了 Geoserver:
localhost:8200/geoserver
在我的地理服务器上,我的工作区名称为:
SrbijaAdmGranice
并在名称为:
的工作区中分层
SRB_AdministrativneGranice_Level2_3909
当我尝试使用以下代码添加 WMS 图层 - WebMapServiceImageryProvider 时出现什么问题:
var viewer = new Cesium.Viewer('cesiumContainer');
// Add a WMS imagery layer
var imageryLayers = viewer.imageryLayers;
imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider({
url : 'http://localhost:8200/geoserver/wms',
layers : 'SrbijaAdmGranice:SRB_AdministrativneGranice_Level2_3909',
parameters : {
transparent : true,
format : 'image/png'
}
}));
我得到了很好的结果 - 图片如下:
Result Picture
有什么问题。
问题是,我去了我的 Geoserver 中的 Tile Layers,在适当的网格集中使用了 SEED tiles。
当转到 Tile Layers 时,我会得到带有可能的网格集的图层。
当我去预览时,我得到这个 link:
http://localhost:8200/geoserver/gwc/demo/SrbijaAdmGranice:SRB_AdministrativneGranice_Level2_3909?gridSet=EPSG:4326&format=image/png
这个结果:
Result Picture
问题是,当我想添加 WebMapTileServiceImageryProvider 时,我在控制台中得到的结果无法获取 Tile。
这是我使用的代码:
imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({
url : 'http://localhost:8200/geoserver/gwc/service/wms?',
layer : 'SrbijaAdmGranice:SRB_AdministrativneGranice_Level2_3909',
style : 'default',
format : 'image/jpeg',
tileMatrixSetID : '4326', // is this a GridSet Atribute?
maximumLevel: 19,
credit : new Cesium.Credit('U. S. Geological Survey')
})
);
我的问题是 - 正确的 URL 值是什么?
还有其他参数。
我尝试了所有可能的组合。
请帮忙。
我找到了解决方案。事实上,不需要任何并发症。我在 openlayers 3 上看到了一些瓷砖地图的例子。整个故事就在一个参数中 tiled : true, gridset = 'proper grid set' in parameters object
var imageryLayers = viewer.imageryLayers; imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider({ url : 'http://localhost:8200/geoserver/SrbijaAdmGranice/wms', layers : 'SrbijaAdmGranice:SRB_AdministrativneGranice_Level2_3909', parameters : { transparent : true, format : 'image/png', tiled : true, gridSet : 'Serbia 3909' } }));
首先,我最近在使用 OpenLayers 和 Cesium。
我在以下位置设置了 Geoserver:
localhost:8200/geoserver
在我的地理服务器上,我的工作区名称为:
SrbijaAdmGranice
并在名称为:
的工作区中分层SRB_AdministrativneGranice_Level2_3909
当我尝试使用以下代码添加 WMS 图层 - WebMapServiceImageryProvider 时出现什么问题:
var viewer = new Cesium.Viewer('cesiumContainer');
// Add a WMS imagery layer
var imageryLayers = viewer.imageryLayers;
imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider({
url : 'http://localhost:8200/geoserver/wms',
layers : 'SrbijaAdmGranice:SRB_AdministrativneGranice_Level2_3909',
parameters : {
transparent : true,
format : 'image/png'
}
}));
我得到了很好的结果 - 图片如下: Result Picture
有什么问题。
问题是,我去了我的 Geoserver 中的 Tile Layers,在适当的网格集中使用了 SEED tiles。 当转到 Tile Layers 时,我会得到带有可能的网格集的图层。 当我去预览时,我得到这个 link:
http://localhost:8200/geoserver/gwc/demo/SrbijaAdmGranice:SRB_AdministrativneGranice_Level2_3909?gridSet=EPSG:4326&format=image/png
这个结果: Result Picture
问题是,当我想添加 WebMapTileServiceImageryProvider 时,我在控制台中得到的结果无法获取 Tile。
这是我使用的代码:
imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({
url : 'http://localhost:8200/geoserver/gwc/service/wms?',
layer : 'SrbijaAdmGranice:SRB_AdministrativneGranice_Level2_3909',
style : 'default',
format : 'image/jpeg',
tileMatrixSetID : '4326', // is this a GridSet Atribute?
maximumLevel: 19,
credit : new Cesium.Credit('U. S. Geological Survey')
})
);
我的问题是 - 正确的 URL 值是什么? 还有其他参数。
我尝试了所有可能的组合。
请帮忙。
我找到了解决方案。事实上,不需要任何并发症。我在 openlayers 3 上看到了一些瓷砖地图的例子。整个故事就在一个参数中 tiled : true, gridset = 'proper grid set' in parameters object
var imageryLayers = viewer.imageryLayers; imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider({ url : 'http://localhost:8200/geoserver/SrbijaAdmGranice/wms', layers : 'SrbijaAdmGranice:SRB_AdministrativneGranice_Level2_3909', parameters : { transparent : true, format : 'image/png', tiled : true, gridSet : 'Serbia 3909' } }));