2010年9月23日木曜日

10mメッシュ標高データの槍ケ岳


基盤地図情報の10mメッシュ標高データを利用して「XMapV」にて槍ケ岳の展望図を描くと図の上のようになります。どうしても槍の姿になりません。視点は北穂高岳にしてあります。
これは標高データがそうなっているからだというのを確認しました。図の中段は「基盤地図25000ビューア」にて長野県の等高線を1/2500表示したものです。これと展望図が完全に一致しているので、標高データはこの等高線に基づいて作成されているものと思われます。或いは別の基礎データから双方が作成されたのかも知れませんが。
この等高線を下段の1/25000地形図と比べてみるとおかしな点が浮かび上ります。地形図では一番高い等高線が3130mになっていて、それ以上の線は省略されています。ところが基盤地図情報では一番高い等高線を3180mとしており、線が足りないので、上から4番目の線の下に無理やり5本押込んだ結果が今の状態になっているようです。自動処理だけでここまでできるわけもないと思うので、人手が介入していると思うのですが、槍ケ岳の実際の形を確認しないで(知らないで?)、等高線を誤認したまま処理してしまったようですね。

2010年9月20日月曜日

core i3のマルチスレッド性能

先に書いたように、先月末に iMac core i3が到着したので、いろいろマルチスレッド性能を確認していました。 i3はcoreは2個ですが、ハイパースレッドが機能するので、3個の処理が同時に動けるからです。しかしハイパースレッドはインテル自身も30%かそこらの数字を言っているように単純に倍のcore数の性能が出るわけではありません。
私のプログラムでは数値地図ビューア、SimpleDEMViewer、基盤地図25000ビューアがマルチスレッドを利用します。前の二つでは展望図の作成、可視領域の描画時に大きく影響します。いろいろな設定で測定したところ、スレッド数3が最適なようです。4を指定するとcpuタイムでは400%近く行きますが、処理時間はほとんど変わりません。かえって遅くなることもあります。数値地図ビューアでは3を指定できないので4が最適ということになりますが、SimpleDEMViewerでは3を指定したほうがよさそうです。いずれもメモリが不足してページングが多発するような状況では、少なく指定したほうがいいでしょう。
core i5 や i7 ではどのくらいがいいのか試す環境がありませんが、core数までにしたほうがよいのかと思います。忙しいスレッドの数がcore数以下の場合はクロック数を上げるターボモードに入るらしいので、その方が結果的に速くなるでしょう。最適値がどのくらいかはそれぞれの環境で確認することをお勧めします。
基盤地図25000ビューアではファイル処理の部分だけなので、適当な値を自動的に設定しています。MacBook proやiMacではディスクの動作が遅いので、スレッド数を2より大きくしてもcpu利用率も増えず、ほとんど効果がありませんでした。Mac proでRaidでも使用していれば、効果があるのでしょうけれど。

2010年9月1日水曜日

XMapVで可視領域描画機能をサポート

本日公開した XMapV_100901 で可視領域描画機能をサポートしました。数値地図ビューアのものと同様の機能ですが、色を変えて重ね書きできること、基盤地図情報の10mメッシュ標高データが使えることが勝る点です。
図は日光・尾瀬近辺から富士山が見える地点(ピンクの領域)を描画したものです。標高データは50mメッシュです。遠隔地をチェックしようとすれば、たとえintelマックでも時間がかかるので覚悟してください。
開発中に数値地図ビューアのバグに気がついてしまいました(^_^;  視点の標高が指定されていても、標高データから計算された標高値を使用してしまいますね。したがって見えない場所が増えてしまいます。近距離の場合に影響が大きいようです。