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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 07 January 2005 15:36

Baume
Invité

mise en page automatise

Bonjour, bonjour,

Je fais appel a vos connaissances pour m'aider dans un travail assez long a effectuer.
J'ai un document compose d'une serie de raster (donnee teleatlas) et une table de polygone representant des secteurs contenant ces rasters.

J'aimerai qu'une mise en page soit effectuee automatiquement, sur le centroide d'un polygone de ma couche, lancer une impression, et passer a un autre centroide, jusqu'au dernier.
Ce automatiquement, sans que j'ai a localiser a chaque fois la carte pour chaque polygone (plus d'une centaine)
Les polygones sont numerotes...

Voila, si quelqu'un a quelque connaissance sur ce sujet, en mapbasic je pense, je suis tout ouiouioui

christophe

 

#2 Fri 07 January 2005 17:56

Ch Baume
Invité

Re: mise en page automatise

bonjour,
J'aimerai editer automatiquement une serie de cartes comportant a chaque fois un polygone et un raster en arriere plan. Les poly et raster sont dans un meme document. Il y a plus d'une centaine de poly.
Soit je fais plus de cent mise en pages enregistrees en document wor et j'imprime (avec un outils d'impression automatise)
Soit, dans mapbasic, j'effectue une mise en page qui change pour chaque poly, ce automatiquement...

Bon, je crois que la premiere solution serait la plus simple.
Si qqun a deja fait cela, ou connait un moyen d'effectuer automatiquement des mises en page centrees sur le centroide d'un polygone, automatiquement et d'enregistrer chacune d'entre elles en wor... ???... Je suis preneur...

A bon entendeur..
christophe

 

#3 Mon 10 January 2005 11:59

Rictrem
Invité

Re: mise en page automatise

Bonjour,

Voici une tache facilement realisable avec le logiciel ScriptGen jumele a mapinfo.

www.geocities.com/rictrem/logiciels.html

Il suffit simplement de mettre en place une mise en page basee sur la table de polygones et de generer un workspace qui affichera et imprimera chaque image automatiquement.

Voici la procedure generale (Script de base) :

Open Table E:TestOrthoOrtho2004q04568_094.TAB
Add Map Auto Layer q04568_094
select * from Index where NumPhoto= q04568_094 into Photo
Add Map Layer Photo
Set Map Layer 1 Display Graphic
Set Map Zoom Entire Layer Photo
Set Map Zoom 7 Units km
PrintWin
Close Table q04568_094

L'environnement de depart est deja en place. C'est-a-dire que la table de polygones, ici la table Index est deja ouverte et la mise en page basee sur la fenetre carte contenant la table index est deja elaboree. La fenetre active sera la fenetre de mise en page.

La premiere ligne de ce script ouvre une photographie aerienne. La deuxieme ligne ajoute l'image a la fenetre carte. La troisieme ligne selectionne le polygone correspondant dans la table Index et place la selection dans la table Photo. Les lignes 4 a 7 realisent les actions suivantes sur la selection : ajout de la table Photo dans la carte, affichage de cette couche, affichage complet de la couche Photo et finalement la restitution du zoom original de facon a preserver l'echelle de la mise en page.

La commande PrintWin sans parametres imprime la fenetre active qui est dans cet exemple la fenetre de mise en page. La derniere ligne du script ferme l'image raster. Dans mon exemple, je disposais de quelques centaines de photographies a imprimer et j'ai prefere les ouvrir et les fermer successivement question de ne pas surcharger la memoire de l'ordinateur et risquer un plantage. Si vos images sont deja toutes ouvertes, il suffit d'ignorer les instructions d'ouverture et de fermeture de meme que l'ajout dans la fenetre carte (lignes 1, 2 et 9).

Pour obtenir le script final qui realisera l'ensemble du travail a accomplir vous devez prealablement creer une liste de valeurs. Soit vous exportez dans un fichier texte la colonne contenant le numero de vos polygones ou soit vous extrayez la liste de vos images raster avec les fonctionnalites de scriptGen. La valeur a remplacer dans mon script est q04568_094. Le script final est enregistre au format wor.

Ici nous profitons de la capacite de mapinfo d'ouvrir un workspace alors qu'un environnement de travail est deja en place. C'est une caracteristique que peu de logiciels offrent et c'est d'une utilite et d'une puissance impressionnante.

Pour enregistrer un workspace different sur chaque raster il suffit d'ajouter la ligne suivantes :

Save workspace As E:TestOrthoOrtho2004q04568_094.WOR

avant la fermeture de la table.

Vous n'avez aucunement besoin d'avoir le compilateur mapbasic pour realiser cette tache. Seul mapinfo et l'utilitaire ScriptGen suffisent.

Si vous avez des questions concernant la mise en oeuvre de ce script, il me fera plaisir de vous repondre.

Salutations
Richard Tremblay

 

#4 Mon 10 January 2005 13:37

Christophe C Jean
Invité

Re: mise en page automatise

Bonjour,

J'ai un mbx qui fait de l'impression a repetition a partir d'un wor.
il y a des parametrages a faire dans le code source pour l'adapter a vos besoins, mais sinon il marche
christophe

 

#5 Mon 10 January 2005 13:37

Cristofe PASCALE
Invité

Re: mise en page automatise

Bonjour,

Voila une serie de commandes qui permet de selectionner la fenetre N°3
(619+3-1) et d'imposer le systeme de projection en Lambert II etendue
avec une modification des bornes utilise au ministere de l'agriculture
et centrer sur le centroide de l'objet polygone Poly a une echelle
determinee

Run MENU COMMAND 621
Set CoordSys Earth Projection 3, 1002, m , 0, 46.8, 45.898918964419,
47.696014502038, 600000, 2200000 Bounds (-16027314641.1, -16025236791)
(16028198330.2, 16030276180.3)
Set Map Center (centroidX(Poly.obj),centroidY(Poly.obj)) Scale 1 Units
cm For 0.7564 Units km

Ce code a ete partiellement verifie. Il fonctionne directement en le
copiant dans la fenetre Mapbasic

Cordialement

Cristofe PASCALE
Charge de mission SIG
DRDAF Haute Normandie

 

Pied de page des forums

Powered by FluxBB