#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 subJ'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


