BeeOn : Configurer l'application pour interroger les couches dans JMap

Produit concerné / Related product

BeeOnVersions


Jump to English version

BeeOn est une composante logiciel développée par la compagnie Ico Solutions pour ses solutions de sécurité. Celles-ci sont utilisées surtout dans le domaine municipal. BeeON se connecte à JMap Server pour faire de requêtes sur une ou plusieurs couches.

Guide étape par étape

Deux méthodes permettent de configurer BeeON. 

  1. BeeON fait des recherches dans une ou plusieurs couches directement. Voici un exemple de configuration :

    0.projectId=13

    0.layer.0.id=0

    0.layer.0.city=ville

    0.layer.0.city.value=MONTREAL

    0.layer.0.rw_no=rw_no

    0.layer.0.rw_no_alpha=rw_no_alpha

    0.layer.0.rw_type=rw_type

    0.layer.0.rw_type.ConvertLongToShortType=true

    0.layer.0.rw_link_type=rw_link_type

    0.layer.0.rue=rue

    0.layer.0.rw_orientation=rw_orientation

    0.layer.0.secteur=secteur

    0.layer.1.id=1

    0.layer.1.city=ville

    0.layer.1.rw_no=rw_no

    0.layer.1.rw_no_alpha=rw_no_alpha

    0.layer.1.rw_type=rw_type

    0.layer.1.rw_link_type=rw_link_type

    0.layer.1.rue=rue

    0.layer.1.rw_orientation=rw_orientation

    0.layer.1.secteur=secteur

    Cette configuration permet donc de configurer le nom des colonnes.

    .layer..city.value indique que la recherche correspondant à cette ville doit être effectuée dans cette couche. L'absence de ce paramètre dans le fichier de configuration pour une couche indique que toute recherche sera aussi effectuée dans cette couche. Si cette valeur était absente pour 3 couches, la recherche serait effectuée dans les 3 couches avant d'être effectuée dans GOLOC.

    Avec l'exemple, toute recherche avec ville = 'montreal' est effectuée dans la première couche, mais si aucun résultat est obtenu, la recherche est aussi effectuée dans la seconde couche. Toute recherche sans ville ou avec ville différente de 'MONTREAL' sera effectuée dans la seconde couche et par la suite dans GOLOC.

    .layer..rw_type.ConvertLongToShortTypeUpper=true/false, si vrai, convertit un type sous forme longue (ex: avenue) en format court de la géobase d'adresse (ex: AV).

    .layer..rw_type.ConvertLongToShortTypeLower=true/false, si vrai, convertit un type sous forme longue (ex: avenue) en format court de la géobase d'adresse (ex: av).


  2. La seconde méthode, beaucoup plus complexe, permet de chercher en fonction d'une recherche configurée dans JMap, donc les noms de paramètres ($param1, $param2, etc.) coincident avec les paramètres de la requête par attributs, et les noms d'attributs de la couche sont configurés comme dans l'exemple précédent. 

    0.projectId=13
    0.layer.0.id=6
    0.layer.0.adr.query=geoAdrNew
    0.layer.0.adr.query.rw_no=$param1
    0.layer.0.adr.query.rw_type=$param2
    0.layer.0.adr.query.rue=$param3
    0.layer.0.adr.query.city=$param4
    0.layer.0.adr.query.rw_link_type=$param5
    0.layer.0.adr.query.secteur=$param6

    0.layer.0.adr.city=MUNNOM
    0.layer.0.adr.rw_no=NOCIV
    0.layer.0.adr.rw_type=GENERIQUE
    0.layer.0.adr.rw_link_type=PARTICULE
    0.layer.0.adr.rue=SPECIFIQUE
    0.layer.0.adr.secteur=MUNNOM

    0.layer.1.id=4
    0.layer.1.int.query=geoInt
    0.layer.1.int.query.generique_1=$param1
    0.layer.1.int.query.particule_1=$param2
    0.layer.1.int.query.specifique_1=$param3
    0.layer.1.int.query.direction_1=$param4
    0.layer.1.int.query.generique_2=$param5
    0.layer.1.int.query.particule_2=$param6
    0.layer.1.int.query.specifique_2=$param7
    0.layer.1.int.query.direction_2=$param8

    0.layer.1.int.generique=generique
    0.layer.1.int.particule=particule
    0.layer.1.int.specifique=specifique
    0.layer.1.int.direction=direction
    0.layer.1.int.intersectionId=intersecti

    0.layer.2.id=5
    0.layer.2.str.query=geoVoies
    0.layer.2.str.query.rw_type_1=$param1
    0.layer.2.str.query.rw_link_type_1=$param2
    0.layer.2.str.query.rue_1=$param3
    0.layer.2.str.query.direction_1=$param4
    0.layer.2.str.query.city_1=$param5

    0.layer.2.str.rw_type=GA_GENERIQ
    0.layer.2.str.rw_link_type=GA_PARTICU
    0.layer.2.str.rue=GA_SPECIFI
    0.layer.2.str.rw_orientation=GA_DIRECTI
    0.layer.2.str.city=GA_CODEMUN

    et les requêtes configurées pour la configuration précédente auraient la forme (pour des recherches avec historique):

    select intersecti from JMSG125_0 where intersecti in(select distinct intersecti from JMSG125_0 where

    {GENERIQUE = '$param1'}

    and

    {PARTICULE = '$param2'}

    and

    {SPECIFIQUE = '$param3'}

    and

    {DIRECTION = '$param4'}

    ) and intersecti in(select distinct intersecti from JMSG125_0 where

    {GENERIQUE = '$param5'}

    and

    {PARTICULE = '$param6'}

    and

    {SPECIFIQUE = '$param7'}

    and

    {DIRECTION = '$param8'}

    )

    select jmap_id from JMSG126_2 where (

    {GA_GENERIQ = '$param1'}

    and

    {GA_PARTICU = '$param2'}

    and

    {GA_SPECIFI = '$param3'}

    and

    {GA_DIRECTI = '$param4'}

    and

    {GA_CODEMUN = '$param5'}

    ) or (

    {DR_GENERIQ = '$param6'}

    and

    {DR_PARTICU = '$param7'}

    and

    {DR_SPECIFI = '$param8'}

    and

    {DR_DIRECTI = '$param9'}

    and

    {DR_CODEMUN = '$param10'}

    )





