Daha çox

Geoserver-dən Openlayers-də wmts qat


Geoserverdə (son stabil) PostGIS məlumatlarından gələn bəzi təbəqələrim var (bunlar PostGIS tipli bir mağazaya aiddir və PostGIS verilənlər bazasından məlumat alır)

Bu təbəqələrdə yalnız WMS parametrləri var, WMTS deyil

Geoserver-də Varsayılan Önbelleğe getdim, WMTS Xidməti artıq aktivdir.

Beləliklə, Openlayer-lərimə getdim və bunu sınadım, beləliklə Geoserver-dən xəritəyə qədər PostGIS əsaslı bir qat əldə edə bilərəm.

var projection = ol.proj.get ('EPSG: 3857'); var textent = ol.proj.transformExtent ([2297128.5, 4618333, 2459120.25, 4763120], 'EPSG: 900913', 'EPSG: 3857'); var projectionExtent = projection.getExtent (); var size = ol.extent.getWidth (projectionExtent) / 256; var qətnamələri = yeni Array (14); var matrixIds = yeni Array (14); for (var z = 0; z <14; ++ z) {// bu WMTS qətnamələri üçün qətnamələr və matrixIds massivləri yaratmaq [z] = size / Math.pow (2, z); matrixIds [z] = z; } var ait = new ol.layer.Tile ({qeyri-şəffaflıq: 0.7, ölçü: mətn, mənbə: new ol.source.WMTS ({url: 'http: // localhost: 8080 / geoserver / mymap / wmts?', qat : 'mymap: planet_osm_polygon, mymap: planet_osm_line, mymap: planet_osm_roads, mymap: planet_osm_point', matrixSet: 'EPSG: 3857', format: 'image / png', proyeksiya: proyeksiya, tileGrid: yeni ol.tilegrid.WMTS ( : ol.extent.getTopLeft (projectionExtent), qətnamələr: qətnamələr, matrixIds: matrixIds}), stil: 'default'})})

planet_osm_polygon,planet_osm_line,planet_osm_ yollarıplanet_osm_ nöqtəson qatı bəstələyirlər. Sadə WMS parametrləri olardıparametrlər: {'LAYERS': 'mymap: planet_osm_polygon, mymap: planet_osm_line, mymap: planet_osm_roads, mymap: planet_osm_point'…lakin, WMTS vəziyyətində bunları necə qurmalı olduğumu bilmirəm, buna görə niyə yerləşdirdimqat

Bu işləmir, mən başa düşürəm

GET http: // localhost: 8080 / geoserver / mymap / wmts? Layer = mymap% 3Aplanet_osm_polygon% 2C% 20mymap% 3Aplanet_osm_line% 2C% 20mymap% 3Aplanet_osm_roads% 2C% 20mymap% 3 &et5 & & .0 & Format = image% 2Fpng & TileMatrix = 9 & TileCol = 286 & TileRow = 196 404 (Tapılmadı)

Yanlış parametrlərdən istifadə edirəm və ya Geoserver PostGIS əsaslı qat üçün WMTS-i dəstəkləmir?


Varsayılan geoserver (geo web cache) WMTS, http://myserver.com:8080/geoserver/gwc/service/wmts?request=getcapabilities saytında mövcuddur. Qabiliyyət sənədini əldə etmək üçün buna bənzər bir url istifadə etməlisiniz və sonra kodunuzun orada elan edilmiş parametrlərlə uyğunluğunu yoxlamaq lazım olduğuna şübhə edirəm.


yeni başlayanlar üçün…

URL-də TileMatrix = EPSG% 3A38579% 3A9 cəhd edin // ESPG: 3857: 9

matrixIds dəyişdirin [z] = z matrixIds [z] = 'ESPG: 3857:' + z (eyni məsələ - bu düzəliş mənim üçün işləyir)

Doğru tilematrix dəstinə istinad etdiyinizə əmin olmaq üçün WMTS Get İmkanlarını yoxlayın (mənim vəziyyətimdə ESPG istifadə edirəm: 900913) və sütun və sətir indeksləri hər dilematrix üçün müəyyən edilmiş hədlərə (zoom səviyyəsi) uyğun gəlir

SLD stilinizin əslində 'defolt' olduğundan əmin olun, yoxsa istək də uğursuz olacaq


Videoya baxın: GeoServer. OpenLayers. Apache (Oktyabr 2021).