banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Fri 13 June 2008 12:20

eric69
Juste Inscrit !
Date d'inscription: 13 Jun 2008
Messages: 1

[ArcGis 9.2 + ArcXML] get_image et légende, renderers redondants

Bonjour,

Quelques lignes pour vous présenter mon problème, les questions se trouvent en fin de message...

Je souhaite envoyer une requête ArcXML à un serveur ArcGIS, me permettant d'afficher certaines communes sur une carte. Pour ce faire, ArcGIS dispose comme infos du code insee & du nom de chaque commune. C'est la requête ArcXML qui doit préciser, parmi l'ensemble des communes, celles qui doivent être affichées, ainsi que le renderer. Les requêtes XML son générées en Java.

Nous sommes en phase de prototypage, et je dispose de services Features, Image & ArcMapImage.

Actuellement, je procède comme suit :
- J'envoie un GET_FEATURES au Feature service pour obtenir l'enveloppe englobante de l'ensemble de mes communes, via un SPATIALQUERY sur le code insee ;
- Je construis ma requête GET_IMAGE en utilisant l'enveloppe ;
- Dans le LAYERDEF correspondant à la couche des communes, j'utilise un GROUPRENDERER avec un VALUEMAPRENDERER comportant autant de EXACT qu'il y a de communes à afficher ;
- Dans chaque EXACT, j'utilise un SIMPLEMARKERSYMBOL définissant une étoile soit verte, soit rouge ; ArcGIS ne dispose pas des informations qui lui permettrait de déterminer lui-même si telle ville doit être bleue ou rouge
- Comme je souhaite aussi afficher le nom des communes, j'utilise également un VALUEMAPLABELRENDERER, comportant aussi autant de EXACT qu'il y a de communes à afficher ;
- J'envoie ma requête au service Image ;

Je me pose donc deux questions :
- Ma façon de procéder vous semble-t-elle judicieuse ? Ne serait-il pas préférable de passer par des LAYER et des SPATIALQUERY plutôt que de multiplier les EXACT (si vous aviez des exemples de requêtes : je n'ai pas réussi à faire marcher cette solution) ? Est-il possible de réaliser l'équivalent du IN SQL avec les RANGE, encore une fois au lieu de multiplier les EXACT ?
- Le problème auquel je suis confronté : dans la légende, si j'utilise 10 étoiles vertes & 10 étoiles rouges, j'obtiens 20 entrées dans la légende, alors que je souhaiterais juste 2 entrées (une pour l'étoile verte, avec le libellé "communes vertes", et une autre pour l'étoile rouge). Est-il possible de définir deux RENDERER & libellés associés, pour l'ensemble de la requête GET_IMAGE ?


Merci !

Eric.

Hors ligne

 

Pied de page des forums

Powered by FluxBB