#1 Thu 29 April 2010 10:22
- ally35
- Participant occasionnel
- Date d'inscription: 29 Apr 2010
- Messages: 19
Incorporer des zones trop petites à des plus grandes
Bonjour tout le monde,
Je ne sais pas si c'est possible, je dois assembler les zones inférieures à 1 ha aux zones de plus de 1 ha situé à proximité.
Mais je ne sais pas du tout quel méthode utilisé?
Ma version de mapinfo est la version 10.0 (version d'évaluation)
Merci
Alison
Hors ligne
#2 Thu 29 April 2010 10:49
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Incorporer des zones trop petites à des plus grandes
Salut et bienvenue,
Tes parcelles sont conjointes?
Tu dois faire le travail en batch (par lot)?
Si c'est manuelle --> sélectionner la première entité --> appuyer sur Maj en sélectionnant la 2ème puis Ojbject --> Combine
En espérant que celà t'aide
A+
Joël
Hors ligne
#3 Mon 03 May 2010 10:56
- ally35
- Participant occasionnel
- Date d'inscription: 29 Apr 2010
- Messages: 19
Re: Incorporer des zones trop petites à des plus grandes
Bonjour,
A vrai dire le faire manuellement me prendrait beaucoup de temps, il n'existe pas d'automatisation?
En fait, j'ai des zones qui sont inférieures à 1 hectare et que je dois rattacher à l'unité topographique contiguë la plus proche.
Merci
Alison
Hors ligne
#4 Mon 03 May 2010 11:32
- ally35
- Participant occasionnel
- Date d'inscription: 29 Apr 2010
- Messages: 19
Re: Incorporer des zones trop petites à des plus grandes
Re bonjour,
J'ai également un autre problème. En fait, ma table se présente de la facon suivante, j'ai 3 colonnes: une colonne ID, une colonne "Gridcode" et une colonne "surface".
Mais lorsque j'assemble les zones trop petites aux zones contiguë plus grande, je voudrais garder l'information "gridcode" et l'information "surface" (sommes des 2 zones assemblés). Je ne vois pas comment faire, pouvez vous m'aider?
Alison
Hors ligne
#5 Mon 03 May 2010 11:59
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Incorporer des zones trop petites à des plus grandes
Salut,
Tout d'abord faire une sélection SQL pour avoir les entités de moins d'un ha:
Select * from Ta_Table where Surface < 1 into Resultat
Attention à l'unité de surface de ta table (l'exemple que je donne est avec un champs avec une surface en ha)
Puis utiliser cette palette d'outil: http://www.routeware.dk/toolbox.php
Utiliser "nearest object" pour obtenir la distance entre les objets de "Resultat" avec ta couche primaire.
Puis une autre sélection SQL pour prendre la distance mini entre tes parcelles de "Resultat" et la couche primaire en excluant les Parcelles de "Resultat" par l'ID.
Puis utiliser la FMB couplée avec un générateur de script pour combiner les parcelles de "Resultat" avec leur Parcelle la plus proche.
En espérant être clair
A+
Joël
Dernière modification par Spacejo (Mon 03 May 2010 12:20)
Hors ligne
#6 Mon 03 May 2010 12:09
- ally35
- Participant occasionnel
- Date d'inscription: 29 Apr 2010
- Messages: 19
Re: Incorporer des zones trop petites à des plus grandes
Merci beaucoup je vais essayer sa.
Alison
Hors ligne
#7 Tue 04 May 2010 11:21
- ally35
- Participant occasionnel
- Date d'inscription: 29 Apr 2010
- Messages: 19
Re: Incorporer des zones trop petites à des plus grandes
Bonjour,
J'ai essayé ta méthode mais alors je ne comprend pas comment utiliser "RouteFinder". J'ai d'abord selectionné les entités inférieur à 1 ha mais alors après je ne vois pas comment faire.
Si sa ne te dérange pas peut-tu m'expliquer pas à pas, car je suis très novice sur mapinfo.
Merci
Alison
Hors ligne
#8 Tue 04 May 2010 11:36
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Incorporer des zones trop petites à des plus grandes
alors mon raisonnement est le suivant:
Tu as crées une table avec les petites parcelles.
Il te faut crées maintenant une autre sélection sur ta table d'origine excluant les petites parcelles --> requète SQL.
Puis --> générer les centroïdes des 2 couches.
--> Calcul des distances entre les petites parcelles et les parcelles de l'autre couche via les centroïdes.
--> Requète SQL pour garder la plus petite distance entre toutes les petites parcelles et leurs voisines la plus proche (de l'autre couche).
--> Agrégation de toutes les petites parcelles avec leurs voisines.
As tu compris le développement?
Je pense car je n'ai pas essayé l'outil "nearest object" que celui ci va te sortir les distances entre tes 2 couches (à vérifier)
A+
Joël
Dernière modification par Spacejo (Tue 04 May 2010 11:44)
Hors ligne
#9 Tue 04 May 2010 11:57
- ally35
- Participant occasionnel
- Date d'inscription: 29 Apr 2010
- Messages: 19
Re: Incorporer des zones trop petites à des plus grandes
Ok, alors oui je vois le dévellopement mais je ne sais pas si cela peut me donner un résultat correct je m'explique.
Ma table donne les pentes. Elle a 3 champs: un champs Id, un champs "Gridcode" qui attribut à chaque zone une direction et un degré de pente.
Par exemple un gridcode = 11, correspond à une pente de moins de 3% et une direction Nord. Les gridcode vont de 11 à 38.
Et moi je souhaite rattacher les zones inférieur à 1ha aux zones plus grandes qui sont les plus proches mais selon plusieurs critéres:
si plusieurs grandes zones sont contigues à la zone inférieur à 1 ha, la grande zone retenue est celle dont le pourcentage de pente est le plus fort, et avec l'orientation la plus en adequation avec la zone inférieur à 1ha.
Voila je ne sais si sa change tout!
Sinon une fois que j'ai selectionné mes zones <1ha je ne vois pas comment créer les centroides?
Dans l'outil "routefinder" j'ai "Batch functions"=>"nearest N centres"
Est-ce que c'est sa qu'il faut utiliser?
Alison
Hors ligne
#10 Tue 04 May 2010 12:05
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Incorporer des zones trop petites à des plus grandes
Effectivement quand je parle de distance c'est à vol d'oiseau et sur un plan.
Si tu as des coordonnées en Z il doit être possible de faire la même chose mais là celà devient beaucoup plus hardi.
Peut être existe t'il un outil ou une extension de mapinfo mais pour l'instant je ne vois pas.
Pour la toolbox que je t'ai conseillée je ne sais pas si elle prends en compte les Z.
Dernière modification par Spacejo (Tue 04 May 2010 12:05)
Hors ligne
#11 Tue 04 May 2010 12:11
- ally35
- Participant occasionnel
- Date d'inscription: 29 Apr 2010
- Messages: 19
Re: Incorporer des zones trop petites à des plus grandes
Et bien ce ne sont pas des coordonnées, c'est juste que chaque zone a un code de pente et que lorsque je dois rattacher les zones je dois tenir compte de leur valeur.
Merci quand même pour ton aide.
Alison
Hors ligne
#12 Tue 04 May 2010 12:17
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Incorporer des zones trop petites à des plus grandes
Générer le centroïde d'une zone te donneras ses coordonnées.
Pour ceci avec la FMB --> update table_zones set obj = centroid(obj)
Puis avec "coordinate extractor.mbx" livré avec Mapinfo, tu pourras obtenir les coordonnées
Dernière modification par Spacejo (Tue 04 May 2010 12:20)
Hors ligne
#13 Tue 04 May 2010 15:49
- ally35
- Participant occasionnel
- Date d'inscription: 29 Apr 2010
- Messages: 19
Re: Incorporer des zones trop petites à des plus grandes
je vois mieux ton raisonnement en fait.
J'ai créé 2 champs (coordonnées X du centroide et coordonnées Y du centroide) pour mes 2 tables:
-zone >1ha
-zone<1ha
Après si j'ai tout compris, il faudrais que je calcule la distance entre les coordonnées des centroides des zones <1ha et celle des zones>1ha contenus dans 2 table differentes.
Pourrai tu m'expliquer comment je peux faire ça?
Merci
Alison
Hors ligne
#14 Tue 04 May 2010 16:42
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Incorporer des zones trop petites à des plus grandes
Avec tes 2 tables as tu essayé l'outil précité?
Sinon création de droites entre tes centroïdes des 2 couches en gros c'est comme une création d'oursins puis calcules des longueurs des objet lignes crées --> Sélection de la distance la plus courte etc...
Est ce plus clair?
Voilà un lien intéressant avec une création d'oursin grâce à un générateur de script couplé à la FMB:
---> http://georezo.net/forum/viewtopic.php?id=66735
Hors ligne
#15 Tue 04 May 2010 17:09
- ally35
- Participant occasionnel
- Date d'inscription: 29 Apr 2010
- Messages: 19
Re: Incorporer des zones trop petites à des plus grandes
Non tout sa m'embrouille. J'ai essayé de passer par une requète SQL pour calculer les distances entres les points des centroides mais il me dit que les 2 tables n'ont pas de jointure.
Et sinon est-ce que cela peut se faire par l'outil "distance calculator"?
Pour ce qui est de ton outil "routeFinder" je ne vois pas comment l'utiliser il me met un message d'erreur :" this version of routefinder (free version) will only allow 3000 links. The table "pente" has more rows than this".
alison
Hors ligne
#16 Tue 04 May 2010 17:20
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Incorporer des zones trop petites à des plus grandes
As tu regardé la création d'oursins?
si tu veux calculer la distance --> tu as 2 tables non jointes avec les petites parcelles et les autres.
Mais l'union de ces 2 tables te donne la première non?
Donc si tu veux calculer la distance avec une requète SQL il faut prendre la table complète celle du départ puis utiliser la sélection des petites parcelles (qui est connue)
Hors ligne
#17 Tue 04 May 2010 17:23
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Incorporer des zones trop petites à des plus grandes
...lorsque j'assemble les zones trop petites aux zones contiguë plus grande, je voudrais garder l'information "gridcode" et l'information "surface" (sommes des 2 zones assemblés)....
Bonjour
Je m'immisce...
J'ai bien une idée mais je voudrais d'abord savoir si les petites zones < 1 ha sont contiguës (un côté ou au moins un point commun) aux grandes ou seulement "proches" et si ces petites zones peuvent être contiguës à plus d'une grande zone ??
Hors ligne
#18 Tue 04 May 2010 17:29
- ally35
- Participant occasionnel
- Date d'inscription: 29 Apr 2010
- Messages: 19
Re: Incorporer des zones trop petites à des plus grandes
Oui une zone <1 ha peut avoir plusieurs grandes zones contigues et peut etre contiguë par au moins un côté ou plusieurs.
Alison
Hors ligne
#19 Tue 04 May 2010 17:41
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Incorporer des zones trop petites à des plus grandes
Il me semblait que des petites parcelles n'étaient contigues d'aucune grandes parcelles.
Je pense que Maurice veut dire "toutes les petites parcelles"
Hors ligne
#20 Tue 04 May 2010 19:34
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Incorporer des zones trop petites à des plus grandes
@Spacejo: je parle des parcelles < 1 ha, objet de la question
@ally35: comment décidez vous, pour une de ces petites parcelles ayant plusieurs grandes parcelles contigues, à laquelle la rattacher ?
ps: je ne crois plus beaucoup à une solution autre que le développement d'un *.mbx spécifique
Hors ligne
#21 Tue 04 May 2010 19:47
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Incorporer des zones trop petites à des plus grandes
Moi aussi je parle des parcelles<1ha
Hors ligne
#22 Wed 05 May 2010 09:27
- ally35
- Participant occasionnel
- Date d'inscription: 29 Apr 2010
- Messages: 19
Re: Incorporer des zones trop petites à des plus grandes
ok merci quand même à vous deux d'avoir pris le temps.
Je pense que je vais trouver une solution plus simple.
Alison
Hors ligne