Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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 14 May 2008 14:17

chapo2pail
Juste Inscrit !
Date d'inscription: 14 May 2008
Messages: 3

[MAP 2008] Requêtes sur données d'objets (Bati Dur / Bati Leger)

Bonjour,

Je travaille avec AutoCAD MAP 2008. Je vous expose mon problème :
dans AutoCAD MAP, j’ai importé plusieurs SHP (Carte/Outil/Importer)
et créé à chaque fois leurs données d’objets associés.

Je voudrais maintenant faire des requêtes sur ces données d’objets.
Par exemple, j’ai une couche "bâti" (avec notamment un champ "Type" qui a pour occurrence
soit "L" pour "bâti léger" soit "D" pour "bâti dur")

et je voudrais, par l’intermédiaire d’une requête, ne sélectionner que les bâtis légers pour pouvoir ensuite leur affecter une symbologie et faire de même pour les bâtis durs.

Est-ce que c'est possible avec AutoCAD MAP? Si oui, comment je dois procéder?

Je vous remercie d’avance.

Hors ligne

 

#2 Mon 19 May 2008 21:29

Patrice
JeSuisCharlie
Date d'inscription: 16 Sep 2005
Messages: 4794

Re: [MAP 2008] Requêtes sur données d'objets (Bati Dur / Bati Leger)

Bonjour les Georeziens

Voilà le challenge proposé par "CHAPO2PAIL" :
Imaginons un DWG de Cadastre (Genre EDIGEO) avec des données d'objet MAP que l'on désire utiliser et tester en fait pour envoyer les données graphiques de bâtiments sur 2 calques différents : BATI_DUR & BATI_LEGER en fonction d'un test sur le type de bâtiments (Dur ou Léger)

pour les exploiter avec un AutoCAD / LT / etc ou autre logiciel de DAO/CAO ...

Ce DWG (importé depuis un logiciel SIG) pourrait avoir pour origine un fichier SHP / MIF-MID / TAB par exemple ... ou bien depuis un traitement par EDICAD sous un MAP (ou un CIVIL)

Dans ce tutorial, je vais utiliser les "bonnes vieilles fonctionnalités" de MAP
et ce sera donc valable pour toutes les versions de MAP (ou de CIVIL)

C'est assez simple et cette manipulation va utiliser le groupe de dessins
et 3 requêtes successives sur le groupe de dessins de MAP (ou CIVIL)

Voici mes suppositions sur le DWG (ou TOUS les DWGs des sections cadastrales) de Cadastre :
- Les batiments sont des Polylignes Closes ou des MPolygons MAP dessinés sur un calque nommé "BATI"
- Ces objets graphiques ont TOUS une table de données d'objet MAP nommée par exemple "BATIMENT"
- Sur cette table "BATIMENT", l y a un champ nommé "TYPE" qui a 2 valeurs : "D" (Bati Dur) ou "L" (Bati Léger)

1) Partir d'un DWG vierge (en mode métrique SVP, c mieux)
et créer 2 nouveaux calques avec une couleur différente, c plus joli : "BATI_DUR" & "BATI_LEGER"

2) Associer le/les DWG(s) qui nous intéressent au groupe de dessins MAP

3) Faire un Zoom sur l'Etendue puis une "Vue rapide", juste pour vérifier que les DWGs associés correspondent bien aux besoins ...

4) Faire une requête en mode "Aperçu" de type "Propriétés" en choisissant : Calque = "BATI",
ainsi on demande à traiter tous les objets graphiques qui sont sur le calque "BATI"

Si c'est OK on continue ... sous-entendu on voit TOUS les bâtiments !

5) Reprendre la même requête et SURTOUT vous allez ajouter le test sur le type de batiment ...

6) Sélectionner en plus du critère "Calque = "BATI", le critère "Données"
puis option "Données d'objets", puis choisir la table "BATIMENT"
et le champ "TYPE" et bien sur en paramètre de valeur ce sera "D" (pour le Bati Dur), puis OK

On revient dans la grande case de dialogue "Définir une requête" avec les 2 lignes de critères suivantes:

    Propriété: CALQUE = BATI
AND Données: BATIMENT.TYPE = D

Si c'est OK on continue ... sous-entendu on NE voit QUE les bâtiments durs et légers
Un petit "REDESS" (ou un "REGEN") pour la route ... "R" au clavier, ce sera parfait

7) Reprendre la même requête et cette fois ci, elle sera en mode "Dessiner" et non pas "Aperçu" !

8) Valider la COCHE à coté de "Modifier propriétés..." et cliquer sur "Modifier propriétés..."

9) Dans cette nouvelle case de dialogue "Définir les modifications de propriétés", il faut cliquer sur
"Calque" puis "Valeurs..." puis chosir le bon calque d'arrivée "BATI_DUR" puis "OK" puis "Ajouter" puis "OK"

10) Vous revenez à la grande de dialogue "Définir une requête" et vous faites "Exécuter une requête"

TOUS les Batis Durs se dessinent sur le calque "BATI_DUR" et non pas sur le calque d'origine "BATIMENT"
!!! Youpee, on a fait 1/3 du chemin !!!

11) Vous sélectionnez la ligne "...BATIMENT.TYPE = D", puis "Editer..."
et vous modifiez le test sur "D" en test sur "L" !

