Bienvenue! Inscrivez-vous et rejoignez notre communauté :)
  • Login:

Bienvenue sur Forum SIG - Systèmes d'Information Géographique et Géomatique.

Bienvenue sur le forumSIG. S'il s'agit de votre première visite, assurez vous de faire une recherche préalable dans les FAQ SIG. Vous devez vous inscrire avant de pouvoir poster.

Page 8 sur 8 PremièrePremière ... 678
Affichage des résultats 106 à 115 sur 115
  1. #106

    Date d'inscription
    août 2011
    Localisation
    Paris
    Emploi
    Chargé de mission SIG
    Âge
    33
    Messages
    1 168

    Par défaut Re : [MapBasic X.x] Question concernant le Générateur d'Atlas

    Alors il ne te reste plus que de pouvoir récupérer les valeurs Min et Max en VBA (j'imagine très facilement une table Access par exemple avec les données) et de programmer une fonction qui va te définir tes classes.

    Les logiciels utilisent différents systèmes de classification.
    Exemple d'ArcGIS : http://pro.arcgis.com/fr/pro-app/hel...on-methods.htm

    À toi de voir quelle(s) méthode(s) te conviennent pour telle ou telle donnée, d'en faire une fonction Ma_Classif(Valeur_min, Valeur_max, Nombre_classes) qui renvoie un array qui pour chaque classe contient la valeur seuil.

  2. #107

    Date d'inscription
    avril 2016
    Messages
    43

    Par défaut Re : [MapBasic X.x] Question concernant le Générateur d'Atlas

    Effectivement pour le min et le max ça ne doit pas être trop compliqué, deux boucles devraient faire l'affaire.

    Par contre pour définir les classes...dans la mesure où plus d'un millier de cartes vont être créées, je ne me vois pas trop me prendre la tête sur la discrétisation et mettre du "natural break" partout

    Donc en gros il me faudrait un programme qui mette à jour cette instruction là :
    Code:
    Create Ranges
    From table
    With expr
    [ Use "Natural Break"  ]
    [ Quantile Using q_expr ]
    [ Number num_ranges ]
    [ Round rounding_factor ]
    Into Variable array_variable
    C'est bien à la place q_expr que je définis mes classes ? Par contre je ne comprends pas bien comment les mettre en forme.
    Dans l'exemple il est écrit :

    Code:
    Create range from states
    Use "Natural Break"
    Number 5
    Jusque là ok c'est limpide

    Mais vient ensuite

    Code:
    Into variable range_limits
    Cette variable serait a priori créée ainsi :

    Code:
    Create ranges from states
    With Variable à cartographier quantile using nombre d'individus
    Into variable f_range
    Est ce que ça veut dire que les intervalles sont calculées ici ou est ce qu'il faut les stocker dans une table ?

    Je réfléchis tout en écrivant ce message (ça aide un peu à la réflexion) donc j'avoue être un peu perdu pour le moment, même si ça devient de plus en plus clair et que la solution me semble de plus en plus proche

  3. #108

    Date d'inscription
    août 2011
    Localisation
    Paris
    Emploi
    Chargé de mission SIG
    Âge
    33
    Messages
    1 168

    Par défaut Re : [MapBasic X.x] Question concernant le Générateur d'Atlas

    Quand tu parles de programme, d'après ce que j'ai compris de ton contexte, ça serait en VBA ?
    Si oui, la fonction Create ranges ne fonctionne que sous Mapbasic et ne peut être intégrée dans un .WOR .

    La fonction renvoie un tableau (Array) stockée dans une variable définie au préalable (en Mapbasic).

  4. #109

    Date d'inscription
    avril 2016
    Messages
    43

    Par défaut Re : [MapBasic X.x] Question concernant le Générateur d'Atlas

    Oui, exclusivement en VBA, parce que personne n'aura le temps ni l'utilité d'apprendre le MB, dans la mesure où il n'est pas prévu d'autre utilisation du SIG que la création de cet atlas et d'analyses simples ponctuelles.
    Donc en gros il faudrait que je définisse mes bornes dans un fichier Excel et que je les applique ensuite par un copier/coller dans mon .wor en remplaçant tout bêtement les classes fictives déjà créées.

  5. #110

    Date d'inscription
    août 2011
    Localisation
    Paris
    Emploi
    Chargé de mission SIG
    Âge
    33
    Messages
    1 168

    Par défaut Re : [MapBasic X.x] Question concernant le Générateur d'Atlas

    Je reprends ce que je disais plus haut : ne serait-ce pas plus judicieux de créer une fonction qui crée directement les seuils en fonction des données ?

    Méthodes de classification : http://www.gitta.info/Statistics/en/...ngObject2.html

    Une classification par quantile ou par intervalle égal est très simple à mettre en place du moment que l'on connait la valeur Max, la valeur Min, le nombre de valeurs et le nombre de classes que l'on souhaite.

  6. #111

    Date d'inscription
    avril 2016
    Messages
    43

    Par défaut Re : [MapBasic X.x] Question concernant le Générateur d'Atlas

    Oui on est d'accord, c'est aussi ce que je disais.
    En gros je met au point un macro pour créer pour chaque champ les différents seuils.
    Ensuite je crée une autre macro qui vient chercher ces données pour les placer dans le .wor correspondant !

    Reste à trouver comment faire proprement ma mise en page

    Ça va faire un paquet de classeurs Excel toute cette affaire

  7. #112

    Date d'inscription
    avril 2016
    Messages
    43

    Par défaut Re : [MapBasic X.x] Question concernant le Générateur d'Atlas

    Bon, bon, bon. J'avance un petit peu dans cette histoire !

    Là où je me simplifie grandement la vie, c'est que je vais garder la même discrétisation pour chaque unité spatiale (la discrétisation se fera au niveau national) ça peut sembler manquer de pertinence, mais dans le cas présent c'est nécessaire puisqu'on veut aussi comparer les unités.

    J'ai donc presque terminé d'automatiser la création de mes .wor

    Maintenant la question est de savoir s'il existe d'autres façons d'ouvrir des .wor via VBA autrement que par


    Code:
    Sub mapinfo()
    Dim Lance
    Dim CHEMIN As String
        CHEMIN = "C:\chemin\Fichier.WOR"
        Lance = Shell("C:\Program Files\MapInfo\Professional\MAPINFOW.EXE " & CHEMIN , 1)
    End Sub
    ou

    Code:
    Sub mapinfo2()
       stAppName = "C:\Program Files\MapInfo\Professional\MAPINFOW.EXE C:\chemin\Fichier.WOR"
        Call Shell(stAppName, 1)
    
    End Sub
    Parce que le coup du "pas d'espace dans le chemin" ça ne m'arrange pas vraiment


    Ensuite, j'imagine qu'il est possible d'exporter un PDF dans MI via VBA ?
    Ou peut être d'insérer directement une instruction d'export dans le .wor ?

    J'ai un peu l'impression de creuser un trou avec un rateau, mais si ça fonctionne...

    Merci d'avance
    Dernière modification par raph0ux ; 26/04/2016 à 09h32.

  8. #113

    Date d'inscription
    avril 2016
    Messages
    43

    Par défaut Re : [MapBasic X.x] Question concernant le Générateur d'Atlas

    Bon eh bien mon générateur fonctionne

  9. #114

    Date d'inscription
    avril 2016
    Messages
    43

    Par défaut Re : [MapBasic X.x] Question concernant le Générateur d'Atlas

    Bonjour, je reviens vers vous pour une nouvelle question, toujours dans la même optique.
    J'ai mis au point des tableaux me calculant de manière dynamique mes bornes sur chaque analyse, mais je pense qu'il est possible d'alléger lourdement le processus en passant directement par le .wor, sans avoir besoin de passer par des formules pour calculer ces bornes.

    Cette ligne correspond à une discrétisation par des intervalles manuels et un arrondi à 1000.
    # use 0 round 1000 inflect off Brush (2,16744640,16777215) at 3 by 0 color 1 #

    Si je veux une répartition automatique (pas très éloignée de Jenks vraisemblablement) j'écris alors
    # use 3 round 1000 inflect off Brush (2,16744640,16777215) at 3 by 0 color 1 #

    Sauf que le gros problème est situé dans le fait que cette ligne intervienne après la définition des bornes en dur... que je ne peux bien évidemment pas effacer (logique, MI ne va pas deviner les couleurs à appliquer par exemple)

    Existe-t-il un moyen de réappliquer le type de discrétisation choisi dans la ligne "#use x..." sans jamais l'écrire en dur dans le .wor et indépendamment de ce qui est écrit dans la définition des bornes ?

    Vu que je suis bien parti pour générer plus de 1500 cartes, ça me ferait gagner quelques jours...

  10. #115

    Date d'inscription
    avril 2016
    Messages
    43

    Par défaut Re : [MapBasic X.x] Question concernant le Générateur d'Atlas

    Problème résolu en calculant les bornes avec Realstats sur Excel, faut avoir un PC un peu costaud pour faire les calculs sur plusieurs champs et des dizaines d'individus

    Nouveau problème ceci-dit !
    Avec la mise à jour de 12.5 vers 15.2 je n'arrive plus à imprimer...

    Set Window FrontWindow()
    PrintWin Window FrontWindow() File "XXXX.pdf"
    Normalement, ça fonctionne.

    Mais là ça me sort une carte de plusieurs Mo impossible à ouvrir avec un lecteur PDF, alors que lorsque j'imprime manuellement elle fait environ 800ko et ça fonctionne...

    Des idées ?

 

 
Page 8 sur 8 PremièrePremière ... 678

Discussions similaires

  1. [MapInfo 10.x] Générateur d'Atlas
    Par Geographiste dans le forum Assistance Technique
    Réponses: 15
    Dernier message: 17/08/2012, 11h09
  2. [GeoTools X.x] Question concernant une application de webmapping
    Par yako dans le forum Assistance et Programmation
    Réponses: 6
    Dernier message: 31/03/2009, 09h10
  3. [GeoConcept 5.x] Générateur d'atlas ? Où en trouver ?
    Par Delphine dans le forum Assistance Technique
    Réponses: 1
    Dernier message: 04/05/2005, 13h21
  4. [MapBasic] Utilitaire : Générateur d'Atlas
    Par Thomas dans le forum Ressources
    Réponses: 1
    Dernier message: 11/03/2005, 11h22
  5. [ArcGIS 8.x] Générateur d'Atlas
    Par xis dans le forum Assistance Technique
    Réponses: 2
    Dernier message: 26/01/2005, 09h53

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •