[OpenLayers-Dev] [Polygon Rendering] Inverse fill

Andreas Hocevar ahocevar at opengeo.org
Sat May 19 11:03:27 EDT 2012


Yeah, this issue has probably to do with the geometry clipping that is
done for geometries that span over a long coordinate range, to avoid
running out of coordinate space. A workaround would be to split your
geometries into smaller ones, or use the Canvas renderer as Eric
suggested.

Andreas.

On Sat, May 19, 2012 at 4:03 PM, RICHARD Didier <didier.richard at ign.fr> wrote:
>
>> On Sat, May 19, 2012 at 1:08 PM, RICHARD Didier <didier.richard at ign.fr>
>> wrote:
>>> Hi devs,
>>>
>>> Based on the kml-layer.html with the following code :
>>>
>>> var map = new OpenLayers.Map({
>>>    div: "map",
>>>    layers: [
>>>        new OpenLayers.Layer.WMS(
>>>            "WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0",
>>>            {layers: "basic"}
>>>        ),
>>>        new OpenLayers.Layer.Vector("KML", {
>>>            strategies: [new OpenLayers.Strategy.Fixed()],
>>>            protocol: new OpenLayers.Protocol.HTTP({
>>>                url: "polygon.kml",/****** the polygon ******/
>>>                format: new OpenLayers.Format.KML({
>>>                    extractStyles: true,
>>>                    extractAttributes: true,
>>>                    maxDepth: 2
>>>                })
>>>            })
>>>        })
>>>    ],
>>>    numZoomLevels:19,/****** 19 levels to see the bug ******/
>>>    center: new OpenLayers.LonLat(4.3560894576721,
>>> 45.084481104508),/****** new center ******/
>>>    zoom: 17
>>> });
>>>
>>>
>>> At this zoom, the symbology is correct : polygon's inside is filled and
>>> the outside is left blank.
>>> When you zoom to level 18, the polygon's inside is not filled anymore
>>> and
>>> the outside is filled.
>>>
>>> Tested with OpenLayers 2.11, OpenLayers 2.12-rc4.
>>>
>>> The polygon is attached.
>>>
>>> I have browse the tickets on trac, but found nothing relevant.
>>> Previously,
>>> there was a hole in the polygon, but it has been removed.
>>
>> Nasty. Do you know an OpenLayers version with which your example
>> works? Your example works correctly with the Canvas renderer
>> (renderers: ['Canvas'] in the layer config), so this is probably a bug
>> in the SVG renderer.
>>
>
> 2.10, 2.9.1, 2.8, 2.7 : broken
> 2.6 : when zooming in, the KML is not drawn ...
> 2.5 : the browser's support for rendering is broken (despite :
> renderes:['SVG'] added in the code)
>
> (tested under FF 12 / Linux)
>
> So, I guess it is an old issue with vector rendering ?!
>
> didier
>
>>
>>
>> --
>> Eric Lemoine
>>
>> Camptocamp France SAS
>> Savoie Technolac, BP 352
>> 73377 Le Bourget du Lac, Cedex
>>
>> Tel : 00 33 4 79 44 44 96
>> Mail : eric.lemoine at camptocamp.com
>> http://www.camptocamp.com
>>
>
>
> --
> RICHARD Didier - Chef du pôle technique du Géoportail
> 2/4, avenue Pasteur - 94165 Saint Mandé Cedex
> Tél : +33 (0) 1 43 98 83 23
> _______________________________________________
> 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