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 Thu 21 April 2005 14:51

Hakim CHERIGUI
Invité

[Mapbasic] Extraction des coordonnees de polylignes

Bonjour a tous,

J’ai une table contenant des polylignes et j’aimerai extraire leurs
coordonnees X1, Y1 et X2, Y2.

Existe-t-il une fonction dans mapinfo ou mabasic qui permet de le faire s’il
vous plait ?

D’avance merci.

Hakim CHERIGUI.

 

#2 Thu 21 April 2005 15:48

Jacques Paris
Invité

Re: [Mapbasic] Extraction des coordonnees de polylignes

Une polyligne est definie par un ensemble de points >2 sinon c’est une
ligne. De quels points 1, 2 s‘agit-il ? Est-ce que les polylignes n’ont qu’
une seule section dans tous les cas ?

Objectgeography() permet d’obtenir les coordonnees des extremites d’une
ligne avec OBJ_GEO_LINEBEGX, OBJ_GEO_LINEBEGY, OBJ_GEO_LINEENDX,
OBJ_GEO_LINEENDY. Pour des polylignes, il faut avoir recours aux fonctions
ObjectNodeX et ObjectNodeY en connaissant le nombre de sections
(ObjectInfo() avec OBJ_INFO_NPOLYGONS) et le nombre de nœuds dans chaque
section (id. avec OBJ_INFO_NPOLYGONS+N).

S’il n’y a qu’une seule section, on peut alors se servir de OBJ_INFO_NPNTS
et dans ce cas la si votre point 1 est le debut de la polyligne
ObjectNode?(objet,1,1) et 2 la fin
ObjectNode?(objet,1,objectinfo(objet,OBJ_INFO_NPNTS))

Jacques Paris
e-mail  jacques@texte-a-enlever.paris-pc-gis.com
MapBasic-MapInfo support  http://www.paris-pc-gis.com

 

#3 Thu 21 April 2005 17:07

Hakim CHERIGUI
Invité

Re: [Mapbasic] Extraction des coordonnees de polylignes

Bonjour,

Tout d’abord merci pour vos reponses.

Pour repondre a vos question les point 1 et 2 sont les extremite de la
polyligne (depart et arrive).

Apres avoir effectue la requete a partir du tutorial de B. Dorner (voir ci
apres), il y a des enregistrements qui restent blanc au niveau des points
finaux.

Est-ce que le 20 de « ObjectInfo(Obj,20 » est un standart ou est une
variable ?

Select Id, ObjectNodeX(Obj,1,1), ObjectNodeY(Obj,1,1),
ObjectInfo(Obj,20),ObjectNodeX(Obj,1,ObjectInfo(Obj,20)),
ObjectNodeY(Obj,1,ObjectInfo(Obj,20)) from ligne into selection

Merci d’avance.

H cherigui.

 

#4 Thu 21 April 2005 17:07

Bertrand Dorner
Invité

Re: [Mapbasic] Extraction des coordonnees de polylignes

Rebonjour,

Apres avoir effectue la requete a partir du tutorial de B. Dorner (voir ci
apres), il y a des enregistrements qui restent blanc au niveau des points
finaux.


J'ai moi-meme ete confronte a ces enregistrements blancs, et voici
comment :
une base access a ete creee pour la gestion de digues interessant la
securite publique.
la table graphique des digues a ete enregistree directement au format
access 97 (probleme du nombre limite d'installations possibles d'access
2000)
A un moment, un enregistrement a du etre present dans la partie
attributaire, sans avoir ete saisi sous MapInfo (l'ideal, dans cette
architecture, etant de creer et supprimer depuis MapInfo).
Mes essais portent sur des donnees reenregistrees au format MapInfo
natif, histoire de s'affranchir des difficultes de communication avec
access, et parce que ces donnees extraites du fichier graphique
n'avaient pas vocation a etre recuperees sous access.
Du coup, la table MapInfo comprend un enregistrement non graphique.

En esperant vous avoir eclairci...

--
Bertrand DORNER
administrateur SIG
DDAF du Haut-Rhin
Service Informatique

Cite Administrative Batiment K
68026 COLMAR cedex
Tel : 03.89.24.86.37
Fax : 03.89.24.82.80

 

#5 Mon 25 April 2005 13:50

Hakim CHERIGUI
Invité

Re: [Mapbasic] Extraction des coordonnees de polylignes

Bonjour a tous et merci pour les reponses.

Je n’ai pas trouve dans l’aide de MI les caracteristiques de la fonction
ObjectInfo, est-il possible de trouver ces dernieres.

Si 20 correspond a OBJ_INFO_NPTS. A quoi correspond OBJ_INFO_NPOLYGONS ?

Merci d’avance.

Hakim CHERIGUI

Charge d'etudes

 

#6 Mon 25 April 2005 17:54

Hakim CHERIGUI
Invité

Re: [Mapbasic] Extraction des coordonnees de polylignes

Re bonjour,

Voici le texte que j’ai utilise (comme me l’a conseille J. PARIS) afin
d’extraire les coordonnees de debut et de fin de polylignes composees de
plusieurs sections.

Ce mbx fonctionne bien mais renvoi des coordonnees en longitude/latitude
alors que ma table est en Lambert II. J’ai donc demander a MI et a MB de
mettre a jour une colonne avec  objectnodeX(obj,1,1). MI renvoi des
coordonnees en lambert II et MB en longitude/latitude.

Est-ce normal ? Y a-t-il une ligne  a ajouter dans le programme mb pour
choisir le systeme de coordonnee ?

Merci d’avance pour vos reponses

Hakim.

_____

De : Jacques Paris [jacques@texte-a-enlever.paris-pc-gis.com]
Envoye : lundi 25 avril 2005 15:00
À : Hakim Cherigui - Atmo NPdC -
Objet : RE: [mapinfo_fr] Extraction des coordonnees de polylignes

Code:

Dim o as object
Dim ns as smallint
Dim i as smallint
Dim np as integer
Dim j as integer

O=selection.obj “ou toute autre facon de saisir l’objet
Ns=objectinfo(o,21)                    ‘nombre de sections dans l’objet
For i=1 to ns
Np=objectinfo(o,21+i)     ‘nombre de nœuds dans la section i
For j=1 to np
X=objectnodeX(o,ns,j)
Y=objectnodeY(o,ns,j)

‘faire ce que l’on doit avec X et Y, coordonnees du nœud j dans la section i

Next

next

Jacques Paris
e-mail  jacques@texte-a-enlever.paris-pc-gis.com
MapBasic-MapInfo support  http://www.paris-pc-gis.com

 

#7 Mon 25 April 2005 17:55

Hakim Cherigui - Atmo NPdC -
Invité

Re: [Mapbasic] Extraction des coordonnees de polylignes

Bonjour a tous,

Est-il possible d’extraire les coordonnees d’une polylignes lorsque celle-ci
est composees de plusieurs sections ?

Merci d’avance pour vos reponses.

Cordialement,

Hakim Cherigui.

De : Jacques Paris [jacques@texte-a-enlever.paris-pc-gis.com]
Envoye : jeudi 21 avril 2005 18:08
À : Hakim CHERIGUI
Objet : RE: [mapinfo_fr] Extraction des coordonnees de polylignes

ObjectInfo(Obj,20) est une fonction avec deux arguments obj represente
l’objet analyse, 20 la caracteristique de l’objet. 20 = OBJ_INFO_NPNTS c’est
a dire le nombre total de nœuds dans l’objet.

Une telle selection ne choisira que les objets qui peuvent etre questionnes
avec l’argument 20, c’est a dire les polylignes et les regions seulement.
Tout autre enregistrement sera ignore. Verifiez si les objets correspondant
a ces enregistrements existent bien et quelle en est la nature

Jacques Paris

 

#8 Tue 26 April 2005 12:19

Francois Biju-Duval
Invité

Re: [Mapbasic] Extraction des coordonnees de polylignes

Y a-t-il une ligne  a ajouter dans le programme mb pour
choisir le systeme de coordonnee ?


Pour avoir les coordonnees en Lambert II etendu (Cf. MapInfo.prj dans le
repertoire d'install. de MapInfo), rajouter en debut de projet MapBasic :

Code:

Set CoordSys Earth Projection 3, 1002,  m , 0, 46.8, 45.898918964419, 47.696014502038, 600000, 2200000

P.S : OBJ_INFO_NPOLYGONS correspond au chiffre 21

 

#9 Mon 29 August 2011 14:41

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: [Mapbasic] Extraction des coordonnees de polylignes

Petite amélioration de la formule citée plus haut :

Code:

Select NOM_SECT_MG,ObjectNodeX(Obj,1,1)  "X1", ObjectNodeY(Obj,1,1) "Y1",ObjectNodeX(Obj,1,ObjectInfo( Obj,20)) "X2",ObjectNodeY(Obj,1,ObjectInfo(Obj,20)) "Y2" from BIEF_L93 into Extremites

J'ai rajouté des noms de colonnes plus explicites.

Hors ligne

 

Pied de page des forums

Powered by FluxBB