5 votos

SLD - break en hatch

Cuando yo uso girado horline o vertline como @Ian Turton indicó en su respuesta a la pregunta de Representación sld estilo(buffer) GRAVE null de java.lang.NegativeArraySizeException, luego me rompe en la escotilla, como en la imagen de abajo. No puedo encontrar una manera de conseguir que escotilla sin descanso. Esta escotilla se gira a la base de un objeto en 45 grados (así que no puedo usar la forma://barra), con diferentes ángulos parece incluso peor.

break in hatch

SLD sugerido por @Ian

<PolygonSymbolizer>
<Geometry>
    <ogc:Function name="buffer">
        <ogc:PropertyName>the_geom</ogc:PropertyName>
        <ogc:PropertyName>Buffer</ogc:PropertyName>
    </ogc:Function>
</Geometry>  
<Fill>
    <GraphicFill>
        <Graphic>
            <Mark>
                <WellKnownName>shape://horline</WellKnownName>
                <Stroke>
                    <CssParameter name="stroke">
                        <ogc:PropertyName>COLOR</ogc:PropertyName>
                    </CssParameter>
                    <CssParameter name="stroke-width">2.5</CssParameter>
                </Stroke>
            </Mark>
            <Rotation>Nagib</Rotation>
        </Graphic>
    </GraphicFill>
</Fill>

5voto

plk Puntos 36

La solución es usar algo similar a algo que ya había utilizado en el pasado (para la referencia, el Uso de las Matemáticas en el archivo SLD - wkt),

<PolygonSymbolizer>
    <Fill>
        <GraphicFill>
            <Graphic>
                <Mark>
                    <WellKnownName>wkt://LINESTRING(${cos(Nagib)*-20} ${sin(Nagib)*-20}, ${cos(Nagib)*20} ${sin(Nagib)*20} )</WellKnownName>
                    <Stroke>
                        <CssParameter name="stroke-width">1</CssParameter>
                    </Stroke>
                </Mark>
            </Graphic>
        </GraphicFill>
    </Fill>   
</PolygonSymbolizer>

angle 32 angle 14

Para los futuros usuarios ángulos deben ser especificado en radianes.

1voto

Braiam Puntos 120

Por la escalera mira, cuando se procesa la capa, asegúrese de tener un anti-alliasing habilitado.

Para la "línea de puntos" mire, usted podría conseguir más cerca de una línea continua mediante el uso de un wkt://MULTILINESTRING gráfico relleno. Habría que crear una estableciendo el ángulo predeterminado, que puede girar. Para lograr la continua mirada, se ampliará la línea más allá de coordenadas 1 (cualquier dirección). Dependiendo de la rotación que se tiene que aplicar, puede que desee agregar reglas y cambiar la línea inicial de coordenadas.

No olvidemos que el símbolo que se repite cada 1 unidad (de la red de símbolo) y la rotación se aplica a cada símbolo, así que mientras que usted puede manejar para conectar las líneas entre 2 símbolo adyacente, el espacio entre las dos líneas se verán afectados y no constante.

Aquí es la parte pertinente de la SLD para la siguiente captura de pantalla. El símbolo inicial es en un ángulo de 45 grados, en la que he aplicado un 10 grados de rotación

 <GraphicFill>
        <Graphic>
            <Mark>
                <WellKnownName>wkt://MULTILINESTRING((-1.5 -1.5,1.5 1.5))</WellKnownName>
                <Stroke>
                    <CssParameter name="stroke-width">1</CssParameter>
                </Stroke>
            </Mark>
            <Rotation>10</Rotation>
        </Graphic>
    </GraphicFill>

enter image description here

Si usted no tiene ningún extra de rotación (0), aquí es la salida por defecto (45 grados)

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X