[postgis-users] how to create a hole in a polygon table?

Paul Ramsey pramsey at opengeo.org
Tue Feb 28 13:33:05 PST 2012


I was thinking of something like this, but it doesn't work.
Unfortunately Geoserver doesn't have the ability to create offset
lines, so there's no nice way to do this without doing a little
negative buffer on the shape (which incidentally, you could do using
the geometry transformation facility on the fly
http://docs.geoserver.org/stable/en/user/styling/sld-extensions/geometry-transformations.html

P

<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0"
xmlns="http://www.opengis.net/sld"
xmlns:ogc="http://www.opengis.net/ogc"
  xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:gml="http://www.opengis.net/gml"
  xsi:schemaLocation="http://www.opengis.net/sld
http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>USA states</Name>
    <UserStyle>      <Name>population</Name>
      <Title>United States</Title>
      <Abstract>A Simple Brush Style</Abstract>
      <FeatureTypeStyle>
       <Rule>
       <LineSymbolizer>
         <Stroke>
         <GraphicStroke>
           <Graphic>
           <ExternalGraphic>
             <OnlineResource xlink:type="simple"
xlink:href="file:///Users/pramsey/green_bottom.gif" />
             <Format>image/gif</Format>
           </ExternalGraphic>
           </Graphic>
          </GraphicStroke>
         <CssParameter name="stroke-linecap">round</CssParameter>
         <CssParameter name="stroke-dasharray">1 0 1 0</CssParameter>
         </Stroke>
       </LineSymbolizer>
     </Rule>
     </FeatureTypeStyle>
    </UserStyle>
    </NamedLayer>
</StyledLayerDescriptor>


On Tue, Feb 28, 2012 at 12:00 PM, Robert Buckley
<robertdbuckley at yahoo.com> wrote:
> Thanks for the advice.
>
> Unfortunately I don´t understand what you have just told me....half-brush?
> half-circle?
>
> are these sld specifications?...I am delivering wms data using sld´s to
> style the data.
>
> could you please clarify?
>
> cheers,
>
> Rob
>
> ________________________________
> Von: Paul Ramsey <pramsey at opengeo.org>
> An: Robert Buckley <robertdbuckley at yahoo.com>; PostGIS Users Discussion
> <postgis-users at postgis.refractions.net>
> Gesendet: 19:20 Dienstag, 28.Februar 2012
> Betreff: Re: [postgis-users] how to create a hole in a polygon table?
>
> Rather than geometry processing, work on your rendering engine. You
> can usually achieve an interior band (the classic National Geographic
> political boundary, yes?) with a half-brush (rather than a full
> circle, use a half-circle), and just ensuring your polygons are
> consistently oriented.
>
> P.
>
> On Tue, Feb 28, 2012 at 10:04 AM, Robert Buckley
> <robertdbuckley at yahoo.com> wrote:
>> Hi,
>>
>> I am trying to create an inner buffer of a polygon geometry table.
>> Unfortunately this is the only way I can think of which will enable me to
>> make a certain symbol for a polyon layer. The SLD Filter "difference"
>> might
>> do it, but it needs to be nested and i´m not sure if this is possible.
>>
>> anyway....My polygons need to be symbolized with a thin outline AND an
>> inside Buffer of 3 mm(150m  at a scale of 1:50 000)....in essence just an
>> inside ring.
>>
>> This means I need to first buffer my polygon geometry and then substract
>> the
>> buffer from the original polygon. = ST_Difference (i think!?!)
>>
>> my attempt created some geometries but not what I was expecting...
>>
>> create view rrop08.rrop_01_13_innerbuffer AS
>>
>> SELECT ST_Difference(a.st_buffer, b.the_geom)
>>
>> FROM rrop08.rrop_01_13_buffer a, rrop08.rrop_01_f b;
>>
>>
>> rrop08.rrop_01_f  = the original polyon
>>
>> rrop08.rrop_01_13_buffer = the inner buffer
>>
>>
>>
>>
>>
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>
>
>
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>



More information about the postgis-users mailing list