Ini adalah perintah g.parsergrass yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
g.parser - Menyediakan dukungan parser penuh untuk skrip GRASS.
KEYWORDS
umum, dukungan, skrip
RINGKASAN
g.parser --membantu
g.parser [-s] [-t] [-n] nama file [argumen,...]
Bendera:
-t
Cetak string untuk terjemahan
-s
Tulis nilai opsi ke output standar alih-alih mengaktifkan kembali skrip
-n
Tulis nilai opsi ke output standar yang dipisahkan oleh karakter nol
DESKRIPSI
g.parser modul menyediakan dukungan parser penuh untuk skrip GRASS, termasuk
antarmuka GUI yang dibuat secara otomatis, templat halaman bantuan, dan pemeriksaan opsi baris perintah. Di dalam
dengan cara ini skrip sederhana dapat dengan cepat dibuat menjadi modul GRASS yang lengkap.
PILIHAN
Kecuali jika -s or -n switch digunakan, argumen disimpan dalam variabel lingkungan untuk
gunakan dalam skrip Anda. Variabel ini diberi nama "GIS_FLAG_ " untuk bendera dan
"GIS_OPT_ " untuk opsi. Nama variabel diubah menjadi huruf besar. Untuk
contoh jika opsi dengan kunci memasukkan didefinisikan di header skrip, nilainya akan menjadi
tersedia dalam variabel GIS_OPT_INPUT dan nilai bendera dengan kunci f akan tersedia di
variabel GIS_FLAG_F.
Untuk bendera, nilainya akan menjadi "1" jika bendera diberikan, dan "0" sebaliknya.
Jika -s or -n switch digunakan, opsi dan flag ditulis ke output standar di
formulir memilih_ = dan bendera_ =, didahului oleh string @ARGS_PARSED@.
Jika string ini tidak muncul sebagai baris pertama dari output standar, ini menunjukkan bahwa
skrip dipanggil dengan sakelar seperti --html-deskripsi. Dalam hal ini, data
ditulis oleh g.parser ke output standar harus disalin ke output standar skrip
kata demi kata. jika -s switch digunakan, opsi dan flag dipisahkan oleh baris baru. Jika
itu -n switch digunakan, opsi dan flag dipisahkan oleh karakter null.
Definisi header yang umum adalah sebagai berikut:
#%modul
#% deskripsi: skrip pengujian g.parser
#%akhir
#%bendera
#% kunci: f
#% deskripsi: Bendera
#%akhir
#%pilihan
#% kunci: raster
#% jenis: string
#% gisprompt: lama,sel,raster
#% deskripsi: Peta masukan raster
#% diperlukan: ya
#%akhir
Dengan {NULL} dimungkinkan untuk menyembunyikan deskripsi atau label yang telah ditentukan sebelumnya.
Pengurai memungkinkan penggunaan yang telah ditentukan sebelumnya standar Pilihan dan bendera, lihat daftar
opsi dan flag di manual programmer. Misalnya. pilihan
#%pilihan
#% kunci: raster
#% jenis: string
#% gisprompt: lama,sel,raster
#% deskripsi: Peta masukan raster
#% diperlukan: ya
#%akhir
dapat dengan mudah didefinisikan sebagai
#%opsi G_OPT_R_MAP
#% kunci: raster
#%akhir
Parser memungkinkan pendefinisian yang telah ditentukan aturan untuk opsi yang digunakan. Sintaks aturan
bagian berikut:
#%aturan
#% eksklusif: capfile_output, capfile
#%akhir
Pengurai juga memungkinkan pendefinisian kondisi "ATAU", misalnya membutuhkan vektor raster OR (untuk
detail, lihat di bawah), misalnya untuk opsi:
#%aturan
#% diperlukan: raster, vektor
#%akhir
dan misalnya, untuk bendera:
#%aturan
#% diperlukan: -i,-d,-c
#%akhir
CATATAN
Sebuah opsi dapat diinstruksikan untuk mengizinkan beberapa input dengan menambahkan baris berikut:
#% kelipatan: ya
Meskipun ini hanya akan langsung mengubah penggunaan bagian layar bantuan, opsinya
string lingkungan dapat dengan mudah diuraikan dari dalam skrip. Misalnya individu
identitas yang dipisahkan koma untuk opsi bernama "input" dapat diuraikan dengan yang berikut:
Kode shell bash:
IFS =,
untuk ikut serta dalam $GIS_OPT_INPUT ; melakukan
... "$ memilih"
dilakukan
Bidang "guisection" dapat ditambahkan ke setiap opsi dan tandai untuk menentukan opsi tersebut
akan muncul di banyak tab di GUI yang dibuat secara otomatis. Opsi apa pun tanpa a
bidang guisection masuk ke tab "Diperlukan" atau "Opsi". Sebagai contoh:
#% guisection: nama tab
akan menempatkan opsi itu di tab bernama nama tab.
Bidang "key_desc" dapat ditambahkan ke setiap opsi untuk menentukan teks yang muncul di
bagian bantuan penggunaan modul. Sebagai contoh:
#% key_desc: nama file
ditambahkan ke memasukkan opsi akan membuat ringkasan penggunaan [input=filename].
Jika skrip dijalankan dengan --Hai, parser akan mengatur GRASS_OVERWRITE=1, yang memiliki hal yang sama
efek sebagai passing --Hai ke setiap modul yang dijalankan dari skrip. Demikian pula, lewat --Q
or --v akan mengatur GRASS_VERBOSE ke 0 atau 3 masing-masing, yang memiliki efek yang sama dengan passing
--Q or --v ke setiap modul yang dijalankan dari skrip. Daripada memeriksa apakah
--Hai, --Q or --v digunakan, Anda harus memeriksa GRASS_OVERWRITE dan/atau GRASS_VERBOSE
sebagai gantinya. Jika variabel-variabel itu disetel, skrip harus berperilaku dengan cara yang sama terlepas dari
apakah mereka ditetapkan oleh --Hai, --Q or --v diteruskan ke skrip atau diatur dengan cara lain.
Bersyarat parameter
Menandai opsi sebagai "wajib" akan mengakibatkan parser memunculkan kesalahan fatal jika
opsi tidak diberikan, dengan satu pengecualian: jika sebuah flag memiliki opsi suppress_required, dan
bendera itu diberikan, semua persyaratan diabaikan. Fitur ini ditujukan untuk bendera yang
tinggalkan "operasi normal" untuk modul; misalnya ringdal'S -f bendera (daftar didukung
format) menggunakannya.
Tetapi secara umum, sebuah opsi tidak dapat ditandai sebagai wajib jika itu opsional kecuali untuk
kasus khusus dari flag suppress_required. Pengurai memiliki kemampuan untuk menentukan opsi
hubungan.
Untuk C, fungsi yang relevan adalah yang ada di lib/gis/parser_dependencies.c.
Untuk skrip, hubungan ditentukan menggunakan bagian "aturan", mis
#%aturan
#% diperlukan: ketinggian, elevasi
#%akhir
menentukan bahwa setidaknya satu dari opsi tersebut harus diberikan. Kedua opsi dan bendera dapat
tertentu (sebuah "leading"-" menunjukkan sebuah bendera). Jenis aturan yang tersedia adalah:
· eksklusif: paling banyak salah satu opsi dapat diberikan
· diperlukan: setidaknya salah satu opsi harus diberikan
· membutuhkan: jika opsi pertama diberikan, setidaknya salah satu opsi berikutnya
juga harus diberikan
· membutuhkan_semua: jika opsi pertama diberikan, semua opsi berikutnya harus
juga diberikan
· tidak termasuk: jika opsi pertama diberikan, tidak ada opsi berikutnya yang mungkin
diberikan
· kolektif: semua atau tidak sama sekali; jika ada pilihan yang diberikan, semua harus diberikan
OTOMATIS SCRIPT PENCIPTAAN
Bendera --naskah ditambahkan ke perintah GRASS, menghasilkan output shell. Untuk menulis
g.parser boilerplate untuk pembuatan prototipe skrip shell yang mudah, bendera --naskah bisa ditambahkan
untuk setiap perintah GRASS. Contoh:
v.in.db --skrip
Bantuan halaman Template (HTML)
Bendera --html-deskripsi ditambahkan ke perintah GRASS menghasilkan halaman bantuan terkait
templat dalam HTML. Contoh:
v.in.db --html-deskripsi
GUI jendela pengurai (XML)
Bendera --interface-deskripsi ditambahkan ke perintah GRASS menghasilkan halaman bantuan terkait
templat dalam XML. Contoh:
v.in.db --deskripsi-antarmuka
jaringan Pengolahan Pelayanan (WPS)
Bendera --wps-proses-deskripsi ditambahkan ke perintah GRASS menghasilkan Pemrosesan Web
Deskripsi proses layanan. Contoh:
v.in.db --wps-proses-deskripsi
reStructuredText
Bendera --deskripsi-pertama ditambahkan ke perintah GRASS menghasilkan deskripsi antarmuka modul
di reStructuredText, bahasa markup yang ringan. Contoh:
v.in.db --deskripsi pertama
reStructuredText terkadang disingkat sebagai reST, ReST, atau RST. File yang umum digunakan
ekstensi adalah .rst. Jangan bingung dengan Representational State Transfer (REST)
teknologi.
TRANSLATION
g.parser menyediakan beberapa dukungan untuk menerjemahkan opsi skrip. Jika dipanggil dengan
-t beralih sebelum nama file skrip seperti ini
g.parser -t beberapa file skrip
g.parser akan mencetak teks opsi yang dapat diterjemahkan ke keluaran standar, satu per baris,
dan keluar. Ini untuk penggunaan internal dalam sistem build untuk menyiapkan skrip GRASS untuk
terjemahan.
CONTOH
Semua contoh di bawah ini membuat antarmuka pengguna grafis secara otomatis saat dipanggil tanpa
parameter bendera:
Agar berjalan dengan benar, skrip perlu disalin ke direktori yang tercantum di
$GRASS_ADDON_PATH variabel lingkungan dengan flag yang dapat dieksekusi sedang disetel.
Script akan menyediakan GUI (seperti di atas) dan teks bantuan penggunaan berikut:
tes.py|sh|pl --membantu
Deskripsi:
skrip pengujian g.parser (python)
Pemakaian:
test.sh [-f] raster=vektor string=string [option1=string]
[--verbose] [--tenang]
Bendera:
-f Bendera
--v Keluaran modul verbose
--q Keluaran modul senyap
Parameter:
peta masukan raster raster
peta masukan vektor vektor
pilihan1 Sebuah pilihan
Example kode untuk Ular sanca
#!/usr/bin/env ular sanca
# skrip demo g.parser untuk pemrograman python
#%modul
#% deskripsi: skrip pengujian g.parser (python)
#% kata kunci: kata kunci1
#% kata kunci: kata kunci2
#%akhir
#%bendera
#% kunci: f
#% deskripsi: Bendera
#%akhir
#%opsi G_OPT_R_MAP
#% kunci: raster
#% diperlukan: ya
#%akhir
#%opsi G_OPT_V_MAP
#% kunci: vektor
#%akhir
#%pilihan
#% kunci: opsi1
#% jenis: string
#% deskripsi: Sebuah pilihan
#% diperlukan: tidak
#%akhir
impor os
impor sys
impor grass.script sebagai rumput
def main ():
flag_f = bendera['f']
opsi1 = opsi['opsi1']
raster = opsi['raster']
vektor = opsi['vektor']
#### tambahkan kode Anda di sini ####
jika flag_f:
print "Bendera -f set"
lain:
print "Bendera -f tidak disetel"
# uji apakah ada parameter:
jika opsi1:
print "Nilai opsi1 opsi: '%s'" % opsi1
print "Nilai opsi raster: '%s'" % raster
print "Nilai opsi vektor: '%s'" % vektor
#### akhir kode Anda ####
kembalikan 0
jika __name__ == "__main__":
pilihan, flags = grass.parser()
sys.keluar(utama())
Example kode untuk SHELL
#!/ Bin / sh
# skrip demo g.parser untuk pemrograman shell
#%modul
#% deskripsi: skrip pengujian g.parser (shell)
#%akhir
#%bendera
#% kunci: f
#% deskripsi: Bendera
#%akhir
#%opsi G_OPT_R_MAP
#% kunci: raster
#% diperlukan: ya
#%akhir
#%opsi G_OPT_V_MAP
#% kunci: vektor
#%akhir
#%pilihan
#% kunci: opsi1
#% jenis: string
#% deskripsi: Sebuah pilihan
#% diperlukan: tidak
#%akhir
jika [ -z "$GISBASE" ] ; kemudian
echo "Anda harus berada di GRASS GIS untuk menjalankan program ini." 1>&2
keluar 1
fi
if [ "$1" != "@ARGS_PARSED@" ] ; kemudian
exec g.parser "$0" "$@"
fi
#### tambahkan kode Anda di bawah ini ####
membuang ""
jika [ $GIS_FLAG_F -eq 1 ] ; kemudian
g.message message="Bendera -f set"
lain
g.message message="Bendera -f tidak disetel"
fi
# uji apakah ada parameter:
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'"
#### akhir kode Anda ####
Example kode untuk Perl
#!/usr/bin/Perl -w
gunakan ketat;
# skrip demo g.parser
#%modul
#% deskripsi: skrip pengujian g.parser (perl)
#% kata kunci: kata kunci1
#% kata kunci: kata kunci2
#%akhir
#%bendera
#% kunci: f
#% deskripsi: Bendera
#%akhir
#%opsi G_OPT_R_MAP
#% kunci: raster
#% diperlukan: ya
#%akhir
#%opsi G_OPT_V_MAP
#% kunci: vektor
#%akhir
#%pilihan
#% kunci: opsi1
#% jenis: string
#% deskripsi: Sebuah pilihan
#% diperlukan: tidak
#%akhir
if ( !$ENV{'GISBASE'} ) {
printf(STDERR "Anda harus berada di GRASS GIS untuk menjalankan program ini.\n");
keluar 1;
}
if( $ARGV[0] ne '@ARGS_PARSED@' ){
$arg saya = "";
untuk ($i=0 saya; $i < @ARGV;$i++) {
$arg .= " $ARGV[$i] ";
}
system("$ENV{GISBASE}/bin/g.parser $0 $arg");
exit;
}
#### tambahkan kode Anda di sini ####
cetak "\n";
if ( $ENV{'GIS_FLAG_F'} eq "1" ){
print "Bendera -f set\n"
}
else {
print "Bendera -f tidak disetel\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'});
#### akhir kode Anda ####
Gunakan g.parsergrass online menggunakan layanan onworks.net