12) Vous cliquez sur "Modifier Propriétés...", puis sur "Calque: BATI_DUR", puis sur "Modifier", puis sur "Valeurs...", vous sélectionnez bien sur le calque "BATI_LEGER"
et enfin l'option "Mettre à jour" puis "OK"

13) Vous revenez à la grande de dialogue "Définir une requête" et vous faites "Exécuter une requête"

TOUS les Batis Legers se dessinent sur le calque "BATI_LEGER" et non pas sur le calque d'origine "BATIMENT"
!!! Youpee, on a fait 2/3 du chemin !!!

Il nous reste à dessiner tout le reste du cadastre sur ses calques d'origine ...

14) Vous DECOCHEZ la case juste à coté de "Modifier propriétés ..."
puis sur "Effacer" pour nettoyer la grande case de dialogue "Définir une requête"

15) Vous cochez à gauche sur le "NOT", puis "Propriétés..." puis sur "Calque" puis sur "Valeurs"
puis vous choisissez "BATI" puis "OK"
Ainsi on va dessiner TOUT CE QUI N'EST PAS sur le calque "BATI"

16) Cliquer sur "Executer Requête"

TOUT le reste du cadastre s'est dessiné ... sur ses calques d'origine !
!!! Youpee, on a fait FINI !!!

17) Par sécurité, en général on dissocie le/les DWGs associés
et on finit tout simplement par un "Enregistrer sous" ...

Je ne suis pas trop entré dans les détails, mais j'espère que cela va suffire !

On pourrait par exemple lors des 2 requêtes sur les Bâtiments, GENERER à la volée un hachurage spécifique en fonction du Type de Bati, mais bon on ne va pas trop compliquer la DEMO !

GeoBye, Pat


(Autodesk Expert Elite Team)

Hors ligne

 

#3 Mon 19 May 2008 21:36

Patrice
JeSuisCharlie
Date d'inscription: 16 Sep 2005
Messages: 4794

Re: [MAP 2008] Requêtes sur données d'objets (Bati Dur / Bati Leger)

ReBonjour

Vous trouverez ci-joint 2 DWGs :
- Dessin d'origine avec les Parcelles et Tous les Batiments sur le calque "BATI"
- Dessin Final avec les Batiments sur 2 calques ("BATI_DUR" & "BATI_LEGER")

GeoBye, Pat


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

(Autodesk Expert Elite Team)

Hors ligne

 

#4 Tue 20 May 2008 10:34

olivier.eckmann
Participant assidu
Date d'inscription: 14 Dec 2007
Messages: 357

Re: [MAP 2008] Requêtes sur données d'objets (Bati Dur / Bati Leger)

Bonjour,

C'est normalement faisable en une seule requête, un peu plus complexe
et surement moins pédagogique.

Le but est de créer un table d'intervalle qui permet de modifier le calque de l'objet
en fonction de la valeur du TYPE.
La requete sera du genre "Calque = XXXXX" avec
si TYPE=D alors XXXXX = BATI_DUR
si TYPE=L  alors XXXXX = BATI_LEGER

1. Crée la requête avec le critère Emplacement = Tout
2. Se mettre en mode Dessiner
3. Cliquer sur le bouton "Modifier Propriétés"
4. Cocher "Calque" dans les propriétés, puis bouton "Expression", sélectionner "Table de données d'objets", puis "BATIMENT" puis "TYPE". Dans Expression vous devez obtenir :TYPE@BATIMENT
5. Cliquer sur le bouton "Intervalle", puis "Nouvelle" nommé la table "BATI"
conserver l'opérateur "="  dans "Valeur Expression", taper   D    dans "valeur retournée"  taper   BATI_DUR    cliquer sur Ajouter    on doit lire  if big_smile  Return: BATI_DUR
refaire la même démarche avec   L  et BATI_LEGER
6. De retour dans les modification des propriétés, dans la liste déroulante des intervalles, sélectionner BATI, puis cliquer sur le bouton Ajouter. Vous devriez avoir une modification
Calque: (Range :TYPE@BATIMENT  BATI)
7. Faire OK, puis Exécuter la requête

Olivier

Hors ligne

 

#5 Tue 20 May 2008 12:11

Patrice
JeSuisCharlie
Date d'inscription: 16 Sep 2005
Messages: 4794

Re: [MAP 2008] Requêtes sur données d'objets (Bati Dur / Bati Leger)

Hello Olivier

Alors comment vont les Brestois ? Bien le bonjour à Thierry & Christian !

Je 100% d'accord avec toi et en effet j'ai decomposé en 3 requêtes
pour des raisons pédagogiques ...

Une petite suggestion pour EDICAD-LT en Lecture :

Avoir la possibilité "justement" d'envoyer les Polylignes Closes ou MPolygons des Bâtiments sur 2 calques différents ("BATI_DUR" & "BATI_LEGER") et non pas sur un seul calque nommé "BATIMENT" !

Cela éviterait de faire ultérieurement ce genre de requête !
Car il faut maîtriser le groupe de dessins de MAP et les requêtes !?

GeoBye, Pat


(Autodesk Expert Elite Team)

Hors ligne

 

#6 Thu 29 May 2008 11:41

pops262
Juste Inscrit !
Date d'inscription: 20 Feb 2007
Messages: 1

Re: [MAP 2008] Requêtes sur données d'objets (Bati Dur / Bati Leger)

tres bien et merci

Hors ligne

 

Pied de page des forums

Powered by FluxBB