Flamingo MapComponents

Een ArcGis CachedMap Tiling layer toevoegen

Een ArcGis CachedMap Tiling layer toevoegen

Tiling ondersteuning voor ArcGis is pas beschikbaar vanaf commit: 668 en zal dus als officiele release in flamingo 3.2.2 beschikbaar zijn.
Een onofficiele 3.2.1_snapshot_668 release is te vinden op:

http://svn.flamingo-mc.org/trac/wiki/DownloadSection

Voorbeeld:

http://documentation.flamingo-mc.org/flamingo_demo/flamingo.html?config=config_tiling_arc.xml

Verzamelen benodigde informatie

Om een ArcGis tiling layer in te stellen moet je een aantal dingen weten:

  1. De url naar de service

  2. De resoluties van de verschillende tiling nivo's als komma gescheiden lijst.

  3. De BBox van de service (wat wordt er gedekt met de getilde service)

  4. De tile grote (de grote in aantal pixels van een enkele tile)

 

Voor Arcgis zijn al deze parameters te vinden op de pagina van de mapservice. Bijvoorbeeld:

http://testgisopenbaar2.overijssel.nl/ArcGIS/rest/services/ondergronden/ondergrond_beige/MapServer

 

Onderaan de pagina is alle info te vinden onder 'Tile Info:'

 

1. De url naar de service.

Meestal is te tile set te vinden op /tile/ achter de mapserver url. Dus voor ons voorbeeld:

http://testgisopenbaar2.overijssel.nl/ArcGIS/rest/services/ondergronden/ondergrond_beige/MapServer/tile/

Wil je hier zeker van zijn doe dan het volgende:

Klik op een willekeurige 'Start Tile' link op de pagina.

Er wordt dan een plaatje geopend. De link naar dat plaatje is belangrijk, bijvoorbeeld:

http://testgisopenbaar2.overijssel.nl/ArcGIS/rest/services/ondergronden/ondergrond_beige/MapServer/tile/0/0/0

Je kan hier x/x/x (waar x een willekeurig getal is)er afhalen, dan hou je de url naar de tiling service over dus:

http://testgisopenbaar2.overijssel.nl/ArcGIS/rest/services/ondergronden/ondergrond_beige/MapServer/tile/

2. De resoluties van de verschillende tiling nivo's als komma gescheiden lijst.

Met resolutie wordt bedoelt: Het aantal "Map-Units" (in het geval van EPSG:28992 dus meters) per pixel.

Op de "Mapserver" pagina van de service zijn deze per level te vinden:

Deze getallen zijn zo groot omdat in het voorbeeld de tiling lagen zijn ingericht op basis van schalen dus level 0 is bijvoorbeeld 1:600 000. Dit zorgt er voor dat je geen mooie getallen krijgt bij de resolutie.

In ons voorbeeld zal de lijst met resoluties dus zijn:

158.750317500635, 145.521124375582, 132.291931250529, 119.062738125476, 105.833545000423, 92.6043518753704, 79.3751587503175, 66.1459656252646, 52.9167725002117, 39.6875793751588, 26.4583862501058, 21.1667090000847, 17.1979510625688, 13.2291931250529, 9.26043518753704, 6.61459656252646, 3.96875793751588, 2.64583862501058, 1.32291931250529, 0.264583862501058, 0.132291931250529

Het is niet nodig om alle resoluties op te nemen. Je kan ook alleen de gewenste resoluties opnemen in de lijst. Voor optimaal gebruik moet het wel zo zijn dat de resoluties die gekozen zijn voorkomen op de pagina.

De resoluties moeten altijd van groot naar klein worden opgenomen.

Puur technisch zou het handiger zijn om de tiling nivo's op basis van Resoluties te maken zodat er niet van die lange getallen worden gevormd.

3. De BBox van de service.

De bbox van de service geeft aan wat het gebied is dat gedekt wordt door deze tiling service. Deze kan worden gevonden op de 'Mapserver' pagina van ArcGis onder het kopje "Full Extent":

De bbox form je door "xmin,ymin,xmax,ymax".

Dus de bbox is in ons voorbeeld is:

"150000,431520,298480,580000"

4. De tile grote

Ook de tile grote is te vinden op de "mapserver" pagina:

In dit voorbeeld is de tile grote in pixels dus 512x512.

Configureren Flamingo-mc

Om een tiling layer te configureren in Flamingo-mc moet je een stukje XML toevoegen aan de <Map>:

<fmc:TilingLayer id="ondergrond" serviceurl="[SERVICEURL]" resolutions="[RESOLUTIE LIJST]" serviceenvelope="[BBOX TILING SERVICE]" type="arcgisrest" tileheight="[TILE HOOGTE]" tilewidth="[TILE BREEDTE]"></fmc:TilingLayer>

De dik gedrukte stukken tekst tussen '[' en ']' moeten worden vervangen door de eerder opgezochte informatie:

[SERVICEURL] = de url naar de service (punt 1)

[RESOLUTIE LIJST]= De komma gescheiden lijst met resoluties (punt 2)

[BBOX TILING SERVICE] = De bbox van de service (punt 3)

[TILE HOOGTE]= De hoogte van een tile in pixel (punt 4)

[TILE BREEDTE]= De breedte van een tile in pixel (punt 4)

 

In ons voorbeeld zal het stukje xml er dus als volgt uit komen te zien:

<fmc:TilingLayer id="ondergrond" serviceurl="http://testgisopenbaar2.overijssel.nl/ArcGIS/rest/services/ondergronden/ondergrond_beige/MapServer/tile/" resolutions="158.750317500635,145.521124375582,132.291931250529,119.062738125476,105.833545000423,92.6043518753704,79.3751587503175,66.1459656252646,52.9167725002117,39.6875793751588,26.4583862501058,21.1667090000847,17.1979510625688,13.2291931250529,9.26043518753704,6.61459656252646,3.96875793751588,2.64583862501058,1.32291931250529,0.264583862501058,0.132291931250529" serviceenvelope="150000,431520,298480,580000" type="arcgisrest" tileheight="512" tilewidth="512">

</fmc:TilingLayer>

Het veld "type" is ook erg belangrijk. Hiermee wordt aangegeven dat het een ArcGis Map Cache Tiling service is op basis van een REST api.

Optimalizeren

Flamingo is zo gebouwd dat het default werkt met vrije zoom schalen. Dat wil zeggen dat je vrij bent om te zomen naar een bepaalde resolutie en dat die resoluties niet vast liggen. Met de tiling layer is dit ook mogelijk. Als de door de gebruiker gekozen resolutie tussen 2 tiling nivo's ligt haalt de tiling layer het meest gedetaileerde nivo van de 2 op en verkleind de tiles (resampling) zodat ze op de goede locatie komt. Er worden dus ook meer tiles opgehaald dan als je precies op een aangeboden resolutie de tiles ophaalt.

De vraag is of je dit moet willen. Om optimaal gebruik te maken van Tiling wil je juist niet dat de plaatjes groter/kleiner worden gemaakt maar op de juiste grote worden getoond. Je hebt namelijk niet voor niks alle nivo's van tiling gedefineerd in de service en de plaatjes worden minder mooi doordat ze verkleind worden.

Je kan flamingo zo instellen dat je gebruik maakt van vaste zoom nivo's zie:

Vaste zoomschalen/ resoluties instellen

 

Recente Reacties

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