Définition de zone

Principe d’intégration

L’intégration repose sur des écrans Web de type pop-up appelés à partir de l’application principale. A certains moments, des fenêtres issues du serveur GeoConcept LBS Platform permettent de présenter à l’utilisateur des donnés géographiques. Le choix de l’utilisateur est renvoyé par un formulaire POST à l’application maître.

On privilégie les échanges de données par XML pour les données de taille supérieure à 100 caractères.

La pop-up

L’url de la pop-up est : http://<serveur>/callcenter/Ext/zonedefine.do

La pop-up est appelé par la page de test présente à l’adresse :

http://<serveur>/callcenter/Ext/zonedefinetest.do

La couche affichée dans la carte est configurée dans le paramètre serveur popup.geographics.map.layer

Si le nom des entitiés à sélectionner est dans un champ unicode mettre le paramètre serveur popup.geographics.entityNameUnicode à true (false sinon)

Paramètres

  • urlPost : URL recevant les résultats
  • userData : n’importe quelle donnée, elle sera soumise sans modification au formulaire de réception des résultats. Cette donnée permet à l’application maître de passer un contexte, qui pourra être utile pour le retour.
  • xmlData : les données de la zone structure xml, de racine « DefineZoneRequest » Cet élément xml peut contenir les informations suivantes :
  • CurrentZone : liste d'éléments géographiques référencés, définie par les attributs type, subtype, et code
  • Entity : élément géographique défini par Id
  • DisplayElements : liste d'éléments à afficher (il peut y avoir plusieurs listes)

Note : on pourra envoyer les coordonnées géographiques en projection MAP (la projection utilisée est celle configurée dans le paramètre serveur popup.ws.defaultSrs) ou en coordonnées WGS 84 (code epsg:4326).

Exemple de requête

<gc:DefineZoneRequest xmlns:gc="http://geoconcept.com/gc/schemas">
  <!-- The Map must have a tab  type.subtype where type/subtype is selectable. code is a field of  type/subtype -->
  <gc:CurrentZone type="Administrative unit" subtype="Order8" code="Government code">
    <!-- select Bagneux -->
    <gc:Entity id="92007"/>
    <!-- select Cachan -->
    <gc:Entity id="94016"/>
    <!-- select Châtillon -->
    <gc:Entity id="92020"/>
  </gc:CurrentZone>
  <gc:DisplayElements img="http://en.geoconcept.com/sites/all/themes/geoconcept/images/flags/fr.png" projection="EPSG:4326">
    <gc:Symbol x="2.31035" y="48.80165" />
    <gc:Symbol x="2.31035" y="48.89165" />
  </gc:DisplayElements>
  <!-- An image must be called Pin_user_gcblue  -->
  <gc:DisplayElements img="Pin_user_gcblue">
    <gc:Symbol x="601725" y="2424604" />
  </gc:DisplayElements>
</gc:DefineZoneRequest >

Affichage de la page

La page affiche une carte avec des outils de sélection. Par défaut, l’outil de sélection est l’outil de retouche de la sélection.

Les entités passées en paramètre sont coloriées.

Les symboles passés dans la liste sont affichés avec l’image dont le nom est indiqué.

  • outil déplacer : permet de déplacer la carte
  • outil dessiner une zone : permet de saisir un polygone point par point
  • les entités intégralement ou partiellement comprises dans le dessin sont alors sélectionnées, le dessin s’efface.
  • outil retoucher la sélection : Un clic sur une entité la sélectionne/déselectionne suivant son état.

un bouton permet de terminer la saisie.

Exemple d’interface
gcweb-reference-img/lbs-integration/lbs-ws-popups_definition_zone.png

Récupération du résultat

Le choix de l’utilisateur est renvoyé par une requête POST contenant les paramètres suivants :

<gc:DefineZoneResult xmlns:gc="http://geoconcept.com/gc/schemas">
  <gc:Zone type="Administrative unit" subtype="Order8" code="Government code">
     <gc:Entity id="92007"/>
     <gc:Entity id="94016"/>
     <gc:Entity id="92020"/>
  </gc:Zone>
</gc:DefineZoneResult>