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 Tue 21 November 2006 10:15

Yasmine
Participant actif
Lieu: Nevers
Date d'inscription: 9 Sep 2005
Messages: 117

Sélection

Bonjour!
Je souhaiterais sélectionner les documents d'urbanismes concernant un contour de forêt. Cette sélection concerne donc deux couches: une couche avec mon objet forêt et une couche avec les communes ayant un PLU.
Si j'utilise l'opérateur géographique "intersects" j'obtiens l'erreur suivante: si la forêt a, ne serait-ce qu'un point commun avec la limite d'une commune "PLU" voisine, cette commune est sélectionnée...
Par contre, si j'utilise l'opérateur "within", je n'ai que la commune contenant le centroïde de ma forêt qui est sélectionnée, or cette forêt peut être à cheval sur plusieurs communes...
Donc, la seule solution est de couper mon objet puis d'utiliser la fonction within?
J'aurais bien apprécié une solution plus directe car c'est une séletion que je veux automatiser dans un wor...
Je vous remercie par avance de vos idées!

Yasmine

Hors ligne

 

#2 Tue 21 November 2006 11:12

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Sélection

Bonjour,
Tu peux utiliser AreaOverlap(foret.obj,commune.obj)
qui renvoit une surface dans les unités par défaut ou par celles introduites par Set CoordSys Table ma_table
ET imposer une condition genre
Where AreaOverlap(foret.obj,commune.obj) > 10000 (si tu as fait le calcul en mètres carrés et que tu ne veus que les intersections de plus d'un hectare)

Hors ligne

 

#3 Tue 21 November 2006 13:03

Yasmine
Participant actif
Lieu: Nevers
Date d'inscription: 9 Sep 2005
Messages: 117

Re: Sélection

et bien en effet... une forêt frontalière d'une commune avec un plan local d'urbanisme n'est pas concernée par ce PLU.
Maurice, je vais tester votre proposition mais je ne crois pas que les requêtes passents dans les wor...
Je vous tiens au courant dans l'a-midi et merci beaucoup!

Hors ligne

 

#4 Tue 21 November 2006 13:17

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Sélection

Pour peu que l'option ait été cochée dans les préférences "Démarrage", les requêtes de niveau 1 (requête sur tables) sont enregistrées dans les wor (pas les requêtes de niveau 2: requête sur une requête).
Pour s'y retrouver, ça peut être utile de finir la requête par un Into nom_explicite

Hors ligne

 

#5 Wed 22 November 2006 09:12

Yasmine
Participant actif
Lieu: Nevers
Date d'inscription: 9 Sep 2005
Messages: 117

Re: Sélection

C'est encore moi,
Je dois vous avouer que je n'utilise que le B-A-BA des requêtes SQL. Et du coup, là ça se passe mal.
J'ai essayé ça mais ça ne marche pas:
Select foret_test . id , sum( areaoverlap ( foret_test . Obj , commune_test . Obj ) ) from foret_test, commune_test where foret_test.Obj Intersects commune_test.Obj into selection
Je patauge, je patauge...
Désolée de vous embêter à nouveau avec ça...

Hors ligne

 

#6 Wed 22 November 2006 09:42

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Sélection

On est là pour ça... smile
Select foret_test . id , commune_test.id from foret_test, commune_test where foret_test.Obj Intersects commune_test.Obj and areaoverlap (foret_test . Obj , commune_test . Obj) > 100 into foret100
devrait donner une sélection de forêts intersectant des communes sur plus de 100 m2
L'inversion forêt<->commune dans la requête devrait donner une sélection de communes intersectant les forêts sur plus de 100 m2
A vérifier et confirmer...

Hors ligne

 

#7 Wed 22 November 2006 11:25

Yasmine
Participant actif
Lieu: Nevers
Date d'inscription: 9 Sep 2005
Messages: 117

Re: Sélection

ca marche! Merci beaucoup!
Cependant j'ai un problème concernant les unités. Il fait à chaque fois le calcul en sq mi, même si je précise avant Set CoordSys Table foret (table en lambert 2 étendu)...
Et c'est vrai qu'on n'est pas habitué à manipuler les   miles hmm

Hors ligne

 

#8 Wed 22 November 2006 11:52

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Sélection

Yasmine a écrit:

...Et c'est vrai qu'on n'est pas habitué à manipuler les   miles hmm


En plus s'ils sont carrés !!
La petite ligne magique (que je mets dans mon startup.wor pour ne pas avoir à la retaper à chaque coup):
Set Area units "hectare" ou Set Area units "sq m"...ou autre unité
Tant qu'à y être on peut aussi mettre dans le startup.wor
Set Distance Units "m"
Set Paper Units "cm"
...et plein d'autres choses: appels à des mbx, Alter MapInfoDialog... (très amusant!), etc...

Hors ligne

 

#9 Wed 22 November 2006 13:04

Yasmine
Participant actif
Lieu: Nevers
Date d'inscription: 9 Sep 2005
Messages: 117

Re: Sélection

C'est génial!
Que dire... Merci?!

Hors ligne

 

Pied de page des forums

Powered by FluxBB