[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:002068] Re: GGraph::map



神代です.

At Thu, 20 Jan 2005 14:25:35 +0900, KOSHIRO Tsuyoshi wrote:

> > > GGraphの地図投影についてです.
> > > GGraph::map で,axes と同じように longitude とか latitude とかの軸も描
> > > いてくれるとうれしいなと思ったのですが,難しいでしょうか.
> > 
> > しかし、実は変換番号 10 に限れば現状でも対応可能で
> > しょう。まず itr=1 で軸を書き、ついで itr=10 に切り
> > 替えて中身を描画する。
> 
> ありがとうございます.そのやり方で試してみます.

これ,まだ,うまくいってません……
ウィンドウの幅が地図投影では変わってしまうということがうまく解決できな
いです.やったことある方がおられたら,教えてください.
# GGraph だけでやろうとしても駄目ですか??

それはさておき,
itr=10 は,使い方としては itr=1 にすごく近くて,それで軸の描画とかもで
きるといいなと考えました.

例えば,

require "numru/ggraph"
include NumRu
xmin = 115.0 ; xmax = 150.0 ; ymin = 25.0 ; ymax = 50.0
DCL.gropn(1)
DCL.grfrm
DCL.grswnd(xmin, xmax, ymin, ymax)
DCL.grsvpt(0.2, 0.8, 0.2, 0.8)
DCL.grstrn(10)
DCL.umpfit
xoff, yoff, rrot = DCL.sgqmpl
DCL.sgstxy(xmin-xoff, xmax-xoff, ymin, ymax)
DCL.grstrf
DCL.uxaxdv("b", 1.0, 5.0)
DCL.uxsttl("b", "Longitude", 0.0)
DCL.uyaxdv("l", 1.0, 5.0)
DCL.uysttl("l", "Latitude", 0.0)
DCL.umpmap("coast_world")
DCL.umpset("lgridmj",false)
DCL.umpglb
DCL.grcls

というようなことを GGraph でお手軽にできるといいなと思うんですが……
どう思われますか? >堀之内さま

現在のGGraphの地図投影の設計はシンプルですごくうまくできているので,
そこまで凝ったことはサポートしない,上記のようにRubyDCLを直接使え,と
いうのもありかなぁとも思います.itr=10だけ特別扱いするのもよくないよう
な気もするし.

# 試作しようと思ったのですが,やるとしたら GGraph::fig, axes, map の設
# 計がずいぶん変わってしまうと思い,まだ手を出してません.


関連した別の話ですが,陸地の塗り潰しもできるといいなぁと思ったのですが,
試しに ggraph.rb の GGraph::map の定義部分で

DCL.umpmap('coast_world') if opts['coast_world']

の前に

DCL.umfmap('coast_world') if opts['coast_world']

を加えてみましたが,どうもうまくいきません(真っ黒になってしまう).
もう少し原因を追究してみます.