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 05 May 2008 11:13

maure
Participant occasionnel
Date d'inscription: 28 Apr 2008
Messages: 10

Céer un Point à la position du curseur

Bonjour Tout le monde
J'ai un fichier excel avec trois colonnes X(latitude) Y(longitude) et Z(altitude), j'ai une application sous VB qui fait appel à MapInfo , j'ouvre mon fichier excel avec cette application et je crée des points avec mon fichier excel mais le probleme est le suivant:
si je place mon curseur sur l'un des points que j'ai crée, j'ai les coordonnées X Y en message , mais moi je veux enregistrer les cordonnées du curseur pour créer un point à l'emplacement du curseur( à la position du click) comment je peux faire.

explication:
J'ai un MNT sous format XYZ je l'ouvre sous mapInfo (ensemble de points et pour chaque point j'ai X Y et Z) mon objectif est de cliquer pour 1 fois pour placer un point dans la position ou je click et enregistrer les coordonnées et je click une autre fois pour enregister la nouvelle position du curseur, tous ça dans le but de degager le profil de terrain entre ce deux points sur mon Map
Si quelqu'un peu m'aider c'est bien .

Hors ligne

 

#2 Mon 05 May 2008 14:33

Nicolas Szlapka
Participant actif
Lieu: NPDC
Date d'inscription: 20 Dec 2006
Messages: 107

Re: Céer un Point à la position du curseur

Bonjour.
Je n'ai peut-être pas bien compris, mais peut-être qu'en rendant la couche modifiable et en plaçant des points dans la Fenêtre Carte il y a moyen d'en ressortir les coordonnées.
Pour se référer à des coordonnées avec le curseur, il faut cliquer dans la case en bas à gauche de l'écran, là où il est écrit "Zoom : xxx km", et choisir "Position curseur".
Quand vous déplacez le curseur dans la Fenêtre Carte, les coordonnées X et Y sont écrites dans cette case.
(mais peut-être connaissiez-vous déjà ce truc...)
Ensuite, dès que les points sont ajoutés, on peut sûrement mettre les colonnes à jour dans la Table...
J'espère vous avoir un peu aidé. Bon courage. smile

ah oui, j'oubliais : penser à enregistrer la Table d'origine au cas où, avant les modifications.

Dernière modification par Nicolas Szlapka (Mon 05 May 2008 14:34)


Nicolas

Hors ligne

 

#3 Mon 05 May 2008 14:51

maure
Participant occasionnel
Date d'inscription: 28 Apr 2008
Messages: 10

Re: Céer un Point à la position du curseur

merci beacoup c'est ce que je veux , je veux rend le couche modifiable et placer des points directement et recuperer les coordonnées des ces points dans une table si c'est possible de bien m'expliquer comment faire pour rendre la couche modif et comment placer directement des points merci sur votre aide

Hors ligne

 

#4 Mon 05 May 2008 15:39

Nicolas Szlapka
Participant actif
Lieu: NPDC
Date d'inscription: 20 Dec 2006
Messages: 107

Re: Céer un Point à la position du curseur

OK.
Premièrement, j'espère que vous utilisez une copie de la Table.
Pour rendre la couche modifiable, faire un clic droit dans la Fenêtre Carte, choisir le Contrôle des Couches. Ensuite il faut cocher la case sous l'icône du petit crayon (si vous placez le curseur dessus, vous verrez une Info-bulle "Modifiable" normalement).
Cliquer sur OK. Retour dans la Fenêtre Carte.
Pour faire des objets ponctuels sur la Carte, il faut cliquer sur l'icône ressemblant à une punaise bleue dans la Barre d'outils "Dessins".
Votre curseur s'est transformé en +.
Vous déplacez le curseur en fonction des coordonnées affichées dans la case en bas à gauche de l'écran. Moi j'ai les coordonnées en mètres, vous aussi peut-être.

Il y a une autre méthode qui correspondrait mieux si vous avez les coordonnées décimales.
Faites une nouvelle Table avec le même système de projection.
Mettez-y 3 champs (ID, X et Y).
Placez la dans la Fenêtre Carte, rendez-la modifiable.
Mettez vos points sur la Carte, toujours d'après la position du curseur en bas à gauche.
La Table se met à jour toute seule (ajout de ligne pour chaque nouveau point).
Quand vous les aurez tous placé, faites Table --> Mettre à jour Colonne.
Mettez à jour la colonne X en mettant l'expression CentroidX(obj) (c'est dans les Fonctions). Idem pour Y, choisir CentroidY(obj).
Les coordonnées seront en degrés par contre.

Dernière chose, pour avoir les coordonnées en degrés décimaux dans la Barre d'état (en bas à gauche), faire menu Carte --> Options puis mettre Coordonnées en "degrés".

Encore quelque chose :
pour mettre à jour la colonne ID, ouvrir la Fenêtre MapBasic (Options --> Afficher Fenêtre MapBasic) et y taper :
Update truc Set ID = Rowid
et faire Entrée ("truc" est le nom de la Table)

Dernière modification par Nicolas Szlapka (Mon 05 May 2008 15:52)


Nicolas

Hors ligne

 

#5 Mon 05 May 2008 15:55

maure
Participant occasionnel
Date d'inscription: 28 Apr 2008
Messages: 10

Re: Céer un Point à la position du curseur

merci bien nicolas,
mais le probléme c'est pas en MapInfo mon probléme est que je pilote MapInfo dans une fenetre VB(mon application developpé sous VB est une fenetre qui appel MapInfo silensieuxement cad j'ouvre mapinfo dans une zone image de mapinfo donc pour chaque fonctinalité de mapinfo je dois le converture en code VB ) donc pour faire des commandes MapInfo il faut un code VB est ce que vous avez compris mon probléme
merci bien nicolas j'espere que tu à des reponses.

Hors ligne

 

#6 Mon 05 May 2008 16:06

Nicolas Szlapka
Participant actif
Lieu: NPDC
Date d'inscription: 20 Dec 2006
Messages: 107

Re: Céer un Point à la position du curseur

Oui, j'ai relu le message 2 ou 3 fois... big_smile

Je vois un peu où vous voulez en venir.
Alors ça veut dire qu'il faut un code faisant utiliser l'outil Symbole (punaise bleue) pour créer des points et noter automatiquement leurs coordonnées...
Oh lala... J'ai beau avoir fait un peu de Visual Basic, je ne suis pas assez calé pour vous aider d'avantage. Désolé.
Mais peut-être est-ce faisable avec une application MapBasic...?
(Maurice ? Vous n'êtes pas dans le coin par hasard ?)

Désolé, j'espère que quelqu'un vous apportera une solution rapidement. hmm


Nicolas

Hors ligne

 

Pied de page des forums

Powered by FluxBB