WMTS: Web Map Tile Service ile Hızlı Harita Yayını
WMTS (Web Map Tile Service), önceden üretilmiş harita döşemelerini (tile) sunan OGC standardı bir web servisidir. WMS'e kıyasla çok daha hızlı harita yüklemesi sağlar.
WMTS Nedir?
Web Map Tile Service (WMTS), OGC tarafından 2010 yılında standartlaştırılan ve önceden hazırlanmış (pre-rendered) harita döşemelerini HTTP üzerinden sunan bir web servisi protokolüdür. Her döşeme belirli bir zoom seviyesi, satır ve sütun koordinatı ile tanımlanır.
Döşeme (Tile) Kavramı
Harita döşemesi, genellikle 256x256 piksel boyutunda, belirli bir bölgeyi ve zoom seviyesini temsil eden görüntü parçacığıdır. Döşeme piramidi (tile pyramid) yapısında:
- Zoom 0: Tüm dünya tek bir döşemede (256x256px)
- Zoom 1: 4 döşeme (2x2 ızgara)
- Zoom 10: 1.048.576 döşeme (1024x1024 ızgara)
- Zoom 18: Cadde detayları görünür (~0.5m/px)
WMTS ve WMS Karşılaştırması
| Özellik | WMS | WMTS |
|---|---|---|
| Görüntü üretimi | İstek anında (dynamic) | Önceden hazırlanmış (static) |
| Performans | Yavaş (yoğun trafikte) | Çok hızlı (CDN uyumlu) |
| Esneklik | Yüksek (özel CQL filtreler) | Düşük (sabit döşemeler) |
| Depolama | Az | Yüksek (milyonlarca döşeme) |
| Gerçek zamanlı veri | Evet | Sınırlı (yeniden üretim gerekir) |
WMTS İstek Yöntemleri
WMTS iki farklı istek yöntemini destekler:
RESTful (KVP - Key-Value Pair)
https://example.com/geoserver/gwc/service/wmts?
SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile
&LAYER=cbs:iller&STYLE=default
&TILEMATRIXSET=EPSG:900913
&TILEMATRIX=EPSG:900913:8
&TILEROW=88&TILECOL=149
&FORMAT=image/png
RESTful URL Şablonu
https://example.com/gwc/service/wmts/rest/{Layer}/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}?format=image/png
TileMatrixSet: Koordinat Sistemi ve Ölçek Kümesi
TileMatrixSet, döşeme piramidinin koordinat sistemi ve ölçek kümesini tanımlar. En yaygın kullanılanlar:
- GoogleMapsCompatible (EPSG:3857): Web Mercator projeksiyonu. Google Maps, OpenStreetMap ile uyumlu.
- EPSG:4326: Coğrafi koordinatlar (WGS84). OGC tavsiyeli.
- EPSG:5253 vb.: Ulusal projeksiyon sistemleri.
GeoWebCache ile WMTS Üretimi
GeoWebCache (GeoServer'ın entegre önbellekleme modülü), WMS katmanlarını otomatik olarak WMTS döşemelerine dönüştürür:
# GeoWebCache seed komutu - tüm döşemeleri önceden üret
curl -X POST -d @seed.xml "http://localhost:8080/geoserver/gwc/rest/seed/workspace:layer.json" -H "Content-Type: application/json" -u admin:geoserver
MapProxy ile WMTS
MapProxy, hem WMS hem WMTS kaynaklarını önbelleğe alıp dönüştürebilen Python tabanlı bir proxy/önbellekleme çözümüdür. Farklı CRS'ler arasında dönüşüm yapabilmesi büyük avantaj sağlar.
JavaScript Kütüphanelerinde WMTS
OpenLayers
import WMTS from 'ol/source/WMTS';
import WMTSTileGrid from 'ol/tilegrid/WMTS';
import TileLayer from 'ol/layer/Tile';
const wmtsSource = new WMTS({
url: 'https://example.com/geoserver/gwc/service/wmts',
layer: 'cbs:iller',
matrixSet: 'EPSG:900913',
format: 'image/png',
style: 'default',
tileGrid: new WMTSTileGrid({ ... })
});
Leaflet
L.tileLayer('https://example.com/gwc/service/wmts/rest/cbs:iller/' +
'default/GoogleMapsCompatible/{z}/{y}/{x}?format=image/png', {
attribution: 'CBS Akademi'
}).addTo(map);
Türkiye'de WMTS Servisleri
Harita Genel Müdürlüğü (HGM) ve Tapu Kadastro Genel Müdürlüğü (TKGM), ulusal ölçekte WMTS servisleri sunmaktadır. Bu servisler, Türkiye'nin resmi ortofoto ve topografik haritalarına açık erişim sağlamaktadır.
Sonuç
WMTS, yüksek trafikli web harita uygulamalarında WMS'in yerini almaktadır. CDN (Content Delivery Network) üzerinde dağıtılan döşeme önbellekleri, global ölçekte milisaniyeler içinde harita yüklenmesini mümkün kılar. Büyük ölçekli CBS projelerinde WMTS + WFS kombinasyonu (döşemeler için WMTS, sorgulanabilir veri için WFS) en yaygın tercih haline gelmiştir.