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

GEODATA DAYS 2024

#1 Thu 10 April 2008 14:09

Arnaudc86
Participant occasionnel
Date d'inscription: 10 Apr 2008
Messages: 32

Extraire information contenue dans les cellules d'une grille

Bonjour,

Je tiens à préciser que je suis novice sur map info, je travaille sur la version 9.0.

Mon problème est le suivant, j'ai numérisé les haies d'une commune dans une table "Haie" et calculé leur longueur avec la fonction Objetlen en mètres dans une colonne "Long_haie".

J'ai ensuite fait une grille dans une table "Grille" qui recouvre la commune avec des cellules de 50x50 mètres.

Pour cette table je voudrais avoir pour chaque grille la longueur de haies incluses dans chaque cellule et non la longueur totale de chaque objet haie inclus en partie dans la cellule.

Pour cela j'ai donc créé une colonne "Long_grille" dans ma table grille, ensuite j'ai mise à jour cette colonne en faisant une jointure de type géographique avec ma table "haie" de manière à ce que les objets de la table haie soit à l'intérieur des objets de la table grille, la colonne à mettre à jour est donc "Long_grille", calculer ProportionSum de la colonne jointe "Long_haie".

Seulement voilà je crois que la longueur calculée est la longueur totale de chaque objet haie et non celle incluse réellement dans chaque cellule de la grille.

Comment faire svp? Y-a-t-il une fonction?

Merci

Hors ligne

 

#2 Thu 10 April 2008 15:20

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

Re: Extraire information contenue dans les cellules d'une grille

Bonjour
La solution est in extenso dans l'addendum du premier document (Partie I) de l'ensemble de documents à lire absolument que cite le post #3 des conseils épinglés en tête de ce forum, eux aussi à lire absolument ...

Hors ligne

 

#3 Thu 10 April 2008 15:37

Arnaudc86
Participant occasionnel
Date d'inscription: 10 Apr 2008
Messages: 32

Re: Extraire information contenue dans les cellules d'une grille

Merci pour l'information, mais j'ai cherché et j'ai rien trouvé, j'suis pas doué. Si tu as trouvé un sujet sur le forum concernant mon problème, peux-tu me donner le lien s'il te plait ça serait vraiment sympa.

Hors ligne

 

#4 Thu 10 April 2008 16:17

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

Re: Extraire information contenue dans les cellules d'une grille

Hors ligne

 

#5 Thu 10 April 2008 16:24

Arnaudc86
Participant occasionnel
Date d'inscription: 10 Apr 2008
Messages: 32

Re: Extraire information contenue dans les cellules d'une grille

Merci Maurice

Hors ligne

 

#6 Thu 10 April 2008 21:49

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

Re: Extraire information contenue dans les cellules d'une grille

Pour le forum, deux syntaxes possibles (la 2 est plus "sûre" pour le problème posé):
Soit deux tables haies (polylignes, avec un champ ID) et grille (polygones, avec un champ code)
Exemple1 :

Code:

select grille.code, objectlen(overlap(haies.obj, grille.obj), "m") "longueur" from haies, grille where haies.obj intersects grille.obj

Affiche une table des codes grille avec la longueur en m de chaque intersection
Exemple 2 :

Code:

select grille.code, haies.ID, sum(objectlen(overlap(haies.obj, grille.obj), "m")) "longueur" from haies, grille where haies.obj intersects grille.obj order by grille.code group by grille.code, haies.ID

Affiche une table avec le code grille, l'identifiant de haies, la longueur cumulée par grille et par type de haies
nb: le group by de l'exemple 2 conduit à un tableau non graphique !!
Si toutes les haies sont identiques, l'exemple 2 peut s'écrire:

Code:

select grille.code, sum(objectlen(overlap(haies.obj, grille.obj), "m")) "longueur" from haies, grille where haies.obj intersects grille.obj group by grille.code

Hors ligne

 

Pied de page des forums

Powered by FluxBB