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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 10 November 2010 13:05

sanik
Juste Inscrit !
Lieu: Valence
Date d'inscription: 10 Nov 2010
Messages: 2

[ MapGuide OS ] Créer une requête spatiale avec Maestro

Bonjour à tous les contributeurs,

Je viens de découvrir MapGuide OS (et par la même Maestro). Aucun problème pour installer MapGuide et Maestro, et aucun problème pour aller plus loin que l'exemple Sheybogan. J'ai pu créer mon propre projet avec les couches suivantes:

- routes
- communes
- périmètres de protection (dans table attributaires: ville, nom périmètre, population)

J'ai pu créer un bouton de recherche par attributs sur la couche "périmètres" sans souci grâce aux indications de Jean marie via Maestro (exemple de recherche: j'écris la ville de mon choix > cliques sur rechercher > j'obtiens en résultat la liste des périmétres qui s'y trouvent).

Voilà concrètement mon souci actuel:
J'aimerai maintenant créer une zone de recherche non pas par attributs (facile maintenant !! :-) ) mais en fonction d'une requête spatiale (critère d'intersection entre 2 couches). Je bloque complètement (il y a zone de recherche du genre dans l'exemple Sheybogan).

exemple de recherche: je veux sélectionner toutes les routes qui intersectent la ou les ville(s) de mon choix en précisant dans une fenêtre le ou le(s) noms de ville(s).

Si quelqu'un pouvait m'aider, ce serait super super sympa ...

Je vous remercie de votre aide et à minima de la lecture de mon message !
Bonne journée !!

Hors ligne

 

#2 Mon 14 March 2011 02:24

farouk_SIG
Participant occasionnel
Date d'inscription: 7 Mar 2011
Messages: 17

Re: [ MapGuide OS ] Créer une requête spatiale avec Maestro

Bonsoir Sanik , est ce que je peux savoir comment vous avez fait pour le truc de la recherche ??

Hors ligne

 

#3 Mon 14 March 2011 15:27

smile
Participant actif
Date d'inscription: 2 Jul 2009
Messages: 110

Re: [ MapGuide OS ] Créer une requête spatiale avec Maestro

Salut,

Sanik, je ne vais pas pouvoir t'aider, désolé....



Pour Farouk, le module de recherche se met en place en suivant les étapes suivantes :

Il suffit d'ajouter la fonction search dans une mise en page (layout) en cliquant sur "cliquer pour ajouter une commande personnalisée>>Search".

Ensuite il faut ajouter la fonction en cliquant sur "ajouter un item>>item personnalisé>>Search".

Enfin il faut éditer les propriétés avancées de l'item:
Target : Zone de recherche
frame: -
Prompt: Texte situé au dessus du champ de recherche
Layer : couche dans laquelle tu veux effectuer ta recherche
Filter : permet d'indiquer sur quel champs la recherche doit être faite. Il faut entrer : NOMDUCHAMP LIKE '%$USER_VARIABLE%'  (où NOMDUCHAMP est le nom du champ de recherche)
Result limit: Je suis pas certain mais cela doit être le nombre de résultats max pour la recherche
Result columns: colonnes affichées

Hors ligne

 

#4 Mon 14 March 2011 17:21

farouk_SIG
Participant occasionnel
Date d'inscription: 7 Mar 2011
Messages: 17

Re: [ MapGuide OS ] Créer une requête spatiale avec Maestro

waaaaaaaaaaw géniale smile smile , je suis très reconnaissant surtout vous m'avez expliquer étape par étape vraiment merci car je suis encore débutant , alors maintenant voila mon problème : 

dans ma carte j'ai deux couches : une de type polygonale (Régions) et l'autre du type point (agences)  , je suis censé de développer une fonctionnalité qui donne sur chaque région le nombre d'agences qu'elle contient !!!!
est ce que c'est du PHP ou bien juste SQL ??? je sais pas ou commencer ??

win 7
mapguide Open source 2.1
Mpaguide Maestro 2.1.4
(mes données sont sous format .shp)

merci d'avance !!

Hors ligne

 

#5 Fri 25 March 2011 09:45

renard
Participant actif
Date d'inscription: 16 Mar 2010
Messages: 96

Re: [ MapGuide OS ] Créer une requête spatiale avec Maestro

Sanik en page 39 du guide développement tu trouveras la réponse à ta question... mais cela impose de programmer.

http://www.scribd.com/doc/15636244/MgOpenSourceDevGuide

Hors ligne

 

#6 Mon 28 March 2011 18:02

Tonioo
Juste Inscrit !
Date d'inscription: 17 Mar 2011
Messages: 1

Re: [ MapGuide OS ] Créer une requête spatiale avec Maestro

Bonjour,
voila j'ai suivi ce que dit Smile mais j’obtiens toujours un message d'erreur.

J'ai un plan de masse avec plusieurs bâtiment et j'aimerais pouvoir faire une recherche sur leur nom. Le client rentre par exemple "Batiment 1" et cela me le trouve. Hors si je rentre : 

NOM(C'est le nom du champs) = $USER_VARIABLE%  -> il me An exception occurred in FDO component. The identifier 'Batiment' was not recognized.

NOM = '$USER_VARIABLE%'                                            -> il me fait No matches.


si je met NOM = 'Batiment 1' dans le filtre, il me sélectionne bien a chaque fois ce bâtiment malgré ce que je peux mettre.

Pour info, l'attribut Batiment 1 est un string,
je met la bonne couche qui possède cette attribut. En cible je met Taskpane (rien a voir car il s'agit juste d'une présentation sur l'onglet de fenêtre qui s'ouvre)


Problème Résolu, il suffit de mettre  NOM LIKE '$USER_VARIABLE%'

pourquoi avec =, cela ne marche pas, je ne sais pas

Dernière modification par Tonioo (Mon 28 March 2011 18:05)

Hors ligne

 

#7 Mon 28 March 2011 21:17

Gwenael Bachelot
Participant assidu
Lieu: Bureau Autodesk : Paris 12ème
Date d'inscription: 5 Sep 2005
Messages: 608
Site web

Re: [ MapGuide OS ] Créer une requête spatiale avec Maestro

Bonjour,

Tout d'abord, merci pour le suivi !

Tonioo a écrit:

pourquoi avec =, cela ne marche pas, je ne sais pas


Ca me marche pas parce que les jokers (comme '%') ne fonctionnent qu'avec LIKE.

Cordialement,
Gwenael Bachelot
Autodesk

Hors ligne

 

#8 Tue 29 March 2011 03:08

farouk_SIG
Participant occasionnel
Date d'inscription: 7 Mar 2011
Messages: 17

Re: [ MapGuide OS ] Créer une requête spatiale avec Maestro

Bonjour ,

Effectivement Monsieur Gwenael Bachelot ,les jokers (comme '%') ne fonctionnent qu'avec LIKE.

Pour vous Tonioo si vous avez un champ (surface) dans la couche des batiments  , ou un autre champ du type 'integer' ça doit marcher !!

exp :

surface = $USER_VARIABLE ou surface < $USER_VARIABLE  , mais lorsque il s'agit d'une chaine de caractère (type: string) il faut absolument utilisé LIKE

j'espère que j'ai bien expliqué

Excellent journée à vous

Hors ligne

 

Pied de page des forums

Powered by FluxBB