Flamingo MapComponents

Tiling op basis van WMS service (WMS-c)

Tiling op basis van WMS service (WMS-c)

<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" /> <title></title> <meta name="GENERATOR" content="OpenOffice.org 3.1 (Win32)" /> <style type="text/css"><!-- &lt;! @page { margin: 2cm } P { margin-bottom: 0.21cm } &gt; --></style>

In deze wiki wordt uitgelegd hoe de tiling layer is te gebruiken in combinatie met een normale WMS service (WMS-c). Het voordeel hiervan is dat de kaart in kleine gedeeltes wordt opgehaald. Tevens kan de client deze cachen (mits de juiste headers worden geset door de service). Er wordt niet gecached aan de server kant!

Voordat service kan worden geconfigureerd in flamingo moeten we een aantal gegevens van de server weten. Als voorbeeld nemen we de Kaartenbalie Public WMS service:

http://public-wms.kaartenbalie.nl/wms/nederland

Als we de getCapabilities openen zien we volgens de WMS standaard een aantal gegevens die we nodig hebben voor het configureren van de TMS layer in flamingo.

  • BoundingBox van de service dus de bovenste layer (serviceenvelope)

  • Layers

De resoluties moeten we zelf bepalen/berekenen. Dit is eigenlijk heel makkelijk. De resolutie is het aantal mapunits per pixel. Dus in ons geval met srs EPSG:28992 meters per pixel. We willen beginnen met als hoogste level 1 tile voor de gehele service.
– We gaan er even van uit dat we tiles willen hebben van 256 bij 256.

– Volgens de getCapabilities is de totale bbox van de service: 12000,304000,280000,620000.

Dit betekent dat voor de breedte ( 280000 – 12000 ) / 256 = 1046.875

Voor de hoogte betekent dit: ( 620000 – 304000 ) / 256 = 1234.375

We pakken hiervan de hoogste (minst gedetaileerde) zodat beide passen in een tile van 256 x 256.

Daarna bepalen we voor ons zelf de de zoomscalefactor. Bijvoorbeeld 2 en zo maken we de gewenste resoluties:

De eerste zal dus zijn 1234.375

De tweede (1234.375/2) 617.1875

De derde (617.1875/2) 308.59375

etc....

We bepalen zelf hoeveel resoluties we willen.

Als we deze gegevens invullen in onze Tiling Layer krijgen we het volgende stukje XML:

<fmc:Map....>
.....
<fmc:TilingLayer id="publickb" serviceurl="http://public-wms.kaartenbalie.nl/wms/nederland" resolutions="1234.375,617.1875,308.59375,154.296875,77.1484375,38.57421875,19.287109375,9.6435546875,4.82177734375,2.410888671875,1.2054443359375,0.60272216796875,0.301361083984375,0.1506805419921875,0.07534027099609375,0.037670135498046875,0.018835067749023438,0.0094175338745117188,0.0047087669372558594,0.0023543834686279297" serviceenvelope="12000,304000,280000,620000" type="wmsc">

<TilingParam name="Layers">basis,wegen,water</TilingParam>

<TilingParam name="SERVICE">WMS</TilingParam>

<TilingParam name="VERSION">1.1.1</TilingParam>

<TilingParam name="REQUEST">GetMap</TilingParam>

<TilingParam name="STYLES"> </TilingParam>

<TilingParam name="SRS">EPSG:28992</TilingParam>

</fmc:TilingLayer>
......
</fmc:Map>

De width en height hoeven niet ingevuld te worden omdat deze al default op 256 staan.

In de tilinglayer worden wat WMS parameters toegevoegd zoals:

  • De gewenste layers

  • Service WMS

  • Versie van de Service

  • Request GetMap

  • De Styles

  • De SRS

Om het WMS-c tilen te optimalizeren kan er in flamingo voor worden gezorgd dat er vaste resoluties worden gebruikt voor het inzoomen en uitzoomen. Als dit gelijk wordt getrokken met de geserveerde resoluties van de zojuist ingevulde tilling layer wordt de client cache optimaal gebruikt.
Het instellen van vaste zoomlevels kan door aan het Map component een 'minscale' en 'zoomscalefactor' mee te geven. Voor ons voorbeeld zal dit inhouden dat we de minimale gedefineerde resolutie van de service moeten gebruiken als 'minscale' (0.0023543834686279297) en als zoomscalefactor de factor waarmee we de vorige zoomlevel kunnen berekenen. In het voorbeeld zou de zoomscalefactor 2 moeten zijn. Want 2 x de resolutie van zoomlevel N = de resolutie van zoomlevel N-1. (2 x 0.0023543834686279297 = 0.0047087669372558594).

 

Recente Reacties

Plaats de eerste reactie op deze pagina
Copyright © 2006-2009 IPO, GBO-provincies
Stats aangeboden door Mtrack