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 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

 

Pied de page des forums

Powered by FluxBB