Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug filtre de date #987

Open
mikesmichael opened this issue Jul 20, 2023 · 5 comments · Fixed by infra-geo-ouverte/igo2-lib#1622
Open

Bug filtre de date #987

mikesmichael opened this issue Jul 20, 2023 · 5 comments · Fixed by infra-geo-ouverte/igo2-lib#1622
Assignees
Labels
bug Incorrect or unexpected behaviors // Anomalies de fonctionnement ready to merge

Comments

@mikesmichael
Copy link
Contributor

Il est impossible de définir un filtre attributaire de date sans devoir définir un pushButton ou un autre type de filtre.

Exemple : La couche Centre de service aux sinistrés ouvert, on veut un filtre seulement sur la date_entree_fonction du centre pour savoir si le centre était ouvert pour une période donnée. On a dû ajouter un pushButton bidon pour activer le filtre. Si on retire le pushButton, le bouton de filtre ne s'affiche plus sur la couche. Il ne semble pas exister de paramètre pour l'activer avec seulement le filters de la date.

{
    "queryFormatAsWms": true,
    "queryFormat": "gml2",
    "timeFilterable": false,
    "ogcFilters": {
        "enabled": true,
        "editable": true,
        "allowedOperatorsType": "basic",
        "pushButtons": {
            "groups": [
                {
                    "title": "Type d'adresse",
                    "name": "1",
                    "ids": [
                        "legende"
                    ]
                }
            ],
            "bundles": [
                {
                    "id": "legende",
                    "title": "Type d'adresse",
                    "logical": "Or",
                    "vertical": false,
                    "selectors": [
                        {
                            "title": "Adresse précise",
                            "enabled": false,
                            "color": "0 0 0",
                            "filters": {
                                "operator": "PropertyIsEqualTo",
                                "propertyName": "legende",
                                "expression": "Adresse précise"
                            }
                        },
                        {
                            "title": "Adresse imprécise",
                            "enabled": false,
                            "color": "245 149 68",
                            "filters": {
                                "operator": "PropertyIsEqualTo",
                                "propertyName": "legende",
                                "expression": "Adresse imprécise"
                            }
                        }
                    ]
                }
            ]
        },
        "filters": {
            "operator": "During",
            "propertyName": "date_entree_fonction",
            "begin": "2018-01-01 00:00:00",
            "end": "today",
            "title": "Date entrée en fonction du centre"
        }
    },
    "sourceFields": [
        {
            "name": "date_entree_fonction",
            "alias": "Date entrée en fonction"
        }
    ]
}
@ameliebernier ameliebernier added bug Incorrect or unexpected behaviors // Anomalies de fonctionnement in progress In progress // Développement en cours labels Jul 27, 2023
@LAMM26
Copy link
Contributor

LAMM26 commented Aug 16, 2023

Si on regarde les exemples, dans la démo d'igo2-lib, d'OGCFilters (demo/src/app/geo/ogc-filter), il est possible de filtrer temporellement une couche en utilisant un attribut de type date. Cela peut-être accompli en utilisant habituellement la config ogcFilters.filters et ses propriétés.