English version


BeeOn is a software component developed by Ico Solutions for its security solutions. These are used mainly in the municipal field. BeeON connects to JMap Server to query on one or more layers.

Step-by-step guide

There are two ways to configure BeeON.

  1. BeeON searches in one or more layers directly. Here is an example of configuration:

    0.projectId=13

    0.layer.0.id=0

    0.layer.0.city=ville

    0.layer.0.city.value=MONTREAL

    0.layer.0.rw_no=rw_no

    0.layer.0.rw_no_alpha=rw_no_alpha

    0.layer.0.rw_type=rw_type

    0.layer.0.rw_type.ConvertLongToShortType=true

    0.layer.0.rw_link_type=rw_link_type

    0.layer.0.rue=rue

    0.layer.0.rw_orientation=rw_orientation

    0.layer.0.secteur=secteur

    0.layer.1.id=1

    0.layer.1.city=ville

    0.layer.1.rw_no=rw_no

    0.layer.1.rw_no_alpha=rw_no_alpha

    0.layer.1.rw_type=rw_type

    0.layer.1.rw_link_type=rw_link_type

    0.layer.1.rue=rue

    0.layer.1.rw_orientation=rw_orientation

    0.layer.1.secteur=secteur

    This configuration allows configuring the name of the columns.

    .layer..city.value indicates that the search for that city must be performed in this layer. The absence of this parameter in the configuration file for a layer indicates that any search will also be performed in this layer. If this value was absent for 3 layers, the search would be performed in the 3 layers before being performed in GOLOC.
    With the example, any search with city = 'montreal' is carried out in the first layer, but if no result is obtained, the search is also carried out in the second layer. Any search without city or with city different from 'MONTREAL' will be carried out in the second layer and later in GOLOC.

    .layer..rw_type.ConvertLongToShortTypeUpper=true/false, if true, converts a type in long form (ex: avenue) in short format of the geobase of address (ex: AV).

    .layer..rw_type.ConvertLongToShortTypeLower=true/false, if true, converts a type in long form (ex: avenue) in short format of the geobase of address (ex: av).

  2. The second method, much more complex, allows searching according to a query configured in JMap, so the names of parameters ($param1, $param2, etc.) coincide with the parameters of the query by attributes, and the names of layer attributes are configured as in the previous example.

    0.projectId=13
    0.layer.0.id=6
    0.layer.0.adr.query=geoAdrNew
    0.layer.0.adr.query.rw_no=$param1
    0.layer.0.adr.query.rw_type=$param2
    0.layer.0.adr.query.rue=$param3
    0.layer.0.adr.query.city=$param4
    0.layer.0.adr.query.rw_link_type=$param5
    0.layer.0.adr.query.secteur=$param6

    0.layer.0.adr.city=MUNNOM
    0.layer.0.adr.rw_no=NOCIV
    0.layer.0.adr.rw_type=GENERIQUE
    0.layer.0.adr.rw_link_type=PARTICULE
    0.layer.0.adr.rue=SPECIFIQUE
    0.layer.0.adr.secteur=MUNNOM

    0.layer.1.id=4
    0.layer.1.int.query=geoInt
    0.layer.1.int.query.generique_1=$param1
    0.layer.1.int.query.particule_1=$param2
    0.layer.1.int.query.specifique_1=$param3
    0.layer.1.int.query.direction_1=$param4
    0.layer.1.int.query.generique_2=$param5
    0.layer.1.int.query.particule_2=$param6
    0.layer.1.int.query.specifique_2=$param7
    0.layer.1.int.query.direction_2=$param8

    0.layer.1.int.generique=generique
    0.layer.1.int.particule=particule
    0.layer.1.int.specifique=specifique
    0.layer.1.int.direction=direction
    0.layer.1.int.intersectionId=intersecti

    0.layer.2.id=5
    0.layer.2.str.query=geoVoies
    0.layer.2.str.query.rw_type_1=$param1
    0.layer.2.str.query.rw_link_type_1=$param2
    0.layer.2.str.query.rue_1=$param3
    0.layer.2.str.query.direction_1=$param4
    0.layer.2.str.query.city_1=$param5

    0.layer.2.str.rw_type=GA_GENERIQ
    0.layer.2.str.rw_link_type=GA_PARTICU
    0.layer.2.str.rue=GA_SPECIFI
    0.layer.2.str.rw_orientation=GA_DIRECTI
    0.layer.2.str.city=GA_CODEMUN

    and the queries configured for the previous configuration would have the form (for searches with history):

    select intersecti from JMSG125_0 where intersecti in(select distinct intersecti from JMSG125_0 where

    {GENERIQUE = '$param1'}

    and

    {PARTICULE = '$param2'}

    and

    {SPECIFIQUE = '$param3'}

    and

    {DIRECTION = '$param4'}

    ) and intersecti in(select distinct intersecti from JMSG125_0 where

    {GENERIQUE = '$param5'}

    and

    {PARTICULE = '$param6'}

    and

    {SPECIFIQUE = '$param7'}

    and

    {DIRECTION = '$param8'}

    )

    select jmap_id from JMSG126_2 where (

    {GA_GENERIQ = '$param1'}

    and

    {GA_PARTICU = '$param2'}

    and

    {GA_SPECIFI = '$param3'}

    and

    {GA_DIRECTI = '$param4'}

    and

    {GA_CODEMUN = '$param5'}

    ) or (

    {DR_GENERIQ = '$param6'}

    and

    {DR_PARTICU = '$param7'}

    and

    {DR_SPECIFI = '$param8'}

    and

    {DR_DIRECTI = '$param9'}

    and

    {DR_CODEMUN = '$param10'}

    )