Я пытаюсь понять некоторую логику и реализацию векторной плитки на открытых слоях (6.3.1). У меня есть 2 слоя, которые просто не накладываются друг на друга, как показано на скриншоте ниже. Я рассмотрел несколько примеров, но они только увеличивают мои технические сомнения, и путаница здесь заключается в системе:
- Векторный тайловый сервер
Сервер Tegola (gospatial/tegola:v0.10.4
) с параметрами по умолчанию (тайлы в 256
пикселях? Размер исходных данных srid=4326
и SQL SQL:FROM XXX.XXX WHERE geom && !BBOX!
)
Описание уровня сервера находится здесь: http://tiles.isric.org/capabilities/wosis.json
- WMS сервис
Сервис WMS: http://maps.isric.org/mapserv?map=/map/soc.map
- Пример выполнения
Пример полного кода в jsfiddle: https://jsfiddle.net/jorgejesus/vt6qndrw/1/
- Части кода:
Итак, для сервера тегола у меня есть что-то вроде этого:
var tegola_layer = new ol.layer.VectorTile({
source: new ol.source.VectorTile({
format: new ol.format.MVT(),
projection: 'EPSG:4326',
url: 'https://tiles.isric.org/maps/wosis/{z}/{x}/{y}.pbf?debug=true',
tileGrid: new ol.tilegrid.WMTS({
tileSize: [256,256],
resolutions:resolutions, //from above check jsfiddle
origin: [-180,90.0],
})
})
})
А для WMS:
var wms_layer = new ol.layer.Tile({
source: new ol.source.TileWMS({
projection: 'EPSG:4326',
url: 'http://maps.isric.org/mapserv?map=/map/soc.map',
params: {
'LAYERS':'soc_0-5cm_mean',
crossOrigin: 'anonymous',
'TILED': true
},
})
})
Наконец, вид OL 6:
var map = new ol.Map({
layers: [
tegola_layer,
wms_layer
],
target: 'map',
view: new ol.View({
center: [-76.275329586789, 22.153492567373],
extent: ol.proj.get("EPSG:4326").getExtent(),
zoom: 5,
projection: "EPSG:4326"
})
});
У меня есть изображение ниже как окончательный результат кода, Западной Европе было бы очень приятно наслаждаться теплыми водами Мексиканского гольфа, но это не моя цель.
Пожалуйста, попросите совета и разъясните, в чем проблема, я считаю, что документы по векторным плиткам очень разрознены, и у меня могут быть некоторые недоразумения по сеткам.