5 votos

¿Cómo hacer estilo en Geoserver diferentes por último X horas?

Cuando quiero establecer el estilo de puntos (por ejemplo) en representación de los eventos que me gustaría lograr que los puntos creados en las últimas horas tienen color diferente del de los demás. ¿Hay alguna forma fácil de conseguirlo?

Sé que hay una solución posible ejecutar el cron cada minuto y establecer el estado (ejemplo: last_hour: verdadero / falso) en cuanto a tiempo y que el uso de este como un atributo de datos de estilo. Pero esta solución es tan feo.

He estado mirando para hacer algo como esto (usando ECQL):

CREATED_AT >= TIMESTAMP - '1 hour'

Es posible?

3voto

Adam Ernst Puntos 6939

En el pasado he hecho uso del mecanismo de sustitución de variables de GeoServer para pasar en la fecha y hora actuales en un SLD, puede ser más fácil calcular la fecha y hora hace 1 hora y sucedió que en. Usted podría utilizar un filtro temporal para establecer su estilo. Algo como la siguiente SLD podría funcionar:

    <ogc:After>
    <ogc:PropertyName>time_col</ogc:PropertyName>
    <ogc:Function name="env">
        <ogc:Literal>date</ogc:Literal>
        <ogc:Literal>2016-11-16T12:00:00</ogc:Literal>
     </ogc:Function>
     </ogc:After>

1voto

user2831 Puntos 11

la forma más natural sería la de crear algunas nuevas funciones de filtro para hacer en función de la fecha de matemáticas. Que por supuesto requiere de desarrollo.

Si los datos están en una base de datos espaciales sin embargo, hay un modo más inmediato para lograr su objetivo, crear una vista sql en el que podrás añadir un calculados dinámicamente atributo, un indicador booleano, que es sólo si los datos es lo suficientemente reciente y, a continuación, utilizar dicha bandera por el estilo.

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