雑誌「地学教育」第71巻 第1号 pp.13-19 2018
「マグニチュード算出用ノモグラムと使用法」 の補遺ページ.2018年10月14日作成

本文では,Excel2016を用いたノモグラム作成法を記述したが,その際,紙面の都合で省略したPythonのノモグラム作成モジュールPyNomoを用いた作成法をここで詳述する.

なお本サイトは作成法については詳述するものの,Python本体やPyNomoのインストールについては略記する.それぞれネット上の情報などを調べた上で各自のPC環境に応じた対処をお願いします.

(このサイトは参考サイトであって,メーカーなどのサポートサイトではありません.作成がうまく行かない場合も筆者は何の保証もできません.また質問の問い合わせをいただいても,すぐに回答が可能でもありません.その点はなにとぞご了承ください)
yossi.okamoto<at-mark>gmail.com

PyNomoの本家サイトは下記.このような見事なモジュールを作成され,無料で公開されている Leif Roschier氏,ならびにその優れた解説を書かれたRon Doerfler 氏に感謝します.

http://pynomo.org/wiki/index.php/Main_Page
ただ2018年秋現在,上記サイトはかなりつながりにくく,また表示に時間がかかる.

解説書のpdf
http://www.myreckonings.com/pynomo/CreatingNomogramsWithPynomo.pdf

§スクリプトと使い方

<筆者作成のPythonスクリプト(最終版)>

下記が作成スクリプト(最終版)
JMA_Mag_type2_875_v5.py

このスクリプトの大部分は,下記の3本平行尺作成用スクリプト(ex_BMI.py)からソースを流用し,改良した.
http://www.pynomo.org/wiki/index.php/Body-mass_index

これをPythonコマンドラインから,

python JMA_Mag_type2_875_v66.py

と実行することで,求めるノモグラムがpdfで出力される.スクリプト名は自由に変更してもかまわない.しかし配布される際はかならずソースの著作権表示を明記するようにお願いします.
あとはそのpdfを適当なサイズで印刷すればよい.

出力されたpdfは以下のとおり.
JMA_Mag_type2_875_v5.pdf


§ソフトウエアのインストールなど

<Windows10
上での作成法>

1.Python本体のインストール.

よく用いられるAnacondaではなく,Python(x,y)のVer2.7をインストールする.現状最新版のPython3.0ではPyNomoは動かない可能性がある(確かめてはいない).
https://algorithm.joho.info/programming/python/pythonxy-install-windows10/
などを参考に,
Python(x,y)-2.7.10.0.exe
をダウンロードして実行.かなり時間がかかる.VisualC++やVisualStudioなども導入されるようである.
通常別途導入が必要なscipyとかnumpyはデフォルトで入るようである.これで一応Python関係は終了(あとで追加が必要となる).

2.PyNomoのインストール
次に,ノモグラム作成用のモジュールPyNomo0.2.2のインストール
https://sourceforge.net/projects/pynomo/files/pynomo/0.2.2/
より,
PyNomo-0.2.2.win32.exe
をダウンロードして実行.
しかし,私の環境(Windows10)では MSVCR71.dllがないとエラー.情報は以下のサイトより,
http://devnet.magicsoftware.co.jp/download/tools_library/uipaasv1/msvcr71dll/

そこで,MSVCR71.zipを上記サイトよりダウンロードして展開することで,msvcr71.dllが得られるので,これをPyNomoの実行ファイルがあるフォルダにコピーする.これで
再度
PyNomo-0.2.2.win32.exe
を実行すると,多少のエラーが表示される(key設定ができないなど)が,ファイルは自動展開インストールされた.

ただし,ここまででは私のノモグラム作成用のPythonスクリプトはまだエラーを出す.

3.必要モジュールの整備

次にさらに2つの作業が必要.
PDF作成用モジュール pyx の導入.これはWindows用の実行ファイルが用意されていないので,Pythonコンソール上でpipを用いてインストールするが,
そのpipの使い方は下記のとおり,(これpyxは最新版はもっとバージョンが新しいが,古いものでないとPyNomoが動かないという記述をどこかで見たので古いものをインストールする)

pip install pyx==0.12.1

これでpyxが使えるようになる.
さらに,Windows版のTex/Latexが必要となる.このインストールは2つの手法があって,

