#1 Mon 03 September 2007 15:58
- rmi5222
- Participant occasionnel
- Lieu: Bourg en bresse
- Date d'inscription: 3 Sep 2007
- Messages: 28
Réaliser plus de 600 cartes automatiquement ?
Bonjour,
je souhaite réaliser 615 carte de répartition d'espèces.
Y'a t-il un moyen d'automatiser la tache ou je dois toutes les faires à la main ?
Merci d'avance
Hors ligne
#2 Mon 03 September 2007 16:12
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Réaliser plus de 600 cartes automatiquement ?
Bonjour,
Un "petit" mbx me semble s'imposer...mais avez vous MapBasic ?? (nb: il est dorénavant gratuit mais seul MapInfo 90 peut utiliser les mbx qu'il produit)
Sinon il faudrait utiliser un WOR type et un éditeur de texte puissant qui incrémenterait astucieusement et efficacement quelques paramètres de ce WOR pour créer les 615 WOR...qu'il restera à imprimer
Hors ligne
#3 Tue 04 September 2007 09:08
- rmi5222
- Participant occasionnel
- Lieu: Bourg en bresse
- Date d'inscription: 3 Sep 2007
- Messages: 28
Re: Réaliser plus de 600 cartes automatiquement ?
Merci de votre rapidité !
Je vais opter pour les .WOR, ça va être très long mais l'autre solution, j'ai beaucoup de mal à la déchifrer ;-)
A bientôt et merci encore
Hors ligne
#4 Tue 04 September 2007 09:47
- Olivier T
- Participant actif
- Date d'inscription: 31 May 2006
- Messages: 71
Re: Réaliser plus de 600 cartes automatiquement ?
Bonjour,
Je réalise souvent des routines à l'aide de .wor pour automatiser des créations de cartes.
C'est très rapide, très éfficace et "sans faille" si le modèle est bien préparer.
Je procède de la manière suivante
Un .wor d'initialisation qui met à jour les variablesde selection et de tri
Qui lance un .wor de mise en forme et d'analyse
Qui lance un .wor de mise en page et d'export si besoin
Et retour au .wor d'initialisation variable +1 etc
C'est assez rapide de création, des copier coller dans le .wor d'initialisation suffisent.
une seule modification du .wor d'analyse ou de mise en page modifie tous les exports de cartes
Bonne journée
Hors ligne
#5 Tue 04 September 2007 17:53
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Réaliser plus de 600 cartes automatiquement ?
C'est une excellente astuce pour un sorte de travail "en batch"
On pourrait avoir un exemple de ces 3 sortes de .wor enchainés (sur un cas simple) ??
Merci d'avance
Hors ligne
#6 Wed 05 September 2007 10:14
- Olivier T
- Participant actif
- Date d'inscription: 31 May 2006
- Messages: 71
Re: Réaliser plus de 600 cartes automatiquement ?
Bonjour,
Quel honneur, moi, un si petit faiseur, reconnu comme ayant eu une bonne idée !!
En fait je n'ai rien de "simple" sous le coude, j'en réalise un dès que j'ai 5 min sur une base commune à tous que tout le monde puisse pomper l'idée et je fais suivre.
Bonne journée
Dernière modification par Olivier T (Wed 05 September 2007 10:39)
Hors ligne
#7 Wed 05 September 2007 10:50
- Olivier T
- Participant actif
- Date d'inscription: 31 May 2006
- Messages: 71
Re: Réaliser plus de 600 cartes automatiquement ?
J'ai eu 5min !!
Ci joint le principe : on va exporter N cartes de france au format jpg en la nommant en code_dept.jpg en coloriant le departement choisi
l'enchainement est le suivant:
1)on ne lance qu'initialisation.wor que initialise les variables et lance département.wor
2)departement.wor ne sert qu'a incrementer le code du département
3)mise en page.wor sert à colorier le département sélectionner et exporter la carte colorisée
... puis on incrémente de 1 département on relance mise en page . wor etc ....
Code:
INITIALISATION.WOR !Workspace !Version 750 !Charset WindowsLatin1 dim departement as integer dim chemin as string chemin="c:\" Open Table "C:\SIG\Fonds de cartes\France et international\France\F_dept.TAB" Interactive Map From F_dept Run Application chemin & "departement.wor" end mapinfo
Code:
DEPARTEMENT.WOR !Workspace !Version 750 !Charset WindowsLatin1 departement=8 Run Application "c:\mise en page.wor" departement=departement+1 Run Application "c:\mise en page.wor" departement=departement+1 Run Application "c:\mise en page.wor" departement=departement+1 Run Application "c:\mise en page.wor" departement=departement+1 Run Application "c:\mise en page.wor" departement=departement+1 Run Application "c:\mise en page.wor"
Code:
MISE EN PAGE.WOR !Workspace !Version 750 !Charset WindowsLatin1 Select * from F_dept where CODE_DEPART=departement into departement_choisi set map redraw off Add Map Layer departement_choisi Set Map Layer 1 Display Global Zoom (0, 100000) Units "km" Off Editable Off Selectable On Global Line (1,2,0) Global Pen (1,2,0) Global Brush (2,16719904,16777215) Global Symbol (35,0,12) Global Font ("Arial",0,9,0) Label Line None Position Center Font ("Arial",0,9,0) Pen (1,2,0) With NOM Parallel On Auto Off Overlap Off PartialSegments Off Duplicates On Offset 2 Max Visibility On Nodes Off Arrows Off Centroids Off set map redraw on save window frontwindow() as chemin & departement & ".jpg" type "JPEG" resolution 50
Après on peut corser l'affaire bien sur, définir des alias, définir différentes analyses en fonctions des alias choisis mais ne s'appuyer que sur une mise en page ETC
Ne disposant pas de Mapbasic, je trouve cette solution pile poil: un .wor terminé, Mapinfo passe à l'instruction suivante et si on parametre bien ses données, de simples copier coller suffisent.
Bonne journée
Hors ligne
#8 Wed 05 September 2007 11:13
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Réaliser plus de 600 cartes automatiquement ?
Grand merci pour ce WorBasic
Hors ligne
#9 Thu 06 September 2007 10:25
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: Réaliser plus de 600 cartes automatiquement ?
@ Olivier merci pour l'astuce
Dernière modification par Brindavoine (Thu 06 September 2007 10:26)
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#10 Thu 06 September 2007 10:30
Re: Réaliser plus de 600 cartes automatiquement ?
Joli Olivier.
Je me suis permis de rajouter les balises de mis en forme CODE. Mes excuses d'avance à Maurice (qui n'aime pas trop le noir du fond des balises CODE) Promis on en reparle pour trouver une solution
Hors ligne
#11 Thu 06 September 2007 13:39
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Réaliser plus de 600 cartes automatiquement ?
ps: Merci Robin de te soucier de ma "phobie" du noir
Hors ligne
#12 Fri 07 September 2007 12:42
- rmi5222
- Participant occasionnel
- Lieu: Bourg en bresse
- Date d'inscription: 3 Sep 2007
- Messages: 28
Re: Réaliser plus de 600 cartes automatiquement ?
Salut,
merci à tous, la configuration m'étant completement inconnue, j'ai pris la solution de faire les 615 cartes à la main !
Merci à tous pour vos aides très rapides !
Hors ligne
#13 Fri 07 September 2007 13:44
- Cartosig
- Participant assidu
- Date d'inscription: 16 Oct 2006
- Messages: 222
Re: Réaliser plus de 600 cartes automatiquement ?
Dites vous bien une chose, le temps que vous allez passer a faire en manuel ce qui pourrait etre fait en automatique c'est du temps perdu...
Même si vous mettez un peu plus de temps a apprendre comment faire fonctionner ce .WOR, une fois que c'est acquis c'est pour la vie !
Hors ligne
#14 Fri 07 September 2007 14:11
- Olivier T
- Participant actif
- Date d'inscription: 31 May 2006
- Messages: 71
Re: Réaliser plus de 600 cartes automatiquement ?
Bonjour à tous,
Merci pour la mise en forme du code à Robin !!
Petite note pour rmi5222, le découpage du ".wor " d'origine est très facile à comprendre, il suffit de ce poser quelques questions avnt de se lancer
quelles sont les variables qui changent de valeurs?
est ce que toutes mes cartes ont la même mise en page ?
puis on découpe en un .wor qui va décaler toutes les variables, les initialiser et lancer un .wor qui lui se chargera de mettre en forme et qui lancera un .wor qui se chargera de
faire la mise en page et l'export
et retour au .wor d'iniatialisation, on change la valeur des variables et on continue....
D'autant que , je ne sais pas pour vous, mais une fois que des utilisateurs ont gouté à une jolie mise en page, ils veulent plus que celle là, ainsi, tous mes wor peuvent lancer
une même mise en page avec insertion des logos, date et heure de création etc
Vraiment très heureux que le principe vous plaise !!!
Bonne journée
Hors ligne
#15 Wed 24 October 2007 16:43
- Vison2Europe
- Participant occasionnel
- Date d'inscription: 13 Sep 2006
- Messages: 25
Re: Réaliser plus de 600 cartes automatiquement ?
Bonjour,
J'aimerais tester cette méthode.
cette méthode est elle valable avec MapInfo 7.8 et MapBasic ????
Je n'ai jamais utilisé MapBasic et ne connait pas WorBasic.
Pouvez vous détailler un petit plus la méthode.
Les .WOR sont ils crées au préalable, ensuite suffit-il d'ajouter dans WORD les compléments de vos code.
Est ce possible de m'éclairer ??
Hors ligne
#16 Wed 24 October 2007 17:27
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Réaliser plus de 600 cartes automatiquement ?
...cette méthode est elle valable avec MapInfo 7.8 et MapBasic ????
Je n'ai jamais utilisé MapBasic et ne connait pas WorBasic....
...Les .WOR sont ils crées au préalable, ensuite suffit-il d'ajouter dans WORD les compléments de vos code...
Bonjour,
- WorBasic c'était juste une blague de ma part pour baptiser cette méthode qui ajoute des commandes MapBasic à un Wor
- la méthode est valable pour tout MI, à condition de pas ajouter des commandes MB qu'il ne comprendrait pas pour cause de version trop "éloignées"
- la méthode est bien celle la: ajout de commandes MB (à connaître: lire le guide MB disponible sur le CD d'installation de MI mais qui ne s'installe pas par défaut) avec un éditeur (notepad ou wordpad, éviter Word..)
Hors ligne
#17 Thu 25 October 2007 11:31
- Olivier T
- Participant actif
- Date d'inscription: 31 May 2006
- Messages: 71
Re: Réaliser plus de 600 cartes automatiquement ?
Bonjour,
Effectivement comme éditeur de texte , bannir Word !!
Pour ma part , et pour réaliser sa première boucle, je vous invite à faire l'exercice tout simple de colorier et exporter un jpg de chaque département francais
C'est très simple et assez pédagogique, il me semble..
Bonne journée , à disposition !!
Hors ligne
#18 Mon 03 December 2007 12:19
- frtou
- Participant actif
- Lieu: Cergy
- Date d'inscription: 6 Sep 2005
- Messages: 71
Re: Réaliser plus de 600 cartes automatiquement ?
Bonjour,
Je viens de tester cette méthode et ça marche trés bien.
Par contre, j'aurais voulu savoir comment on peut faire pour centrer la mise en page sur le centroid du polygone recherché (par exemple, les départements)
Merci d'avance
Hors ligne
#19 Mon 03 December 2007 12:41
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Réaliser plus de 600 cartes automatiquement ?
Bonjour
Vous pouvez intégrer à la fin de chaque Set Map les lignes suivantes:
Code:
Dim numero as integer ' la première fois, inutile après fetch first from ma_table ' la première fois, ensuite il suffira de fetch next from ma_table numero=Comm66.rowid select * from ma_table where rowid=numero into __seltable add map layer __seltable set map zoom entire layer __seltable close table __seltable Set Window FrontWindow() Title "Carte "+numero ' facultatif... ' ne pas oublier Undim numero à la fin de la série de Set Map..., avant la série de Layout ...
Hors ligne
#20 Mon 11 July 2011 15:25
- adrian_buravand
- Participant occasionnel
- Lieu: Mezin
- Date d'inscription: 17 Feb 2006
- Messages: 23
Re: Réaliser plus de 600 cartes automatiquement ?
Bonjour à tous,
Une question qui vient longtemps après la clôture de ce sujet ? Je n'ai pas Mapbasic, je me suis donc lancé dans le "Worbasic", je voulais juste savoir s'il était possible d'utiliser des Conditions type "if .... then .... end if" ?
Merci d'avance pour vos réponses...
A +
Dernière modification par adrian_buravand (Mon 11 July 2011 15:26)
Hors ligne
#21 Mon 11 July 2011 16:55
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Réaliser plus de 600 cartes automatiquement ?
Bonjour
Désolé mais c'est non: ni boucle ni sauts conditionnels ! Ils son réservés aux outils MapBasic (mb et mbx)
Hors ligne
#22 Mon 11 July 2011 17:21
- adrian_buravand
- Participant occasionnel
- Lieu: Mezin
- Date d'inscription: 17 Feb 2006
- Messages: 23
Re: Réaliser plus de 600 cartes automatiquement ?
merci
Hors ligne
#23 Tue 19 July 2011 17:27
Re: Réaliser plus de 600 cartes automatiquement ?
Au passage, quelqu'un connaitrait il les capacités de MI10.5 en terme d'impression en série ?
Est-ce qu'il faut toujours bricoler ou y a t il un MBX magique (ou une fonction) pouvant le faire ?
Robin, au cas où.
Hors ligne
#24 Tue 19 July 2011 17:39
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Réaliser plus de 600 cartes automatiquement ?
Salut,
En passant par un .wor ou scriptgen (peut être).
A+
Joël
Hors ligne
#25 Tue 19 July 2011 17:44
Re: Réaliser plus de 600 cartes automatiquement ?
Bouh, je vais devoir m'y coller... snif. Merci quand même.
Au passage, j'ai quand même trouvé ça pour 5 WOR, c'est déjà mieux que rien
http://www.directionsmag.com/files/view … exe/138991
Hors ligne
#26 Tue 19 July 2011 17:45
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Réaliser plus de 600 cartes automatiquement ?
Est ce que celà collerait:
http://www.forumsig.org/showthread.php? … export+pdf
Hors ligne
#27 Tue 19 July 2011 18:38
Re: Réaliser plus de 600 cartes automatiquement ?
Pour suivi, je remets ici la méthodo de Joël un peu modifiée pour créer du JPG en chaîne :
1. Téléchargement et installation de Scriptgen : http://rictrem.com/Scriptgen.aspx
2. Ouverture du logiciel pour la création du fichier de script :
3. La commande de base (=le modèle) est la suivante:
Code:
Run Application "C:\...\XXXX.WOR" save window frontwindow() as "C:\...\XXXXCarte.jpg" type "JPEG" resolution 150 Close all
4. Cocher : "Utiliser une liste". Le logiciel ouvre un nouvel onglet.
5. Cliquer sur le gros bouton "Faire une liste". On peut alors lui faire créer la liste des fichiers WOR (ou autres pour d'autres logiciels) à ouvrir, avec différents paramètres. Sélectionner le bon répertoire et les paramètres souhaités.
[img]http://nsa28.casimages.com/img/2011/07/19/110719063203710485.jpg[/img]
En principe, on doit obtenir une liste de noms de WOR.
6. Dans "valeur à remplacer" du premier onglet "Script de base" écrire ---> XXXX
Ca aura pour effet de remplacer XXXX par les valeurs de la liste. Il est possible de modifier le script de base si on a utilisé par exemple la collecte de l'arborescence entière.
Dans ce cas, le script de base sera par exemple :
Code:
Run Application "XXXX" save window frontwindow() as "XXXX_Carte.jpg" type "JPEG" resolution 150 Close all
7. Aller dans le menu Outils -> Options -> Décocher "utiliser des lignes de séparation"
8. Aller dans le menu Outils -> "Générer le script final". On obtient toutes les commandes dans un fichier texte.
9 .Faire une copie de tout ça puis coller dans la FMB
10. Sélectionner tout le code puis taper sur la touche Entrée.
Bilan : à priori, ça semble fonctionner.
Premier bémol : la résolution est crassouille, même en l'augmentant de 150 à 600 pour du JPG. A 600 j'ai des énormes traits c'est mochissime.
Deuxième bémol, le PDF ne marche pas, je suppose qu'il ne génère pas forcément ce format via le save window frontwindow().
A suivre,
Robin, qui creuse.
Hors ligne
#28 Wed 20 July 2011 08:06
- nicoboud
- Membre
- Lieu: Nantes
- Date d'inscription: 12 Oct 2007
- Messages: 860
Re: Réaliser plus de 600 cartes automatiquement ?
Bonjour,
Une autre alternative avec le publipostage d'un gabarit de wor (création d'un nombre non limité de cartes en image ou pdf) :
http://georezo.net/forum/viewtopic.php? … 72#p195472
la source : http://ppige.geosignal.fr/portail/?q=at … ne/methode
et mon adaptation de la méthode avec writer : cf fichier joint.
Nicolas.
Je n'arrive pas à mettre une pièce jointe...
je vais mettre le fichier en ligne ailleurs et je reviens mettre le lien.
Dernière modification par Nicolas Boudesseul (Wed 20 July 2011 08:16)
Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS
Hors ligne
#29 Wed 20 July 2011 09:49
Re: Réaliser plus de 600 cartes automatiquement ?
Je n'arrive pas à mettre une pièce jointe...
500ko maximum pour les membres, 2Mo pour les modo, il me semble
Je la mets en pièce jointe de mon message.
Dernière modification par Robin (Wed 20 July 2011 09:52)
Hors ligne
#30 Wed 20 July 2011 22:58
- hanczyk
- Participant assidu
- Lieu: Châlons-en-Champagne
- Date d'inscription: 21 Apr 2006
- Messages: 596
Re: Réaliser plus de 600 cartes automatiquement ?
Bonsoir Nicolas,
Ta méthode fonctionne bien et ton tutoriel est très clair.
Cordialement,
Jean-Marc Hanczyk
Hors ligne