GMAPプロシジャで、日本地図に各都道府県名を表示する際にメッセージ

[OS]ALL
[リリース]
[キーワード] SAS/GRAPH,GMAP

[質問]

GMAPプロシジャで、ANNOTATEデータセットを用いて、日本地図に各都道府県名を表示しようとした際、下記のメッセージが出力されました。原因は何でしょうか。

NOTE: ERROR DETECTED IN ANNOTATE= DATASET
      WORK.ANNO.
NOTE: PROBLEM IN OBSERVATION     1 -
      DATA SENSITIVE SIZING REQUEST NOT SUPPORTED
      FOR PROCEDURE GMAP

[回答]

GMAPプロシジャのANNOTATE機能を使用して、「座標システム」の定義として DATA型(XSYS='2' または '8'、YSYS='2' または '8')を使用すると、質問のエラーが発生します。
ANNOTATE機能を利用して地図上に重ね書きを行う場合には、XSYS='1',YSYS='1' など、上記以外の座標システムを使用してください。

以下に、GMAPプロシジャのANNOTATE機能を使って、都道府県名付日本地図を描画するプログラム例を紹介します。

libname maps '!sasroot/japanese/maps';

/** 都道府県名の表示位置を計算 **/
proc summary data=maps.japanjis   noprint;
  by pref;
  var x y;
  output out=prefdata(drop=_type_ _freq_) mean=x y;
run;

/** x,y 座標の最大最小値を計算 **/
proc summary data=maps.japanjis   noprint;
  var x y;
  output out=temp(drop=_type_ _freq_)
         max=x_max y_max min=x_min y_min;
run;
data _null_;
  set temp;
  call symput('x_max',x_max);
  call symput('x_min',x_min);
  call symput('y_max',y_max);
  call symput('y_min',y_min);
run;

/** 座標値を %表示値に変換 **/
data anno;
  %annomac;
  retain when 'A';
  merge maps.jdesc prefdata;
  by pref;
  x=(x-&x_min)*100/(&x_max-&x_min);
  y=(y-&y_min)*100/(&y_max-&y_min);
  %system(1,1,1);
  %label(x,y,desc,black,0,0,2,kanji,5);
run;

/** 分析する県別データ **/
data data;
  input pref sales;
  cards;
1   100
2    90
3    40
:     :
(中略)
:     :
46  110
47   70
;
run;

/** 日本地図の描画 **/
proc gmap data=data map=japanjis anno=anno;
  choro sales/coutline=black;
  id pref;
  run;
quit;