Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Printemps des cartes 2024

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

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 smile

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

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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 wink

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 smile

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

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 ?

ferreira a écrit:

...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 smile
- 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: 70

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

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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

Hors ligne

 

#27 Tue 19 July 2011 18:38

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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
Moderateur
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...  sad 
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

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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 smile

Je la mets en pièce jointe de mon message.

Dernière modification par Robin (Wed 20 July 2011 09:52)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

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

 

Pied de page des forums

Powered by FluxBB