geosolutions-it / ogc-testbed

Management repository for OGC testbed and other initiatives
0 stars 0 forks source link

Introduce none rule in GeoCSS #22

Closed allyoucanmap closed 5 years ago

allyoucanmap commented 5 years ago

eg. recreationsrf.css create a polygon with perpendicular offset on stroke

current workaround:

[F_CODE = 'AK040'] [@sd < 80k] {
    fill-geometry: [the_geom], [boundary(the_geom)];
    fill: #E8F3E2, none;
    stroke: none, #3EA250;
    stroke-opacity: 0, 1;
    stroke-width: 5m;
    stroke-dasharray: 5 2.5;
    stroke-offset: 2;
}
      ....
      <sld:Rule>
          <sld:Title>Sports Ground</sld:Title>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>F_CODE</ogc:PropertyName>
              <ogc:Literal>AK040</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <sld:MaxScaleDenominator>80000.0</sld:MaxScaleDenominator>
          <sld:PolygonSymbolizer>
            <sld:Geometry>
              <ogc:PropertyName>the_geom</ogc:PropertyName>
            </sld:Geometry>
            <sld:Fill>
              <sld:CssParameter name="fill">#E8F3E2</sld:CssParameter>
            </sld:Fill>
          </sld:PolygonSymbolizer>
          <sld:PolygonSymbolizer>
            <sld:Geometry>
              <ogc:Function name="boundary">
                <ogc:PropertyName>the_geom</ogc:PropertyName>
              </ogc:Function>
            </sld:Geometry>
            <sld:Fill>
              <sld:CssParameter name="fill">none</sld:CssParameter>
            </sld:Fill>
          </sld:PolygonSymbolizer>
          <sld:LineSymbolizer>
            <sld:Stroke>
              <sld:CssParameter name="stroke">none</sld:CssParameter>
              <sld:CssParameter name="stroke-opacity">0</sld:CssParameter>
              <sld:CssParameter name="stroke-width">5m</sld:CssParameter>
              <sld:CssParameter name="stroke-dasharray">5.0 2.5</sld:CssParameter>
            </sld:Stroke>
            <sld:PerpendicularOffset>2</sld:PerpendicularOffset>
          </sld:LineSymbolizer>
          <sld:LineSymbolizer>
            <sld:Stroke>
              <sld:CssParameter name="stroke">#3EA250</sld:CssParameter>
              <sld:CssParameter name="stroke-width">5m</sld:CssParameter>
              <sld:CssParameter name="stroke-dasharray">5.0 2.5</sld:CssParameter>
            </sld:Stroke>
            <sld:PerpendicularOffset>2</sld:PerpendicularOffset>
          </sld:LineSymbolizer>
        </sld:Rule>
        ....

expected:

[F_CODE = 'AK040'] [@sd < 80k] {
    fill: #E8F3E2, none;
    stroke: none, #3EA250;
    stroke-opacity: 0, 1;
    stroke-width: 5m;
    stroke-dasharray: 5 2.5;
    stroke-offset: 2;
}

      ....
      <sld:Rule>
          <sld:Title>Sports Ground</sld:Title>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>F_CODE</ogc:PropertyName>
              <ogc:Literal>AK040</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <sld:MaxScaleDenominator>80000.0</sld:MaxScaleDenominator>
          <sld:PolygonSymbolizer>
            <sld:Fill>
              <sld:CssParameter name="fill">#E8F3E2</sld:CssParameter>
            </sld:Fill>
          </sld:PolygonSymbolizer>
          <sld:LineSymbolizer>
            <sld:Stroke>
              <sld:CssParameter name="stroke">#3EA250</sld:CssParameter>
              <sld:CssParameter name="stroke-width">5m</sld:CssParameter>
              <sld:CssParameter name="stroke-dasharray">5.0 2.5</sld:CssParameter>
            </sld:Stroke>
            <sld:PerpendicularOffset>2</sld:PerpendicularOffset>
          </sld:LineSymbolizer>
        </sld:Rule>
        ....