#1 Fri 25 January 2013 19:39
- abel.ludba
- Juste Inscrit !
- Date d'inscription: 25 Jan 2013
- Messages: 3
MapBasic V 9.5
Salut
Je travaille sur des fichiers routiers : routes de plusieurs categories. Je voudrais faire un fichier MapInfo qui encapsule tous les fichiers sur lesquels je travaille.
Je crée donc, un Seamless file. Voci comment je procede.
(code réduit mais completement fonctionnel)
Code:
Include "c:\program files\mapinfo\mapbasic\MapBasic.def" Include "c:\program files\mapinfo\mapbasic\Icons.def" Include "c:\program files\mapinfo\mapbasic\Menu.def" ' ' Declare Sub Main ' Sub Main close all ' Decalarations ' dim i as Integer dim intLayerNbr as Integer dim intLayerNbrToSeamless as Integer dim intLayerID as Integer ' ' dim strActiveScreenName as String ' dim strPathToFiles as String dim strFileName(3) as String dim strThisFile as String dim strSeamlessName as String Dim tablename As String Dim TableFullName As String ' Dim new_name As String ' dim strCurrentLayer as String ' strFileName(1)="CollectorRtes.TAB" strFileName(2)="localRtes.TAB" ' new_name="D:\Documents and Settings\hamdoab\My Documents\seamless_roads" ' strPathToFiles="D:\Documents and Settings\hamdoab\My Documents\seamless_roads" ' ' ' ' dim fltLonMIN, fltLonMAX ,fltLatMIN, fltLatMAX as Float ' dim objThisObject as Object ' ' ' dim boolIsSeamless as Logical dim boolDoesItWork as Logical ' ' Open Table "D:\Documents and Settings\hamdoab\My Documents\seamless_roads\localRtes.tab" Interactive Map From localRtes Open Table "D:\Documents and Settings\hamdoab\My Documents\seamless_roads\CollectorRtes.TAB" Interactive Add Map Auto Layer CollectorRtes ' ' ' intLayerID =FrontWindow() tablename = PathToTableName$(new_name) note ("tablename ="+tablename ) ' ' Create Table tablename (Table Char(100),Description Char(25) ) File new_name TYPE NATIVE Create Map For tablename CoordSys Window intLayerID ' ' intLayerNbr =MapperInfo(intLayerID ,MAPPER_INFO_LAYERS ) ' ' for i =1 to 2 strCurrentLayer =LayerInfo( intLayerID ,i, LAYER_INFO_NAME) TableFullName = LayerInfo(intLayerID , i, LAYER_INFO_PATH) TableFullName = PathToFileName$(TableFullName) fltLonMIN = TableInfo( strCurrentLayer , TAB_INFO_MINX ) fltLatMIN = TableInfo( strCurrentLayer , TAB_INFO_MINY ) fltLonMAX = TableInfo( strCurrentLayer , TAB_INFO_MAXX ) fltLatMAX = TableInfo( strCurrentLayer , TAB_INFO_MAXY ) Create Rect Into Variable objThisObject (fltLonMIN,fltLatMIN)(fltLonMAX,fltLatMAX) Insert Into tablename (Table, Description, Obj) Values (TableFullName, strCurrentLayer , objThisObject ) 'intLayerNbr = intLayerNbr + 1 Next Set Table tablename Seamless On Commit Table tablename end sub
J'ai message à fin disant " Cannont perform this operation on table..."?
Quelqu'un aurait une idée pourquoi?
Thanks
Abel
Hors ligne
#2 Sat 26 January 2013 14:18
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: MapBasic V 9.5
Salut et bienvenue,
Les tables sur lesquelles tu interviens sont t'elles en lecture seule (read only)?
A+
Joël
Dernière modification par Spacejo (Sat 26 January 2013 14:18)
Hors ligne
#3 Sun 27 January 2013 15:25
- abel.ludba
- Juste Inscrit !
- Date d'inscription: 25 Jan 2013
- Messages: 3
Re: MapBasic V 9.5
Salut Joel
Salut tout le monde
Je n'ai pas mis les tables en monde édition (Editabl). J'ai essayé de les mettre ne monde edition et j'ai reçu l'erreur "Invalid view layer".
Je ne sais pas quoi faire?
Merci de votre aide
Abel
Hors ligne
#4 Mon 28 January 2013 10:32
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: MapBasic V 9.5
Salut,
Est ce que tes tables sont issues d'un fichier excel?
Une possibilité est de faire un "sauvegarder sous" de tes tables et de faire ta manip avec ces copies qui normalement devraient être en "Interractive".
A+
Joël
Hors ligne
#5 Mon 28 January 2013 13:19
- abel.ludba
- Juste Inscrit !
- Date d'inscription: 25 Jan 2013
- Messages: 3
Re: MapBasic V 9.5
Salut
Mes fichiers sont une conversion de fichiers shp (on reçoit ces fichiers 2 fois par an).
Si j'utilise l'outil de création de fichiers seamless de MapInfo cela fonctionne. Mais, comme ce sont des fichiers routiers pour tout le pays et qu'il y a des categories (autoroutes, routes nationnales, etc.) j'ai donc plus de 900 tab à ouvrir avec cette outil pour les convertir en seamless. D'ou l'utilité d'avoir un programme qui fait cela tous les 6 mois.
Le problème c'est mon code MapBasic qui ne fonctionne pas. Je dois faire qlq ch de pas correct.
Mais, je ne sais pas quoi?
Merci
Abel
Hors ligne