[GMT] 使用 wine 讓 Mac 也可以提取 Geoware 資料庫的內容

在 GMT 課程後半(lect11,2016),老師會介紹一套 Geoware 資料庫,裡面網羅了許多繪圖資料(如火山、地磁、板塊邊界等等),但是只有 Windows 版本的程式。經過我測試後, Wine 也可以順利執行該程式,輸出資料給 GMT 進一步繪圖,步驟其實很簡單,一起來看看:

地科繪圖 範例 11a
地科繪圖 範例 11a

安裝 Wine

最簡單的方法,就是用 brew 來安裝囉!

可以先用

$ brew info wine
$ brew info wine
wine: stable 1.8.6 (bottled), devel 2.1, HEAD
Run Windows applications without a copy of Microsoft Windows
https://www.winehq.org/
/usr/local/Cellar/wine/1.8.6 (3,943 files, 404.8M) *
  Built from source on 2017-02-07 at 15:21:32 with: --with-libgsm
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/wine.rb
==> Dependencies
Build: pkg-config ✔
Required: freetype ✔, jpeg ✔, libgphoto2 ✔, little-cms2 ✔, libicns ✔, libtiff ✔, sane-backends ✔, gnutls ✔
Optional: libgsm ✔
==> Requirements
Build: xcode ✔
Recommended: x11 ✔
==> Options
--with-libgsm
	Build with libgsm support
--without-win64
	Build without 64-bit support
--without-x11
	Build without x11 support
--devel
	Install development version 2.1
--HEAD
	Install HEAD version
==> Caveats
You may want to get winetricks:
  brew install winetricks

By default Wine uses a native Mac driver. To switch to the X11 driver, use
regedit to set the "graphics" key under "HKCUSoftwareWineDrivers" to
"x11" (or use winetricks).

For best results with X11, install the latest version of XQuartz:
  https://xquartz.macosforge.org/

來查看有哪些設定。

之後使用下面的指令來安裝:

$ brew install wine

因為相依性套件有點多,這邊可能會花上半小時編譯,途中還會暫停請你操作(我沒存起來,基本上就是連結一個函式庫),之後再用一樣的指令繼續安裝。

使用 wine 來提取 Geoware 內容

基本知識:環境變數設定(詳情參考 >這邊<

以使用「extract_candy.exe」為例,程式需要設定環境變數「GMT_DATADIR」至 安裝位置,如「C:\\program\GEOWARE\misc」。

  • 在 Windows 中:於 控制台 > 系統 > 進階設定 > 環境變數 設定
  • 在 Mac 中:將變數設為執行時 bash 的環境變數即可,如:
    export GMT_DATADIR=/usr/local/Cellar/gmt/5.3.1/share/data/misc

    上面是設定 「GMT_DATA_DIR」至 路徑「/usr/local/Cellar/gmt/5.3.1/share/data/misc」中,extract_candy.exe 會讀取裡面的「cande_fz_and_features.b」與「cande_mag_lineations.b」並輸出資料給使用者。

    Geoware 總共有「GMT_DATADIR」、「 GMT_GRIDDIR」與「GMT_IMGDIR」三個變數要設定,請設定好再繼續。

使用 Wine 執行 extract_candy.exe

範例中使用以下的指令:

wine extract_candy.exe -F -V > candemag.d

即會輸出資料至 candmag.d 。

請多多指教!

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料