From f97b2c3ef8a10335699ab27f920ef158850b6819 Mon Sep 17 00:00:00 2001 From: Yi Zhang Date: Sun, 10 Jan 2021 14:49:37 +0800 Subject: [PATCH] update to gmt6 and change to cmake --- CMakeLists.txt | 8 +++++--- README.md | 13 +++++++++---- example2/user.eps => data/ex2.eps | 25 ++++++++++++++----------- example2/user.png => data/ex2.png | Bin 43413 -> 43415 bytes example3/user.eps => data/ex3.eps | 25 ++++++++++++++----------- example3/user.png => data/ex3.png | Bin 25108 -> 25110 bytes {example1 => data}/table.nc | Bin {example1 => data}/table.txt | 0 example1/compile.sh | 6 ------ example1/gmt.history | 4 ---- example1/gridding | Bin 55688 -> 0 bytes example2/compile.sh | 6 ------ example2/plot_grid | Bin 22732 -> 0 bytes example2/table.nc | Bin 43132 -> 0 bytes example3/compile.sh | 6 ------ example3/plot_memory | Bin 22860 -> 0 bytes {example1 => src}/gridding.cpp | 13 +++++++++++-- {example2 => src}/plot_grid.cpp | 8 ++++---- {example3 => src}/plot_memory.cpp | 6 +++--- 19 files changed, 60 insertions(+), 60 deletions(-) rename example2/user.eps => data/ex2.eps (98%) rename example2/user.png => data/ex2.png (98%) rename example3/user.eps => data/ex3.eps (98%) rename example3/user.png => data/ex3.png (99%) rename {example1 => data}/table.nc (100%) rename {example1 => data}/table.txt (100%) delete mode 100755 example1/compile.sh delete mode 100644 example1/gmt.history delete mode 100755 example1/gridding delete mode 100755 example2/compile.sh delete mode 100755 example2/plot_grid delete mode 100644 example2/table.nc delete mode 100755 example3/compile.sh delete mode 100755 example3/plot_memory rename {example1 => src}/gridding.cpp (82%) rename {example2 => src}/plot_grid.cpp (93%) rename {example3 => src}/plot_memory.cpp (96%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 844c9ba..55d255c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,12 +2,14 @@ cmake_minimum_required(VERSION 3.15.2 FATAL_ERROR) project(GMT_API_EX VERSION 0.1.0 LANGUAGES CXX) -include_directories("/usr/local/include/gmt") -find_library(${GMT_LIB} gmt "/usr/local/lib") +include_directories(/usr/local/include/gmt) +find_library(GMT_LIB gmt /usr/local/lib) macro(add_example name file) add_executable(${name} ${file}.cpp) target_link_libraries(${name} PUBLIC ${GMT_LIB}) endmacro() -add_example(ex1 example1/gridding) \ No newline at end of file +add_example(ex1 src/gridding) +add_example(ex2 src/plot_grid) +add_example(ex3 src/plot_memory) \ No newline at end of file diff --git a/README.md b/README.md index acd3d83..a90766c 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,15 @@ For those who wants to know more, please go to [GMT_site](https://www.generic-ma ## What are these examples? -* **example1**: call a GMT module to gridding a table data. -* **example2**: read a grid file and call GMT modules to plot the grid to an image file. -* **example3**: create a GMT grid container and call GMT modules to plot the grid to an image file. +* **griding**: call a GMT module to griding a table data. +* **plot_grid**: read a grid file and call GMT modules to plot the grid to an image file. +* **plot_memory**: create a GMT grid container and call GMT modules to plot the grid to an image file. ## How to run the examples? -Simply go to a example folder and run the `compile.sh`. \ No newline at end of file +Compile the executables and then run sequentially. + +```shell +mkdir build && cd build && cmake .. && make +``` + diff --git a/example2/user.eps b/data/ex2.eps similarity index 98% rename from example2/user.eps rename to data/ex2.eps index 4f15bde..66c3bf5 100644 --- a/example2/user.eps +++ b/data/ex2.eps @@ -1,11 +1,11 @@ %!PS-Adobe-3.0 %%BoundingBox: 0 0 159 156 %%HiResBoundingBox: 0 0 158.8500 155.9520 -%%Title: GMT v6.0.0 [64-bit] Document from grdimage +%%Title: GMT v6.1.1 [64-bit] Document from grdimage %%Creator: GMT6 %%For: unknown %%DocumentNeededResources: font Helvetica Times-Roman -%%CreationDate: Fri Sep 4 10:11:40 2020 +%%CreationDate: Sun Jan 10 14:45:17 2021 %%LanguageLevel: 2 %%DocumentData: Clean7Bit %%Orientation: Portrait @@ -654,7 +654,8 @@ V 0.06 0.06 scale /PSL_page_xsize 9917 def /PSL_page_ysize 14033 def /PSL_plot_completion {} def -/PSL_movie_completion {} def +/PSL_movie_label_completion {} def +/PSL_movie_prog_indicator_completion {} def %PSL_End_Header gsave 0 A @@ -662,12 +663,12 @@ FQ O0 1800 1800 TM % PostScript produced by: -%@GMT: gmt grdimage @GMTAPI@-000000 -R0/1000/0/1000 -Cuser.cpt '-Bxag+lx (m)' '-Byag+ly (m)' -JX1.5i/1.5i -X1.5i -Y1.5i -K -P --MAP_FRAME_AXES=WesNZ user.ps +%@GMT: gmt grdimage @GMTAPI@-S-I-G-G-G-N-000000 -R0/1000/0/1000 -C../data/ex2.cpt '-Bxag+lx (m)' '-Byag+ly (m)' -JX1.5i/1.5i -X1.5i -Y1.5i -K -P --MAP_FRAME_AXES=WesNZ ../data/ex2.ps %@PROJ: xy 0.00000000 1000.00000000 0.00000000 1000.00000000 0.000 1000.000 0.000 1000.000 +xy %%BeginObject PSL_Layer_1 0 setlinecap 0 setlinejoin -3.32551 setmiterlimit +3.32550952342 setmiterlimit clipsave 0 0 M 1800 0 D @@ -953,6 +954,7 @@ N 1440 1783 M 0 34 D S N 1783 1800 M 34 0 D S N 1800 1783 M 0 34 D S PSL_cliprestore +/PSL_slant_y 0 def 2 setlinecap N 0 1800 M 0 -1800 D S /PSL_A0_y 17 def @@ -964,8 +966,8 @@ N 0 1080 M -17 0 D S N 0 1440 M -17 0 D S N 0 1800 M -17 0 D S PSL_font_encode 4 get 0 eq {ISOLatin1+_Encoding /Times-Roman /Times-Roman PSL_reencode PSL_font_encode 4 1 put} if -/PSL_AH0 0 /MM {neg exch M} def +/PSL_AH0 0 175 F4 (0) sw mx (200) sw mx @@ -1024,8 +1026,8 @@ N 720 0 M 0 17 D S N 1080 0 M 0 17 D S N 1440 0 M 0 17 D S N 1800 0 M 0 17 D S -/PSL_AH0 0 /MM {M} def +/PSL_AH0 0 (0) sh mx (200) sh mx (400) sh mx @@ -1059,12 +1061,12 @@ FQ O0 0 0 TM % PostScript produced by: -%@GMT: gmt psscale -Dx0.1i/-0.2i+w1.3i/0.05i+h -Cuser.cpt -Bxa -By+lm -O >user.ps +%@GMT: gmt psscale -Dx0.1i/-0.2i+w1.3i/0.05i+h -C../data/ex2.cpt -Bxa -By+lm -O >../data/ex2.ps %@PROJ: xy -668.08288574 -39.34982681 0.00000000 0.05000000 -668.083 -39.350 0.000 0.050 +xy %%BeginObject PSL_Layer_2 0 setlinecap 0 setlinejoin -3.32551 setmiterlimit +3.32550952342 setmiterlimit 120 -240 T 4 W V N 0 0 T 1560 60 scale /DeviceRGB setcolorspace @@ -1097,8 +1099,8 @@ N 0 0 M 1560 0 D S N 169 0 M 0 -17 D S N 665 0 M 0 -17 D S N 1161 0 M 0 -17 D S -/PSL_AH0 0 /MM {neg M} def +/PSL_AH0 0 PSL_font_encode 4 get 0 eq {ISOLatin1+_Encoding /Times-Roman /Times-Roman PSL_reencode PSL_font_encode 4 1 put} if 175 F4 (-600) sh mx @@ -1118,7 +1120,8 @@ def -120 240 T %%EndObject grestore -PSL_movie_completion /PSL_movie_completion {} def +PSL_movie_label_completion /PSL_movie_label_completion {} def +PSL_movie_prog_indicator_completion /PSL_movie_prog_indicator_completion {} def %PSL_Begin_Trailer %%PageTrailer U diff --git a/example2/user.png b/data/ex2.png similarity index 98% rename from example2/user.png rename to data/ex2.png index 2620958f763b06dbd696f07b618fb8e71aaa01a2..a474b05406b54391b34e4683843025ef33fbae5a 100644 GIT binary patch delta 25 hcmbPwnQ8iErU~AR@)La&*p2m!^XIHl-&m-!5&(Gi2{!-$ delta 23 fcmbP!nQ7`}rU~ARvJ-t2SPlMdign#stg;dSZrlk) diff --git a/example3/user.eps b/data/ex3.eps similarity index 98% rename from example3/user.eps rename to data/ex3.eps index 8d19ab1..745675c 100644 --- a/example3/user.eps +++ b/data/ex3.eps @@ -1,11 +1,11 @@ %!PS-Adobe-3.0 %%BoundingBox: 0 0 146 156 %%HiResBoundingBox: 0 0 145.7280 155.9520 -%%Title: GMT v6.0.0 [64-bit] Document from grdimage +%%Title: GMT v6.1.1 [64-bit] Document from grdimage %%Creator: GMT6 %%For: unknown %%DocumentNeededResources: font Helvetica Times-Roman -%%CreationDate: Fri Sep 4 10:14:23 2020 +%%CreationDate: Sun Jan 10 14:45:19 2021 %%LanguageLevel: 2 %%DocumentData: Clean7Bit %%Orientation: Portrait @@ -654,7 +654,8 @@ V 0.06 0.06 scale /PSL_page_xsize 9917 def /PSL_page_ysize 14033 def /PSL_plot_completion {} def -/PSL_movie_completion {} def +/PSL_movie_label_completion {} def +/PSL_movie_prog_indicator_completion {} def %PSL_End_Header gsave 0 A @@ -662,12 +663,12 @@ FQ O0 600 600 TM % PostScript produced by: -%@GMT: gmt grdimage @GMTAPI@-000000 -R0/100/0/80 -Cuser.cpt '-Bxag+lx (m)' '-Byag+ly (m)' -JX1.5i/1.5i -X0.5i -Y0.5i -K -P --MAP_FRAME_AXES=WesNZ user.ps +%@GMT: gmt grdimage @GMTAPI@-S-I-G-G-G-N-000000 -R0/100/0/80 -C../data/ex3.cpt '-Bxag+lx (m)' '-Byag+ly (m)' -JX1.5i/1.5i -X0.5i -Y0.5i -K -P --MAP_FRAME_AXES=WesNZ ../data/ex3.ps %@PROJ: xy 0.00000000 100.00000000 0.00000000 80.00000000 0.000 100.000 0.000 80.000 +xy %%BeginObject PSL_Layer_1 0 setlinecap 0 setlinejoin -3.32551 setmiterlimit +3.32550952342 setmiterlimit clipsave 0 0 M 1800 0 D @@ -862,6 +863,7 @@ N 1440 1783 M 0 34 D S N 1783 1800 M 34 0 D S N 1800 1783 M 0 34 D S PSL_cliprestore +/PSL_slant_y 0 def 2 setlinecap N 0 1800 M 0 -1800 D S /PSL_A0_y 17 def @@ -872,8 +874,8 @@ N 0 900 M -17 0 D S N 0 1350 M -17 0 D S N 0 1800 M -17 0 D S PSL_font_encode 4 get 0 eq {ISOLatin1+_Encoding /Times-Roman /Times-Roman PSL_reencode PSL_font_encode 4 1 put} if -/PSL_AH0 0 /MM {neg exch M} def +/PSL_AH0 0 175 F4 (0) sw mx (20) sw mx @@ -928,8 +930,8 @@ N 720 0 M 0 17 D S N 1080 0 M 0 17 D S N 1440 0 M 0 17 D S N 1800 0 M 0 17 D S -/PSL_AH0 0 /MM {M} def +/PSL_AH0 0 (0) sh mx (20) sh mx (40) sh mx @@ -963,12 +965,12 @@ FQ O0 0 0 TM % PostScript produced by: -%@GMT: gmt psscale -Dx0.1i/-0.2i+w1.3i/0.05i+h -Cuser.cpt -Bxa -By+lm -O >user.ps +%@GMT: gmt psscale -Dx0.1i/-0.2i+w1.3i/0.05i+h -C../data/ex3.cpt -Bxa -By+lm -O >../data/ex3.ps %@PROJ: xy 0.00000000 8000.00000000 0.00000000 0.05000000 0.000 8000.000 0.000 0.050 +xy %%BeginObject PSL_Layer_2 0 setlinecap 0 setlinejoin -3.32551 setmiterlimit +3.32550952342 setmiterlimit 120 -240 T 4 W V N 0 0 T 1560 60 scale /DeviceRGB setcolorspace @@ -1004,8 +1006,8 @@ N 390 0 M 0 -17 D S N 780 0 M 0 -17 D S N 1170 0 M 0 -17 D S N 1560 0 M 0 -17 D S -/PSL_AH0 0 /MM {neg M} def +/PSL_AH0 0 PSL_font_encode 4 get 0 eq {ISOLatin1+_Encoding /Times-Roman /Times-Roman PSL_reencode PSL_font_encode 4 1 put} if 175 F4 (0) sh mx @@ -1031,7 +1033,8 @@ def -120 240 T %%EndObject grestore -PSL_movie_completion /PSL_movie_completion {} def +PSL_movie_label_completion /PSL_movie_label_completion {} def +PSL_movie_prog_indicator_completion /PSL_movie_prog_indicator_completion {} def %PSL_Begin_Trailer %%PageTrailer U diff --git a/example3/user.png b/data/ex3.png similarity index 99% rename from example3/user.png rename to data/ex3.png index d115beb2e632f4249db8b5ca5343d896cee6f6ce..5db5f9df0b9383d598a0b9cf56c26ee261d6bd62 100644 GIT binary patch delta 25 hcmbPogmKyt#tGhx@)La&*p2m!^XIHl-&nXf5de0t2}}S0 delta 23 fcmbPsgmKCd#tGhxvJ-t2SPlMdign#syf_g6Y}pA~ diff --git a/example1/table.nc b/data/table.nc similarity index 100% rename from example1/table.nc rename to data/table.nc diff --git a/example1/table.txt b/data/table.txt similarity index 100% rename from example1/table.txt rename to data/table.txt diff --git a/example1/compile.sh b/example1/compile.sh deleted file mode 100755 index d0a0586..0000000 --- a/example1/compile.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -inc=`gmt-config --cflags` -lib=`gmt-config --libs` -g++ gridding.cpp $inc $lib -o gridding -#./gridding \ No newline at end of file diff --git a/example1/gmt.history b/example1/gmt.history deleted file mode 100644 index 3d58eae..0000000 --- a/example1/gmt.history +++ /dev/null @@ -1,4 +0,0 @@ -# GMT 6 Session common arguments shelf -BEGIN GMT 6.1.1 -R 0/1000/0/1000 -END diff --git a/example1/gridding b/example1/gridding deleted file mode 100755 index 17ae6232c3d60eddb88bd7af0fb4cdd1ec5487ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55688 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 diff --git a/example2/compile.sh b/example2/compile.sh deleted file mode 100755 index 20d9ef4..0000000 --- a/example2/compile.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -inc=`gmt-config --cflags` -lib=`gmt-config --libs` -g++ plot_grid.cpp $inc $lib -o plot_grid -./plot_grid \ No newline at end of file diff --git a/example2/plot_grid b/example2/plot_grid deleted file mode 100755 index 55cd07711fc238bd07d00d6a2731e9a6be021245..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22732 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 O*)u9t$*K5s>Hh%Z-*N^3 diff --git a/example3/compile.sh b/example3/compile.sh deleted file mode 100755 index 92ccc7d..0000000 --- a/example3/compile.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -inc=`gmt-config --cflags` -lib=`gmt-config --libs` -g++ plot_memory.cpp $inc $lib -o plot_memory -./plot_memory \ No newline at end of file diff --git a/example3/plot_memory b/example3/plot_memory deleted file mode 100755 index 174777251679ea8cfab028e127f628c8ec79a96e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22860 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 diff --git a/example1/gridding.cpp b/src/gridding.cpp similarity index 82% rename from example1/gridding.cpp rename to src/gridding.cpp index 2bdf858..66b40a8 100644 --- a/example1/gridding.cpp +++ b/src/gridding.cpp @@ -1,11 +1,12 @@ #include "gmt.h" #include "iostream" #include "string" +#include "unistd.h" int main(int argc, char *argv[]) { - std::string table_name = "table.txt"; - std::string grid_name = "table.nc"; + std::string table_name = "../data/table.txt"; + std::string grid_name = "../data/table.nc"; // Initiate a new GMT session void *API = GMT_Create_Session("gridding_example", 2U, 0, NULL); @@ -44,5 +45,13 @@ int main(int argc, char *argv[]) // end the GMT session GMT_Destroy_Session(API); + + // if exist, delete + std::string hist_file = "gmt.history"; + std::string conf_file = "gmt.conf"; + if (!access(hist_file.c_str(), F_OK)) + remove(hist_file.c_str()); + if (!access(conf_file.c_str(), F_OK)) + remove(conf_file.c_str()); return 0; } \ No newline at end of file diff --git a/example2/plot_grid.cpp b/src/plot_grid.cpp similarity index 93% rename from example2/plot_grid.cpp rename to src/plot_grid.cpp index a2f86a1..5163cc0 100644 --- a/example2/plot_grid.cpp +++ b/src/plot_grid.cpp @@ -6,8 +6,8 @@ int main(int argc, char *argv[]) { - std::string cpt_file = "user.cpt"; - std::string ps_file = "user.ps"; + std::string cpt_file = "../data/ex2.cpt"; + std::string ps_file = "../data/ex2.ps"; // Initiate a new GMT session // you need to destroy the session later @@ -15,7 +15,7 @@ int main(int argc, char *argv[]) struct GMT_GRID *G = reinterpret_cast( GMT_Read_Data (API, GMT_IS_GRID, GMT_IS_FILE, GMT_IS_SURFACE, - GMT_READ_NORMAL, NULL, "table.nc", NULL)); + GMT_READ_NORMAL, NULL, "../data/table.nc", NULL)); // start the plotting // 1. set GMT defaults @@ -33,7 +33,7 @@ MAP_ANNOT_OFFSET_PRIMARY=2.5p"; GMT_Call_Module (API, "gmtset", GMT_MODULE_CMD, (char*) args_defaults.c_str()); // load the grid to a virtual file for plotting - char grid_name[GMT_STR16] = {""}; + char grid_name[GMT_VF_LEN] = {""}; GMT_Open_VirtualFile (API, GMT_IS_GRID, GMT_IS_SURFACE, GMT_IN, G, grid_name); // get string type of grid name std::string grid_name_str = grid_name; diff --git a/example3/plot_memory.cpp b/src/plot_memory.cpp similarity index 96% rename from example3/plot_memory.cpp rename to src/plot_memory.cpp index ea56593..3767044 100644 --- a/example3/plot_memory.cpp +++ b/src/plot_memory.cpp @@ -6,8 +6,8 @@ int main(int argc, char *argv[]) { - std::string cpt_file = "user.cpt"; - std::string ps_file = "user.ps"; + std::string cpt_file = "../data/ex3.cpt"; + std::string ps_file = "../data/ex3.ps"; // Initiate a new GMT session // you need to destroy the session later @@ -62,7 +62,7 @@ MAP_ANNOT_OFFSET_PRIMARY=2.5p"; GMT_Call_Module (API, "gmtset", GMT_MODULE_CMD, (char*) args_defaults.c_str()); // load the grid to a virtual file for plotting - char grid_name[GMT_STR16] = {""}; + char grid_name[GMT_VF_LEN] = {""}; GMT_Open_VirtualFile (API, GMT_IS_GRID, GMT_IS_SURFACE, GMT_IN, G, grid_name); // get string type of grid name std::string grid_name_str = grid_name;