Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ODS et reporting Discussion :

aide proc gmap option annotate


Sujet :

ODS et reporting

  1. #1
    Nouveau Candidat au Club
    aide proc gmap option annotate
    Bonjour tout le monde

    Je suis actuellement en train de découvrir la proc gmap sachant que je travaille sur des données greles pour mon mémoire. Je dois faire un point par commune où une grêle est survenu et la couleur ou la taille du point indiquant le nombre ou la fréquence. Je dois aussi avoir par grêle, les conditions météo de la station la plus proche.

    De ce que j'ai pu comprendre, faire cela devrait être possible grace à l'option 'anno' ou 'annotate'. Cependant malgré plusieurs tentatives et cela depuis deux semaines, je n'arrive toujours à représenter ces points.


    J'ai une base de données avec les noms des communes avec leurs latitudes et longitudes ainsi que la taille de la grêle tombée


    J'ai ce message d'erreur après avoir lancé la proc gmap


    WARNING: ID variable ID is of length 5 in response data set and length 15 in map data set. This might result in ID values not
    matching or multiple regions to be combined.
    WARNING: Some observations were discarded when charting ID. Only first matching observation was used. Use STATISTIC= option for
    summary statistics.
    WARNING: Legend statement 1 could not be found. The default legend description will be used.
    NOTE: PROBLEM IN OBSERVATION 1 -
    DATA SYSTEM REQUESTED, BUT VALUE IS NOT ON GRAPH 'X'
    DATA SYSTEM REQUESTED, BUT VALUE IS NOT ON GRAPH 'Y'

  2. #2
    Expert confirmé
    Bonjour.
    Au vu des messages, je soupçonne :
    1) qu'il y a plusieurs observations pour une même commune dans la table citée dans PROC GMAP DATA= ; il n'en faudrait qu'une seule
    2) qu'il manque un système de coordonnées dans la table d'annotation.
    Pour en savoir plus sur les systèmes de coordonnées des tables Annotate, je vous propose cette doc.

    Il y a aussi la proc SGMAP qui est plus moderne et probablement plus simple à paramétrer pour ce que vous voulez faire.
    Bon courage.
    Olivier

  3. #3
    Nouveau Candidat au Club
    Bonjour Olivier

    Je vous remercie pour votre retour

    En effet il y a des communes qui ressortent plusieurs fois ce qui veut dire qu'il y a de la grêle qui est tombé à plusieurs reprises donc je me demande bien comment remédier à ce problème. J'ai donc fait une étape data avec first.commune et last.commune pour que les communes ne ressortent qu'une fois. Malheureusement j'ai toujours la même erreur. Pour ce qui est du système coordonnée on l'obtient avec la proc gproject non?

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    proc sort data = bd; 
    by commune;
    run;
     
    data bdr;
    length ID $15.;
    set bd;
    ID='FR-'||Departement;
    informat ID $15.;
    format ID $15.;
    run;
     
     
    data nombre_commune;
    set bdr;
    by commune;
    if first.commune then n=1;
    else n+1;
    if last.commune;
    run;
     
     
     
    /* Construction de la carte */
     
     
    proc datasets library =work nolist;
    modify nombre_commune;
    rename latitude=lat;
    rename longitude=long;
    quit;
     
     
    data ville;
    set nombre_commune;
    keep commune lat Long ID Classe_simple n;
    run;
     
    data villee;
    set ville;
    if lat = -361.1000022 then delete;
    run;
     
     
     
    data village; set villee;
    length function $8 color $8;
    xsys='2';
    ysys='2';
    hsys='3';
    when='a';
    function='pie'; style='psolid'; 
    if classe_simple='A4' then color='yellow';
    if classe_simple='A1' then color='red';
    if classe_simple='A2' then color='blue';
    if classe_simple='A3' then color='green';
     
    if classe_simple='A5' then color='gray';
    rotate=360; 
    size=1;
    run;
     
    proc gproject data=village out=villageois degrees NORANGECHECK latlon eastlong dupok;
    id ID;
    run;
     
     
    proc gproject data=nombre_commune out=nombre_communes degrees NORANGECHECK latlon eastlong dupok;
    id ID;
    run;
     
    data villageoise;
    set villageois (obs=5);
    run;
     
     
    PROC SQL;
    	CREATE VIEW WORK.MAPCHARTMAPPREP AS
    		SELECT *
    		FROM MAPSgfk.FRANCE
    		;
    QUIT;
     
     
    PROC SQL;
    	CREATE VIEW WORK.MAPCHARTRESPONSEPREP AS
    		SELECT *
    		FROM WORK.nombre_commune
    		;
    QUIT;
     
    GOPTIONS CBACK= ;
     
    TITLE;FOOTNOTE;
     
    TITLE1 "Carte";
    pattern1 v=s c=white;
     
    PROC GMAP GOUT=MAPCHART DATA=WORK.MAPCHARTRESPONSEPREP MAP=WORK.MAPCHARTMAPPREP ALL anno = villageoise;
    	ID ID;
    	CHORO ID/
    		WOUTLINE=1
    		legend = legendnn
    		;
    RUN;
    QUIT;

  4. #4
    Expert confirmé
    Non, je ne parle pas des coordonnées de projection géographique, juste des XSYS et YSYS de l'annotation qui indiquent les unités de X et Y et si on couvre le graphique, ou graphique + titres, ou image entière.
    Bon courage.
    Olivier