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 Thu 18 October 2012 11:03

sivumidouze
Juste Inscrit !
Date d'inscription: 6 Oct 2011
Messages: 2

requête sql cours d'eau

Bonjour,

Je m'excuse par avance si cette question s'est déjà posée sur le forum mais je ne maîtrise pas encore le fonctionnement de ce site.

Ma question : je travaille sur map info et je dois fournir un chiffrage au mètre linéaire exact  et par cours d'eau traversant chaque commune du bassin versant.

Lorsque je fais ma requête pour que cela me donne le linéaire total  et par cours d'eau sur la commune X, j'ai remarqué que les segments pris en compte ne se limiter pas forcément à la commune X, parfois j'ai des segments dépassant de 2km la commune qui sont comptabilisés ! D'ou une marge d'erreur trop importante (ce linéaire me sert au calcul des participations financières de chacune des communes donc je dois être le plus juste possible.

Quelle requête dois je faire pour arriver à sélectionner uniquement les segments compris dans la commune X ?

Petite précision, je ne suis pas un pro du SIG ! Donc un exemple précis me sera très utile !

En vous remerciant par avance

D.M.

Hors ligne

 

#2 Thu 18 October 2012 11:55

Renaud
Membre
Lieu: Ploemeur (56)
Date d'inscription: 9 Mar 2006
Messages: 2315

Re: requête sql cours d'eau

Bonjour,

Pour compliquer encore un peu la problématique, vous avez probablement des tronçons qui appartiennent à deux communes : la rivière fait la frontière. Selon le type d'action, certains syndicats de rivière calculent la répartition financière en linéaire de berge plutôt qu'en linéaire de rivière.

Les pros de MapInfo vous expliqueront mieux que moi comment mettre en pratique le découpage smile


Renaud Mouche

Hors ligne

 

#3 Thu 18 October 2012 14:45

Ceva
Participant occasionnel
Lieu: Biem Assi
Date d'inscription: 14 Oct 2009
Messages: 20

Re: requête sql cours d'eau

Bonjour,


tu dois montrer ta requette pour qu’on puisse bien t'aider.

Dernière modification par Ceva (Thu 18 October 2012 15:07)


Chef de projet SIG

Hors ligne

 

#4 Thu 18 October 2012 18:49

Ben64
Participant occasionnel
Lieu: Oloron-Ste-Marie
Date d'inscription: 19 May 2007
Messages: 37

Re: requête sql cours d'eau

Bonjour,

Il vous faut d'abord découper vos tronçons par commune. Premièrement vous sélectionnez votre couche "cours d'eau" modifiable. Ensuite, Menu Objet -> Définir cible. Une fois l'opération réalisée, vous sélectionnez votre couche "commune" à partir de laquelle vous voulez découper vos tronçons. Une fois que votre couche "cours d'eau" est définie comme cible et que votre couche "commune" est sélectionnée, vous allez dans Objet -> Découper.

Une fois vos tronçons découpés, vous pourrez les sélectionner par commune. Il vous suffira de les assembler pour avoir le linéaire de tous les tronçons à l'intérieur du territoire communal.

Désolé, l'explication est un peu brêve, mais je ne peux m'attarder plus longtemps.
Bon courage!

Hors ligne

 

#5 Thu 18 October 2012 22:32

Domi C.
Juste Inscrit !
Date d'inscription: 8 Oct 2007
Messages: 3

Re: requête sql cours d'eau

Bonsoir,

Pour compléter les explications de Ben64, je détaille la procédure que j'utiliserai :
- pour plus de sécurité, faire une copie de la table des cours d'eau,
- modifier la structure de cette table pour ajouter un champ "Code_INSEE", un champ "Nom_commune" et un champ "Long_Cours_eau",
- rendre cette couche "Modifiable", tout sélectionner et la définir comme "Cible",
- sélectionner toutes les communes,
- lancer la commande "Objet" "Découper",
- remplir l'attribut "Code_INSEE" de la table des Cours d'eau par la fonction "Table" "Mettre à jour colonne". Pour cela faire une jointure géographique des objets Cours d'eau contenus dans les objets Communes et remplir le champ "Code_INSEE" de la table Cours d'eau avec le champ contenant cette valeur dans la table Commune,
- renouveler la même opération pour le nom des communes,
- remplir l'attribut "Long_Cours_eau" également avec "Table" "Mettre à jour colonne" en utilisant la fonction "LongObj" (je ne me rappelle du libellé exact)
- enregistrer la table Cours d'eau.

Lancer une requête SQL sur la table Cours d'eau, dans l'ordre suivant :
- lister les attributs permettant de différencier les rivières (noms et code), "Code_INSEE", "Nom_Commune", sum("Long_Cours_eau", "m")
- sans critère,
- en indiquant de grouper les valeurs par "Code_INSEE",
- mettre le résultat dans une table à nommer

Le résultat recherché devrait apparaitre !

(Ayant fait de mémoire, les intitulés des fonctions ne sont pas rigoureusement exacts)

Adishatz

Hors ligne

 

#6 Mon 22 October 2012 16:02

sivumidouze
Juste Inscrit !
Date d'inscription: 6 Oct 2011
Messages: 2

Re: requête sql cours d'eau

Bonjour à vous,

Je vous remercie pour vos réponses respectives et je vais mettre à exécution vos propositions. Je vous tiens au courant.

Adishatz

Hors ligne

 

#7 Tue 25 November 2014 10:43

Elie45
Participant actif
Date d'inscription: 7 Nov 2014
Messages: 57

Re: requête sql cours d'eau

Ce post correspond parfaitement à mon soucis sauf que je travail avec un tampon de cours d'eau. J'ai bien respecté la manip mais lorsque je veux remplir le champs de ma table (ex CODE INSEE) mapinfo ne renseigne que les objets d'un seul tenant compris dans une commune. Pour préciser si ce n'est pas clair, lorsqu'une commune contient deux bout d'affluents séparés, l'attribut code INSEE n'est pas renseigné après ma mise à jour Colonne.

Avez-vous l'astuce pour remédier à ça?

Hors ligne

 

#8 Tue 25 November 2014 12:13

nicoboud
Membre
Lieu: Nantes
Date d'inscription: 12 Oct 2007
Messages: 860

Re: requête sql cours d'eau

Bonjour,

Il est probable que la majeur partie de votre tampon soit dans la commune voisine.

Quel opérateur géographique utilisez-vous pour faire votre mise à jour Colonne ?

Nicolas.


Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS

Hors ligne

 

Pied de page des forums

Powered by FluxBB