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 Mon 28 July 2008 16:20

stephane.sautonie
Participant occasionnel
Date d'inscription: 11 Jul 2008
Messages: 24

Problème de points

Bonjour à tous,

j'ai un petit soucis qui me retarde beaucoup.

Je travaille sur MapInfo 9.

Je possède 2 tables qui possèdent des points de coordonnées en commun.

Afin d'extraires ces coordonnées pour en faire une nouvelle table, j'utilise la commande SQL suivante :

coord_toit_toarcien.NodeX And coord_toit_toarcien.NodeY = coord_BP_j1.NodeX  And coord_BP_j1.NodeY

La syntaxe est correct mais le message "aucun enregistrement n'est sélectionné" apparaît.

Et puis rien.

Quelqu'un peut-il m'aider? Merci.

Hors ligne

 

#2 Mon 28 July 2008 16:44

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

Re: Problème de points

stephane.sautonie a écrit:

coord_toit_toarcien.NodeX And coord_toit_toarcien.NodeY = coord_BP_j1.NodeX  And coord_BP_j1.NodeY


Bonjour,

Cette syntaxe est acceptée par MapInfo bien qu'elle soit incorrecte.
Il vaut mieux mieux écrire : coord_toit_toarcien.NodeX=coord_BP_j1.NodeX and coord_toit_toarcien.NodeY=coord_BP_j1.NodeY


ou si ce sont des objets points : coord_toit_toarcien.Obj intersects coord_BP_j1.Obj

Nicolas.


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

Hors ligne

 

#3 Mon 28 July 2008 16:59

stephane.sautonie
Participant occasionnel
Date d'inscription: 11 Jul 2008
Messages: 24

Re: Problème de points

Merci, les deux possibilités fonctionnent.

Par contre des points non communs subsistent.

Je pense que certains points non communs ont en la coordonnée X ou Y.

Est-ce qu'il n'y a pas une petite astuce pour éviter cela?

Hors ligne

 

#4 Tue 29 July 2008 06:58

JM
Participant occasionnel
Lieu: Toulouse
Date d'inscription: 1 Jun 2006
Messages: 34

Re: Problème de points

Bonjour,

Il se peut que tes coordonnées soient très proches mais pas rigoureusement identiques (décimales différentes par exemple ...).
Si c'est le cas une égalité stricte ne marchera pas.

Tu peux essayer de pallier celà en créant un tout petit buffer autour d'une de tes couches de points (en récupérant son identifiant) et en passant par une requête avec opérateur géographique de type "contains" ou "within" selon ta manière de travailler.

C'est un peu plus lourd mais ça marche assez bien quand je rencontre ce type de difficulté.

Hors ligne

 

#5 Tue 29 July 2008 09:38

stephane.sautonie
Participant occasionnel
Date d'inscription: 11 Jul 2008
Messages: 24

Re: Problème de points

Merci, mais je suis débutant et j'ignore ce qu'est un buffer.

Hors ligne

 

#6 Tue 29 July 2008 10:20

JM
Participant occasionnel
Lieu: Toulouse
Date d'inscription: 1 Jun 2006
Messages: 34

Re: Problème de points

Re-bonjour
Un buffer c'est un "tampon" chez Mapinfo
Dans le menu objet tu as une option "tampon", tu peux passer par la création de ces objets (un tampon et un objet créé dans un périmètre entourant un autre objet)
Donc autour de tes points tu peux créer un patit cercle (tampon ou buffer) représentant l'incertitude autour de la précision de tes coordonnées et chercher les objets qui sont dans ce périmètre.

Sinon tu peux passer par une requête sql du type :

Colonnes : *
Tables : P02 [une de tes 2 tables de points]
Critères : OBJ intersects any ( select buffer ( OBJ , 6 , 10 , "m" ) from P01)            [où P01 est ton autre table de points]

Cette expression va te sélectionner entre tes 2 tables tous les objets communs dans un périmètre de 10 mètres

Le "6" correspond au nombre de facettes du tampon généré (tu peux le laisser tel quel ou l'augmenter à 12 pour t'approcher d'un cercle régulier)
Le "10" correspond au rayon de recherche du tampon  et le "m" à l'unité de recherche (ici le mètre)
Si ton imprécision entre tes coordonnées et de l'ordre du mètre, tu remplaces le "10" par "1" (ou des valeurs inférieures selon tes besoins)

Tu obtiendras une table qui donne la sélection des points de P01 contenus dans le périmètre des tampons générés à partir de P02
Les paramètres restent à affiner selon la précision de tes tables.

Hors ligne

 

#7 Tue 29 July 2008 13:12

stephane.sautonie
Participant occasionnel
Date d'inscription: 11 Jul 2008
Messages: 24

Re: Problème de points

Malheureusement cette manipulation me donne 4 fois plus de points que prévu (environ 20000 au lieu de 5000).

Sinon, peut-on associer les colonnes X et Y dans la commande SQL?
J'ai l'impression qu'il traite ces colonnes séparément alors qu'il faudrait qu'elles soient considérée ensemble.
La requête "And" ne semble pas satisfaire cela.

Merci.

Hors ligne

 

#8 Tue 29 July 2008 13:49

JM
Participant occasionnel
Lieu: Toulouse
Date d'inscription: 1 Jun 2006
Messages: 34

Re: Problème de points

Il faudrait que tu me joignes un extrait (ou la totalité selon la taille) des données à traiter pour comprendre (structure ...etc..)

A partir de celà je pourrais essayer de chercher. Si j'ai bien compris tu cherches à générer une table unique sans doublons ?

Hors ligne

 

#9 Tue 29 July 2008 14:25

stephane.sautonie
Participant occasionnel
Date d'inscription: 11 Jul 2008
Messages: 24

Re: Problème de points

Merci, finalement j'y suis arrivé. J'avais une erreur au niveau d'une table à cause d'une précédente manipulation.
A présent ta requête SQL initiale fonctionne très bien.
Merci encore et je suis désolé de t'avoir fait perdre ton temps.

Hors ligne

 

Pied de page des forums

Powered by FluxBB