https://www.tug.org/texlive/acquire-netinstall.html
より,TexLiveのインストーラのダウンロード.と実行.


Texインストーラ3の使用.
https://www.ms.u-tokyo.ac.jp/~abenori/soft/abtexinst.html
の2種類の方法.

ところが後者は展開して実行すると,ウイルス対策の無料ソフトAvastがマルウエアの警告を出して,インストールが中止され,その後ダウンロード先を変えてもインストールできなかった(筆者の環境で).
そこで前者の方法を採る.しかし前者でインストール時にsimpleを選択すると2.5Gくらいの容量がインストールされ,筆者の環境では2時間くらいか かる.そこでインストール時にCustumを選択して,小規模+少々の言語でインストールすると20分くらいで終了する.

これでやっとソフトのインストールは終了.
しかし,最後にPythonのパス通しか,カレントディレクトリの変更が必要となる.(筆者の場合,pythonxyがデフォルトでインストールされ た,ProgramFiles(x32)の配下で自分のスクリプトを実行すると,最後にpermission deniedエラーでpdfの作成ができなかった.デスクトップなど他の場所をカレントディレクトリに変えて,実行する必要がある.

このあたりは,環境により試行錯誤が必要なので,読者の方々の健闘を祈りたい.

<Linux上での作成法>

1.Python本体のインストール(Windows10のWSLで入れたUbuntu18.04上)

Python言語自体は,LinuxOS上での相性がよい.Linuxの基本ソフトそのものがPythonで記述されているものも多い.例えばyumとか.従ってディストリビューションによっては,最初からデフォルトでインストールされている場合もある.

筆者は元々LinuxMint16ないし18上で上記自作スクリプトを開発し,pdfを作成していた.しかし素のLinux環境の作成は,PCを1台必要 とすることなど,一般の読者に敷居が高いとかねがね考えていた.しかし今回,偶然格安で購入した中国製PC(EZBOOK3Pro)のWindows10 上でMicroSoft社謹製のWSL(Windows Subsystem for Linux)を利用することにより,Windows上でUbuntu18.04が動くことを確認.このOS上にPythonをインストールすることを試みた.

WSLを用いたWindows10上での Linux環境の構築は以下のとおり.
http://seagull.stars.ne.jp/PC/EZBOOK_WSL.html

ここでは上記環境へのPython2.7及び,PyNomoのインストールを詳述する.

Anacondaのサイト
https://www.anaconda.com/download/

から python2.7 64bit(x86)のインストーラ をダウンロード.

./Anaconda2-5.3.0-Linux-x86_64.sh
でインストール実行

途中で聞かれるVScodeもついでにインストール.これ時間がかかる.

2.PyNomoのインストール
次にPyNomo-0.2.2のインストール.
http://www.pynomo.org/wiki/index.php/Installation

Download PyNomo

からダウンロードして,適当に作成したPythonのディレクトリに置き,

cd Python/
cd PyNomo-0.2.2/
sudo python setup.py install

3.必要モジュールの整備

上記でPyNomoモジュール本体は入るが,他に必要なモジュールが以下のとおり,
pyx,scipyが必要

いずれもpip(これは入っている)を使ってPyhtonコンソールから
pip install pyx==0.12.1  (Win版と同様にダウングレード)
pip install scipy

あとTex/Latexが必要で,これは色々と試したが
http://verifiedby.me/adiary/0119より

sudo apt install texlive-lang-cjk
sudo apt install texlive-fonts-recommended
sudo apt install texlive-fonts-extra
sudo apt install xdvik-ja

が簡単.

これで,自作pyはPynomoのディレクトリに入れてパスが通るようにしておいて,
python JMA_Mag_type2_875_v5.py
でpdfファイルが出力される.

どちらの方法もそれなりにPCの環境構築のスキルがないとかなり苦労する可能性がある.ここに書かれた方法も個々のPCの環境でエラーが出たりする可能性 が高い.Googleと首っ引きでSE仕事をする必要があることを覚悟した方がよいと思う.しかしそのような苦労がPC環境下での開発のスキルを向上させることは間違いない.
時間のあるときにぜひ挑戦していただきたいと念願している.


Copyright (C) 2018 Yoshio Okamoto, all rights reserved.