OruxMaps
Visit the new forum: <a href="http://www.oruxmaps.com/foro">OruxMaps</a>

Join the forum, it's quick and easy

OruxMaps
Visit the new forum: <a href="http://www.oruxmaps.com/foro">OruxMaps</a>
OruxMaps
Would you like to react to this message? Create an account in a few clicks or log in to continue.

WMS: How is the GetCapabilities parsed ?

2 posters

Go down

WMS: How is the GetCapabilities parsed ? Empty WMS: How is the GetCapabilities parsed ?

Post  yip Sat Jan 21, 2012 3:43 pm

Hi

I was wondering how the GetCapabilities was parsed in case of overlaping layers.
I'll try to explain:

Among other things, the GetCap gives information about each layer, and its associated zoom levels (sort of).

What happens when two layers have exactly the same zoomlevels ? which one is displayed by orux ?
Let's put transparency aside, as it is too complicated. orux currently choose one of the two layers and totally discard the second one. it is never visible, at any zoomlevel, as the first one is always the one chosen for display.

can we do something about it ? like overriding the GetCap to force association of certain layers with certain zoomlevel ?

Technically, I suppose oruxmaps rely on the "ScaleHint" information of the GetCap (?)
Both layers have exactly the same <ScaleHint> parameters, so for now, I'm screwed.

any info on how orux deals with this would be much appreciated cheers

jm



yip

Cantidad de envíos : 40
Fecha de inscripción : 2012-01-21

Back to top Go down

WMS: How is the GetCapabilities parsed ? Empty Re: WMS: How is the GetCapabilities parsed ?

Post  orux Sat Jan 21, 2012 5:53 pm

yip wrote:Hi

I was wondering how the GetCapabilities was parsed in case of overlaping layers.
I'll try to explain:

Among other things, the GetCap gives information about each layer, and its associated zoom levels (sort of).

What happens when two layers have exactly the same zoomlevels ? which one is displayed by orux ?
Let's put transparency aside, as it is too complicated. orux currently choose one of the two layers and totally discard the second one. it is never visible, at any zoomlevel, as the first one is always the one chosen for display.

can we do something about it ? like overriding the GetCap to force association of certain layers with certain zoomlevel ?

Technically, I suppose oruxmaps rely on the "ScaleHint" information of the GetCap (?)
Both layers have exactly the same <ScaleHint> parameters, so for now, I'm screwed.

any info on how orux deals with this would be much appreciated cheers

jm



Hi,

Note that OruxMaps is not a full wms client; what it does is build a simple query, from selected layers; is the wms server which prepares the image.

To show the available layers, when creating a wms map, OruxMaps simply parses the GetCapabilities and read the layers.

An example of a simple query to get a tile:
http://www.idee.es/wms/MTN-Raster/MTN-Raster?version=1.1.1&request=GetMap&Layers=mtn_rasterizado&Styles=&SRS=EPSG:4326&BBOX=-4.064941,40.688969,-4.053955,40.697299&width=256&height=256&format=image/jpeg

If you know how a wms works, you can play with wms_services.xml file (see oruxmaps manual). It is an alternative option to use wms with OruxMaps.

orux
orux
orux

Cantidad de envíos : 3946
Fecha de inscripción : 2009-07-06

Back to top Go down

WMS: How is the GetCapabilities parsed ? Empty Re: WMS: How is the GetCapabilities parsed ?

Post  yip Sat Jan 21, 2012 9:20 pm

Thanks for pointer ! I'm learning the WMS stuff study and did'nt know how deep oruxmaps gets into WMS...

Well, I suppose there is no need for oruxmaps to go in real analysis of all the details of the GetCapabilities Wink The <ScaleHint> stuff is a wrong lead Suspect

From the syntax in wms_services.xml and "wms" db table, I suppose the <layers> tag is included as a whole, there is no separate GetMap requests for each of the layers (comma separated).

In the example provided (IGN ES) one single layer name (mtn_rasterizado) provides all the topo scales from 1:1 000 000 to 1:50 000 (or so), the server choose the right topo scale to send.

in my case, each scale has a layer: one layer is called Topo50, Topo200, Topo1000, Photo, and so on ... not really clever but eh... I have to specify all layers in the parameter <Layers>.
The server receives the GetMap with all the Layers, discard most, and draw the ones it wants (the most relevant ones)...
For exanple, since both "Topo50" and "Photo" layer may both be equally relevant at a given bbox , it will draw both, and since they are opaque layers, I will see only the last one.
According to the WMS specs, when multiple layers are provided in a single GetMap request, they are drawn in the order provided , each new one on top of the previous, to form the result image.

To add this layer, I created another WMS with only one layer (the one that can't display properly), made an offline map of it at a new zoom, merge the two oruxmapsimages.DB and modified the XML and it works great !

Also, i've played a bit with the image/gif|png, in the wms table (oruxmapsmaps.db) and "addon" WMS parameter, but seems to fallback to png no matter what, i suppose the db binary blobs are PNG.

Anyway, it's useless to go too deep into WMS jungle... like you said it's not a fully featured WMS client Like a Star @ heaven

jm

yip

Cantidad de envíos : 40
Fecha de inscripción : 2012-01-21

Back to top Go down

WMS: How is the GetCapabilities parsed ? Empty Re: WMS: How is the GetCapabilities parsed ?

Post  Sponsored content


Sponsored content


Back to top Go down

Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum