#1 Wed 05 January 2011 10:10
[MapBasic 10.x] Connaitre les types d'objets existants
Bonjour,
Ma question peut paraitre simple, mais je cherche à connaitre tous les types d'objets (OBJ_TYPE) présents dans une table de manière RAPIDE !!
Explication :
Je dispose de tables de plusieurs dizaines de milliers d'enregistrements et il m'est donc impossible de boucler sur chaque enregistrement
Code:
FETCH Next et objectInfo(obj,1)...
Trop lent.
Si je regarde le contrôle des couches sous l'interface MapInfo, modifier l'affichage, MI connait déjà les types d'objets des tables... comment fait-il et puis-je accéder à cette information.
Par avance merci... et bonne année tous.
Florent
Hors ligne
#2 Wed 05 January 2011 13:18
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: [MapBasic 10.x] Connaitre les types d'objets existants
Salut,
En créant une colonne "Nature_Objet"
Avec ce genre de requête -->
Code:
Select * from Ta_Table where str$(obj) = "Polyline" into Resultat
ou
Code:
Select * from Ta_Table where str$(Ojectinfo(obj,1)) = "4" into Resultat
En sachant que --> 1 = Arc 2 = Ellipse 3 = Line
4 = Polyline 5 = Point 7 = Region
8 = Rectangle 9 = Rounded Rectangle 10 = Text
Puis
Code:
Update Resultat Set Nature_Oblet="Polyline"
Tout ceci peut être fait avec la FMB
A+
Joël
Dernière modification par Spacejo (Wed 05 January 2011 13:19)
Hors ligne
#3 Wed 05 January 2011 13:44
- SPujol
- Participant actif
- Lieu: Villeneuve d'Ascq
- Date d'inscription: 10 Jan 2008
- Messages: 61
Re: [MapBasic 10.x] Connaitre les types d'objets existants
Dans la FMB:
Code:
Select str$(obj) from ma_table group by COL1 into ma_selection
Donnera tous les types d'objets présents dans la table.
Amicalement.
Sylvain PUJOL (Collecte Localisation Satellite - CLS)
Hors ligne
#4 Wed 05 January 2011 15:22
Re: [MapBasic 10.x] Connaitre les types d'objets existants
Merci à tous,
J'avais pensé à la solution de Spacejo mais le programme n'a pas le droit de créer de colonnes ou de modifier la table.
Par contre, la solution du select str$(obj) me convient à merveille.
Florent
Hors ligne