Ini ialah arahan g.parsergrass yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS
JADUAL:
NAMA
g.penghuraikan - Menyediakan sokongan penghurai penuh untuk skrip GRASS.
Kata-kata berkaitan
am, sokongan, skrip
SINOPSIS
g.penghuraikan - membantu
g.penghuraikan [-s] [-t] [-n] nama fail [hujah,...]
Bendera:
-t
Cetak rentetan untuk terjemahan
-s
Tulis nilai pilihan kepada output standard dan bukannya memanggil semula skrip
-n
Tulis nilai pilihan kepada output standard yang dipisahkan oleh aksara nol
DESCRIPTION
. g.penghuraikan modul menyediakan sokongan penghurai penuh untuk skrip GRASS, termasuk a
antara muka GUI yang dijana secara automatik, templat halaman bantuan dan semakan pilihan baris arahan. Dalam
dengan cara ini skrip ringkas boleh dibuat dengan cepat menjadi modul GRASS yang lengkap.
PILIHAN
Kecuali -s or -n suis digunakan, argumen disimpan dalam pembolehubah persekitaran untuk
gunakan dalam skrip anda. Pembolehubah ini dinamakan "GIS_FLAG_ "untuk bendera dan
"GIS_OPT_ " untuk pilihan. Nama pembolehubah ditukar kepada huruf besar. Untuk
contoh jika pilihan dengan kunci input telah ditakrifkan dalam pengepala skrip, nilainya ialah
tersedia dalam pembolehubah GIS_OPT_INPUT dan nilai bendera dengan kunci f akan tersedia di
berubah-ubah GIS_FLAG_F.
Untuk bendera, nilai akan menjadi "1" jika bendera diberikan dan "0" sebaliknya.
Jika -s or -n suis digunakan, pilihan dan bendera ditulis kepada output standard dalam
borang opt_ = and bendera_ =, didahului oleh rentetan @ARGS_PARSED@.
Jika rentetan ini tidak muncul sebagai baris pertama output standard, ini menunjukkan bahawa
skrip telah digunakan dengan suis seperti --html-penerangan. Dalam kes ini, data
ditulis oleh g.penghuraikan kepada output standard hendaklah disalin ke output standard skrip
verbatim. Sekiranya -s suis digunakan, pilihan dan bendera dipisahkan oleh baris baharu. Jika
yang -n suis digunakan, pilihan dan bendera dipisahkan oleh aksara nol.
Takrif pengepala biasa adalah seperti berikut:
#% modul
#% perihalan: skrip ujian g.parser
#%end
#%bendera
#% kunci: f
#% perihalan: Bendera
#%end
#% pilihan
#% kunci: raster
#% jenis: rentetan
#% gisprompt: lama,sel,raster
#% perihalan: Peta input raster
#% diperlukan: ya
#%end
Dengan {NULL} adalah mungkin untuk menyekat perihalan atau label yang dipratentukan.
Penghurai membenarkan penggunaan yang telah ditetapkan diselaraskan pilihan and bendera, lihat senarai
pilihan dan bendera dalam manual pengaturcara. Cth. pilihan
#% pilihan
#% kunci: raster
#% jenis: rentetan
#% gisprompt: lama,sel,raster
#% perihalan: Peta input raster
#% diperlukan: ya
#%end
boleh ditakrifkan dengan mudah sebagai
#%pilihan G_OPT_R_MAP
#% kunci: raster
#%end
Penghurai membenarkan pentakrifan yang dipratentukan peraturan untuk pilihan yang digunakan. Sintaks peraturan
bahagian adalah berikut:
#%peraturan
#% eksklusif: capfile_output, capfile
#%end
Penghurai juga membenarkan mentakrifkan keadaan "ATAU", contohnya memerlukan raster ATAU vektor (untuk
butiran, lihat di bawah), egfor pilihan:
#%peraturan
#% diperlukan: raster, vektor
#%end
dan cth, untuk bendera:
#%peraturan
#% diperlukan: -i,-d,-c
#%end
NOTA
Pilihan boleh diarahkan untuk membenarkan berbilang input dengan menambah baris berikut:
#% berbilang: ya
Walaupun ini hanya akan mengubah secara langsung Penggunaan bahagian skrin bantuan, pilihan
rentetan persekitaran boleh dihuraikan dengan mudah dari dalam skrip. Sebagai contoh, individu
identiti yang dipisahkan koma untuk pilihan bernama "input" boleh dihuraikan dengan yang berikut
Kod shell Bash:
IFS=,
untuk ikut serta $GIS_OPT_INPUT ; buat
... "$opt"
dilakukan
Medan "guisection" boleh ditambah pada setiap pilihan dan bendera untuk menentukan bahawa pilihan
sepatutnya muncul dalam berbilang tab dalam GUI yang dijana secara automatik. Sebarang pilihan tanpa a
medan guisection pergi ke tab "Diperlukan" atau "Pilihan". Sebagai contoh:
#% samaran: nama tab
akan meletakkan pilihan itu dalam tab bernama nama tab.
Medan "key_desc" boleh ditambah pada setiap pilihan untuk menentukan teks yang muncul dalam
bahagian bantuan penggunaan modul. Sebagai contoh:
#% key_desc: nama fail
ditambah kepada sebuah input pilihan akan mencipta ringkasan penggunaan [input=filename].
Jika skrip dijalankan dengan --o, penghurai akan menetapkan GRASS_OVERWRITE=1, yang mempunyai perkara yang sama
kesan sebagai lulus --o kepada setiap modul yang dijalankan daripada skrip. Begitu juga, lulus --q
or --v akan menetapkan GRASS_VERBOSE masing-masing kepada 0 atau 3, yang mempunyai kesan yang sama seperti lulus
--q or --v kepada setiap modul yang dijalankan daripada skrip. Daripada menyemak sama ada
--o, --q or --v telah digunakan, anda sepatutnya menyemak GRASS_OVERWRITE dan/atau GRASS_VERBOSE
sebaliknya. Jika pembolehubah tersebut ditetapkan, skrip harus berkelakuan dengan cara yang sama tanpa mengira
sama ada mereka ditetapkan oleh --o, --q or --v dihantar ke skrip atau ditetapkan dengan cara lain.
bersyarat parameter
Menandai pilihan sebagai "diperlukan" akan mengakibatkan penghurai menimbulkan ralat maut jika
pilihan tidak diberikan, dengan satu pengecualian: jika bendera mempunyai pilihan suppress_required, dan
bendera itu diberikan, semua keperluan diabaikan. Ciri ini bertujuan untuk bendera yang
meninggalkan "operasi biasa" untuk modul; cth r.in.gdal's -f bendera (senarai disokong
format) menggunakannya.
Tetapi secara umum, pilihan tidak boleh ditandakan seperti yang diperlukan jika ia adalah pilihan kecuali untuk
kes khas bendera suppress_required. Penghurai mempunyai keupayaan untuk menentukan pilihan
hubungan.
Untuk C, fungsi yang berkaitan adalah yang terdapat dalam lib/gis/parser_dependencies.c.
Untuk skrip, perhubungan ditentukan menggunakan bahagian "peraturan", cth
#%peraturan
#% diperlukan: ketinggian, ketinggian
#%end
menyatakan bahawa sekurang-kurangnya satu daripada pilihan tersebut mesti diberikan. Kedua-dua pilihan dan bendera boleh
ditentukan (a terkemuka "-" menandakan bendera). Jenis peraturan yang tersedia ialah:
· eksklusif: paling banyak satu daripada pilihan boleh diberikan
· diperlukan: sekurang-kurangnya satu daripada pilihan mesti diberikan
· memerlukan: jika pilihan pertama diberikan, sekurang-kurangnya satu daripada pilihan berikutnya
mesti diberi juga
· memerlukan_semua: jika pilihan pertama diberikan, semua pilihan berikutnya mesti
juga diberi
· tidak termasuk: jika pilihan pertama diberikan, tiada satu pun daripada pilihan berikutnya mungkin
diberikan
· kolektif: semua atau tiada; jika apa-apa pilihan diberikan, semua mesti diberikan
AUTOMATED SCRIPT CIPTAAN
Bendera --skrip ditambahkan pada arahan GRASS, menjana keluaran shell. Untuk menulis a
g.penghuraikan boilerplate untuk prototaip mudah skrip shell, bendera --skrip boleh ditambah
kepada mana-mana arahan GRASS. Contoh:
v.in.db --skrip
Bantuan halaman template (HTML)
Bendera --html-penerangan ditambahkan pada arahan GRASS menjana halaman bantuan yang berkaitan
templat dalam HTML. Contoh:
v.in.db --html-penerangan
GUI tetingkap parser (XML)
Bendera --penerangan antara muka ditambahkan pada arahan GRASS menjana halaman bantuan yang berkaitan
templat dalam XML. Contoh:
v.in.db --penerangan-antaramuka
web Pemprosesan Servis (WPS)
Bendera --wps-proses-penerangan ditambah pada arahan GRASS menjana Pemprosesan Web
Penerangan proses perkhidmatan. Contoh:
v.in.db --wps-process-description
reStructuredText
Bendera --perihalan pertama ditambahkan pada arahan GRASS menjana penerangan antara muka modul
dalam reStructuredText, bahasa penanda yang ringan. Contoh:
v.in.db --perihalan-pertama
reStructuredText kadangkala disingkatkan sebagai reST, ReST atau RST. Fail yang biasa digunakan
sambungan ialah .pertama. Jangan keliru dengan Pemindahan Negeri Perwakilan (REST)
teknologi.
TERJEMAHAN
g.penghuraikan menyediakan beberapa sokongan untuk menterjemah pilihan skrip. Jika dipanggil dengan
-t tukar sebelum nama fail skrip seperti ini
g.parser -t somescriptfile
g.penghuraikan akan mencetak teks pilihan yang boleh diterjemahkan kepada output standard, satu setiap baris,
dan keluar. Ini adalah untuk kegunaan dalaman dalam sistem binaan untuk menyediakan skrip GRASS
terjemahan.
CONTOH
Semua contoh di bawah menjana auto antara muka pengguna grafik apabila digunakan tanpa
parameter bendera:
Untuk berjalan dengan betul, skrip perlu disalin ke dalam direktori yang disenaraikan
Pembolehubah persekitaran $GRASS_ADDON_PATH dengan bendera boleh laku ditetapkan.
Skrip akan menyediakan GUI (seperti di atas) dan teks bantuan penggunaan berikut:
test.py|sh|pl --help
Penerangan:
skrip ujian g.parser (python)
Penggunaan:
test.sh [-f] raster=vektor rentetan=rentetan [option1=rentetan]
[--verbose] [--senyap]
Bendera:
-f Bendera
--v Output modul verbose
--q Output modul senyap
Parameter:
raster Peta input raster
vektor Peta input vektor
pilihan1 Satu pilihan
Contoh kod khususnya Python
#!/usr/bin/env ular sawa
# skrip demo g.parser untuk pengaturcaraan python
#% modul
#% perihalan: skrip ujian g.parser (python)
#% kata kunci: kata kunci1
#% kata kunci: kata kunci2
#%end
#%bendera
#% kunci: f
#% perihalan: Bendera
#%end
#%pilihan G_OPT_R_MAP
#% kunci: raster
#% diperlukan: ya
#%end
#%pilihan G_OPT_V_MAP
#% kunci: vektor
#%end
#% pilihan
#% kunci: pilihan1
#% jenis: rentetan
#% perihalan: Satu pilihan
#% diperlukan: tidak
#%end
mengimport anda
import sys
import rumput.skrip sebagai rumput
def utama ():
flag_f = bendera['f']
pilihan1 = pilihan['pilihan1']
raster = pilihan['raster']
vektor = pilihan['vektor']
#### tambah kod anda di sini ####
jika flag_f:
cetak "Bendera -f set"
lain:
cetak "Bendera -f tidak ditetapkan"
# uji jika parameter ada:
jika pilihan1:
cetak "Nilai opsyen1: '%s'" % pilihan1
cetak "Nilai pilihan raster: '%s'" % raster
cetak "Nilai pilihan vektor: '%s'" % vektor
#### tamat kod anda ####
kembali 0
jika __nama__ == "__utama__":
pilihan, bendera = grass.parser()
sys.exit(utama())
Contoh kod khususnya SHELL
#!/ Bin / sh
# skrip demo g.parser untuk pengaturcaraan shell
#% modul
#% perihalan: skrip ujian g.parser (shell)
#%end
#%bendera
#% kunci: f
#% perihalan: Bendera
#%end
#%pilihan G_OPT_R_MAP
#% kunci: raster
#% diperlukan: ya
#%end
#%pilihan G_OPT_V_MAP
#% kunci: vektor
#%end
#% pilihan
#% kunci: pilihan1
#% jenis: rentetan
#% perihalan: Satu pilihan
#% diperlukan: tidak
#%end
jika [ -z "$GISBASE" ] ; kemudian
echo "Anda mesti berada dalam GRASS GIS untuk menjalankan program ini." 1>&2
jalan keluar 1
fi
jika [ "$1" != "@ARGS_PARSED@" ] ; kemudian
exec g.parser "$0" "$@"
fi
#### tambah kod anda di bawah ####
membuang ""
jika [ $GIS_FLAG_F -eq 1 ] ; kemudian
g.message message="Bendera -f set"
lagi
g.message message="Bendera -f tidak ditetapkan"
fi
# uji jika parameter ada:
jika [ -n "$GIS_OPT_OPTION1" ] ; kemudian
echo "Nilai GIS_OPT_OPTION1: '$GIS_OPT_OPTION1'"
fi
g.message message="Nilai GIS_OPT_option1: '$GIS_OPT_option1'"
g.message message="Nilai GIS_OPT_raster: '$GIS_OPT_raster'"
g.message message="Nilai GIS_OPT_vect: '$GIS_OPT_vector'"
#### tamat kod anda ####
Contoh kod khususnya Perl
#!/usr/bin/perl -w
gunakan ketat;
# skrip demo g.parser
#% modul
#% perihalan: skrip ujian g.parser (perl)
#% kata kunci: kata kunci1
#% kata kunci: kata kunci2
#%end
#%bendera
#% kunci: f
#% perihalan: Bendera
#%end
#%pilihan G_OPT_R_MAP
#% kunci: raster
#% diperlukan: ya
#%end
#%pilihan G_OPT_V_MAP
#% kunci: vektor
#%end
#% pilihan
#% kunci: pilihan1
#% jenis: rentetan
#% perihalan: Satu pilihan
#% diperlukan: tidak
#%end
jika ( !$ENV{'GISBASE'} ) {
printf(STDERR "Anda mesti berada dalam GRASS GIS untuk menjalankan program ini.\n");
keluar 1;
}
jika( $ARGV[0] tiada '@ARGS_PARSED@' ){
$arg saya = "";
untuk ($i=0 saya; $i < @ARGV;$i++) {
$arg .= " $ARGV[$i] ";
}
system("$ENV{GISBASE}/bin/g.parser $0 $arg");
keluar;
}
#### tambah kod anda di sini ####
cetak "\n";
jika ($ENV{'GIS_FLAG_F'} eq "1" ){
cetak "Bendera -f set\n"
}
lain {
cetak "Bendera -f tidak ditetapkan\n"
}
printf ("Nilai GIS_OPT_option1: '%s'\n", $ENV{'GIS_OPT_OPTION1'});
printf ("Nilai GIS_OPT_raster: '%s'\n", $ENV{'GIS_OPT_RASTER'});
printf ("Nilai GIS_OPT_vect: '%s'\n", $ENV{'GIS_OPT_VECTOR'});
#### tamat kod anda ####
Gunakan g.parsergrass dalam talian menggunakan perkhidmatan onworks.net