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 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

ally35 a écrit:

...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 sad

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

 

Pied de page des forums

Powered by FluxBB