Michael n'était pas capable d'utiliser cette config seulement et elle devait être combinée à un autre type de filtre (dans le cas présent, des boutons à presser pushButtons (Type d'adresse)) pour faire apparaître le filtre temporel (Date entrée en fonction du site). Voir sa config utilisée dans son commentaire.

image

J'ai fait de nouveaux tests en rejouant un peu avec sa config et j'ai été capable de faire apparaître seulement le filtre temporel en utilisant cette config en dev:

{
    "queryFormatAsWms": true,
    "queryFormat": "gml2",
    "ogcFilters": {
        "enabled": true,
        "editable": true,
        "allowedOperatorsType": "all",
        "filters": {
            "operator": "During",
            "propertyName": "date_entree_fonction",
            "begin": "2018-01-01 00:00:00",
            "end": "2023-12-31 23:59:59",
            "title": "Date entrée en fonction du centre"
        }
    },
    "sourceFields": [
        {
            "name": "date_entree_fonction",
            "alias": "Date entrée en fonction"
        }
    ],
    "stepDate": "P1D"
}

La section pushButtons a été retirée, j'ai retiré timeFilterable, j'ai changé allowedOperators à "all" et ajouté stepDate à "P1D" pour le calendrier journalier.

image

Il serait préférable que filters.end soit à "today" ou "now" (qui semble être possible d'après la démo, mais ça fait planter la couche.

(La config d'une couche peut être modifiée ici: http://spssogl19d.sso.msp.gouv.qc.ca/wss/admin/403)

@aziz-access aziz-access removed the in progress In progress // Développement en cours label Oct 23, 2023
@alecarn alecarn added this to the v16.2.0 milestone Nov 20, 2023
@alecarn alecarn modified the milestones: v16.2.0, v17.0.0 Jan 18, 2024
@aziz-access
Copy link
Contributor

@alecarn
je fais beaucoup des tests sur le demo est igo2, je n'arrive pas à gérer l'erreur.
il est préférable de proposer un contexte ou une couche localement sur igo2 avec le filtre OGC end:now or end:today pour mieux tester

@alecarn
Copy link
Collaborator

alecarn commented Jan 24, 2024

@LAMM26 @mikesmichael Êtes vous en mesure de fournir une configuration de couche pour que Aziz soit en mesure de reproduire facilement la problématique?

@mikesmichael
Copy link
Contributor Author

@aziz-access Je viens de retester et le filtre n'est toujours pas disponible. Le besoin est qu'on puisse définir seulement un filtre date sur la couche sans devoir ajouter un 2e filtre bidon. Voici à quoi ressemble la couche.

{
  "uri": "_default",
  "base": "_base",
  "layers": [
    {
      "title": "Centre de service aux sinistrés ouvert",
      "sourceOptions": {
        "type": "wms",
        "url": "/apis/wss/historiquesc.fcgi",
        "params": {
          "layers": "RISC_LOCALISATION_CENTRE_SERVICE_SINISTRE_OUVERT",
          "version": "1.3.0"
        }
      },
    "queryFormatAsWms": true,
    "queryFormat": "gml2",
    "ogcFilters": {
        "enabled": true,
        "allowedOperatorsType": "all",
       "filters": {
            "operator": "During",
            "propertyName": "date_entree_fonction",
            "begin": "2018-01-01 00:00:00",
            "end": "2023-12-31 23:59:59",
            "title": "Date entrée en fonction du centre"
        }
    },
    "sourceFields": [
        {
            "name": "date_entree_fonction",
            "alias": "Date entrée en fonction"
        }
    ],
    "stepDate": "P1D"
  }
  ]
}

Si vous avez à me contacter c'est préférable par rocketchat, je ne suis pas assez actif sur github pour suivre les messages...!

@aziz-access
Copy link
Contributor

@aziz-access Je viens de retester et le filtre n'est toujours pas disponible. Le besoin est qu'on puisse définir seulement un filtre date sur la couche sans devoir ajouter un 2e filtre bidon. Voici à quoi ressemble la couche.

{
  "uri": "_default",
  "base": "_base",
  "layers": [
    {
      "title": "Centre de service aux sinistrés ouvert",
      "sourceOptions": {
        "type": "wms",
        "url": "/apis/wss/historiquesc.fcgi",
        "params": {
          "layers": "RISC_LOCALISATION_CENTRE_SERVICE_SINISTRE_OUVERT",
          "version": "1.3.0"
        }
      },
    "queryFormatAsWms": true,
    "queryFormat": "gml2",
    "ogcFilters": {
        "enabled": true,
        "allowedOperatorsType": "all",
       "filters": {
            "operator": "During",
            "propertyName": "date_entree_fonction",
            "begin": "2018-01-01 00:00:00",
            "end": "2023-12-31 23:59:59",
            "title": "Date entrée en fonction du centre"
        }
    },
    "sourceFields": [
        {
            "name": "date_entree_fonction",
            "alias": "Date entrée en fonction"
        }
    ],
    "stepDate": "P1D"
  }
  ]
}

Si vous avez à me contacter c'est préférable par rocketchat, je ne suis pas assez actif sur github pour suivre les messages...!

@mikesmichael la configuration de la couche n'a pas bonne format, il faut que la configuration "ogcFilters " dans "sourceOptions".

{
  "uri": "_default",
  "base": "_base",
  "layers": [
    {
      "title": "Centre de service aux sinistrés ouvert",
      "sourceOptions": {
        "type": "wms",
        "url": "/apis/wss/historiquesc.fcgi",
        "params": {
          "layers": "RISC_LOCALISATION_CENTRE_SERVICE_SINISTRE_OUVERT",
          "version": "1.3.0"
        },
        "ogcFilters": {
          "enabled": true,
          "editable": true,
          "allowedOperatorsType": "all",
          "filters": {
            "operator": "During",
            "propertyName": "date_entree_fonction",
            "begin": "2018-01-01 00:00:00",
            "end": "2023-12-31 23:59:59",
            "title": "Date entrée en fonction du centre"
          }
        },
        "sourceFields": [
          { "name": "date_entree_fonction", "alias": "Date entrée en fonction" }
        ],
        "stepDate": "P1D"
      },
      "queryFormat": "gml2"
    }
  ]
}

@alecarn alecarn removed this from the v17.0.0 milestone Feb 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Incorrect or unexpected behaviors // Anomalies de fonctionnement ready to merge
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants