[OpenLayers-Dev] Problems with WMS.Post + singleTile + sld_body
Andreas Hocevar
ahocevar at opengeo.org
Wed Apr 20 09:58:00 EDT 2011
I suspect this is an issue because we use a transitionEffect by default now, which does not work for IFrame tiles. Can you please create a ticket on http://trac.osgeo.org/openlayers ?
A workaround in the meantime would be to use tiled layers and configure them with a gutter (e.g. "gutter: 15" instead of "singleTile: true").
Andreas.
On Apr 20, 2011, at 15:42 , Carlos Lacerda wrote:
> Hi Andreas,
>
> Thanks for your reply.
>
> I repeat my test using openlayers of trunk, the parameter tileOptions:
> {maxGetUrlLength: 2048} run´s perfect but the problem of old images
> using singleTile:true persist :-(
>
> All runs fine the only problem is the singleTile:true, with
> singleTile:false layer refresh Ok when change parameter to true old
> images persist on the map.
> Has a parameter or one point to try solve this problem ??
>
> I see now that this problem only occurs when i use sld_body parameter,
> in example:
>
> trafo = new OpenLayers.Layer.WMS("Transformadores", wmsServer,{
> layers: 'axx:TRAFO_PERDAS',
> styles: '',
> format: 'image/png',
> transparent: true,
> sld_body:sldTrafo.getSLD()
> }, {
> 'opacity': 1,
> 'isBaseLayer': false,singleTile:true,
> tileOptions: {maxGetUrlLength: 2048}
> });
> trafo2 = new OpenLayers.Layer.WMS("Transformadores2", wmsServer,{
> layers: 'axx:TRAFO_PERDAS',
> styles: '',
> format: 'image/png',
> transparent: true
> //sld_body:sldTrafo.getSLD()
> }, {
> 'opacity': 1,
> 'isBaseLayer': false,singleTile:true,
> tileOptions: {maxGetUrlLength: 2048}
> });
>
> Is the same layer, one using sld_body and another not. The second
> layer without sld_body run´s fine, refresh is OK and old images not
> occurs, the first layer using sld_body with singleTile:false runs fine
> but in my case i have the know problem of "TextSymbolizer label near
> tile edges" and its necessary use singleTile:true, with singlTile:true
> problem with old images appear.
>
> I attach a image of this two layers, the small elements is the first
> layer using sld_body with the old images problem, the greater images
> is from first layer too, in
> SLD maxScaleDenominator define the size of image, the greater images
> is correct but small elements is old from previous zoom. If i disable
> the first layer only the greater images is diplayed using SLD from
> server in second layer. SLD is the same in this case only one send by
> OpenLayers and another in the server.
>
> In my case its necessary dynamic SLDs and OpenLayers its like a glove
> to this, singleTile is the only problem for me now :-(
>
> All sugestions are appreciated.
>
> Thanks a lot.
> Carlos
>
> On Wed, Apr 20, 2011 at 4:50 AM, Andreas Hocevar <ahocevar at opengeo.org> wrote:
>> Note that the tileOptions: {maxGetUrlLength: 2048} configuration option was added *after* the last release. So can you please try out the latest trunk version of OpenLayers and see what results you get with that?
>>
>> Andreas.
>>
>> On Apr 19, 2011, at 15:22 , Carlos Lacerda wrote:
>>
>>> Hi All,
>>>
>>> I´m user OpenLayers with Geoserver in my projects to render eletrical networks.
>>> It´s fine for my purposes, but now a found a problem to use singleTile
>>> with dynamical SLD´s
>>>
>>> Explaining....
>>>
>>> Initially use WMS.Post to create a layer and send a dynamic SLD using
>>> sld_body parameter
>>>
>>> var trafo = new OpenLayers.Layer.WMS.Post("Transformadores", wmsServer,{
>>> layers: 'axx:TRAFO_PERDAS',
>>> cql_filter:"mes_ref='201102'";
>>> styles: '',
>>> srs: 'EPSG:4326',
>>> format: 'image/png',
>>> transparent: true,
>>> sld_body: sldTrafo.getSLD(),//JS with SLD, its a large SLD
>>> }, {
>>> 'opacity': 1,
>>> 'isBaseLayer': false,
>>> 'wrapDateLine': false,
>>> buffer: 0,
>>> //singleTile:true
>>> });
>>> This layer works fine but have the know problem of TextSymbolizer
>>> label near tile edges.
>>>
>>> All right, i add parameter 'singleTile:true' to solve the problem and
>>> the same solve the problem but have a issue, when zoom or pan the map
>>> the old image is not distroyed, when pan or zoom new image is created
>>> correct but old image before created not disapears creating impression
>>> of a overlay in map, an example if a have an area with five elements
>>> when zoom this area the five elements is duplicated to ten elements,
>>> if my SLD chage simbols depending of a scale for example the old
>>> images are displayed like a overlay.
>>> It´s necessary some parameter to solve this problem ?
>>>
>>> I´m using IE8.
>>>
>>> Reading documentation about WMS.POST deprecated, i try use Layer.WMS
>>> using tileOptions: {maxGetUrlLength: 2048} without success, using
>>> this method only small SLDs runs.
>>> How should i use this parameter ??
>>>
>>> When use large SLD with this parameter the folowing error is throw by IE:
>>>
>>> Message: Invalid Pointer
>>>
>>> Line 156
>>> Character: 49
>>> Code: 0
>>> URI: http://openlayers.org/api/OpenLayers.js
>>>
>>>
>>>
>>> Thanks a lot for any help.
>>>
>>> --
>>> Sds,
>>> Carlos Lacerda
>>> System Architect - CIAS
>>> Brasil
>>> _______________________________________________
>>> Dev mailing list
>>> Dev at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/openlayers-dev
>>
>>
>>
>> --
>> Andreas Hocevar
>> OpenGeo - http://opengeo.org/
>> Expert service straight from the developers.
>>
>>
>
>
>
> --
> Sds,
> Carlos Lacerda
> System Architect - CIAS
> Brasil
> <small.png>_______________________________________________
> Dev mailing list
> Dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/openlayers-dev
--
Andreas Hocevar
OpenGeo - http://opengeo.org/
Expert service straight from the developers.
More information about the Dev
mailing list