GoGPT Best VPN GoSearch

ไอคอน Fav ของ OnWorks

r3.mapcalcgrass - ออนไลน์ใน Cloud

เรียกใช้ r3.mapcalcgrass ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง r3.mapcalcgrass ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


r3.mapcalc - เครื่องคิดเลขแผนที่แรสเตอร์

KEYWORDS


แรสเตอร์ พีชคณิต

เรื่องย่อ


r3.mapcalc
r3.mapcalc --ช่วยด้วย
r3.mapcalc [-s] [การแสดงออก=เชือก] [ไฟล์=พร้อมชื่อ] [เมล็ดพันธุ์=จำนวนเต็ม-เขียนทับ]
-ช่วย-ละเอียด-เงียบสงบ-ui]

ธง:
-s
สร้างเมล็ดพันธุ์สุ่ม (ผลลัพธ์ไม่ได้ถูกกำหนด)

--เขียนทับ
อนุญาตให้ไฟล์เอาต์พุตเขียนทับไฟล์ที่มีอยู่

--ช่วยด้วย
พิมพ์สรุปการใช้งาน

--รายละเอียด
เอาต์พุตโมดูล verbose

--เงียบ
เอาต์พุตโมดูลเงียบ

--UI
บังคับให้เปิดใช้กล่องโต้ตอบ GUI

พารามิเตอร์:
การแสดงออก=เชือก
การแสดงออกเพื่อประเมิน

ไฟล์=พร้อมชื่อ
ไฟล์ที่มีนิพจน์ที่จะประเมิน

เมล็ดพันธุ์=จำนวนเต็ม
ฟังก์ชัน Seed for rand()

DESCRIPTION


r3.mapcalc ดำเนินการคำนวณในเลเยอร์แผนที่แรสเตอร์ สามารถสร้างเลเยอร์แผนที่แรสเตอร์ใหม่ได้
ซึ่งเป็นนิพจน์ทางคณิตศาสตร์ที่เกี่ยวข้องกับเลเยอร์แผนที่แรสเตอร์ที่มีอยู่ จำนวนเต็ม หรือลอยตัว
ค่าคงที่จุดและฟังก์ชัน

โครงการ ใช้
r3.mapcalc นิพจน์มีรูปแบบ:

ผล = การแสดงออก

ที่ไหน ผล เป็นชื่อของเลเยอร์แผนที่แรสเตอร์เพื่อรวมผลลัพธ์ของการคำนวณ
และ การแสดงออก เป็นนิพจน์ทางคณิตศาสตร์ทางกฎหมายที่เกี่ยวข้องกับเลเยอร์แผนที่แรสเตอร์ที่มีอยู่
(ยกเว้น ผล เอง) ค่าคงที่จำนวนเต็มหรือค่าทศนิยม และฟังก์ชันที่ .รู้จัก
เครื่องคิดเลข วงเล็บสามารถใช้ได้ในนิพจน์และอาจซ้อนในระดับความลึกใดก็ได้
ผล จะถูกสร้างขึ้นในชุดแผนที่ปัจจุบันของผู้ใช้

As นิพจน์= เป็นตัวเลือกแรก เป็นค่าเริ่มต้น ซึ่งหมายความว่าผ่าน
นิพจน์บนบรรทัดคำสั่งเป็นไปได้ตราบใดที่นิพจน์ถูกยกมาและเว้นวรรค
รวมไว้ก่อน = เข้าสู่ระบบ. ตัวอย่าง ('foo' คือแผนที่ผลลัพธ์):
r3.mapcalc "foo = 1"
หรือ:
r3.mapcalc 'foo = 1'
นิพจน์ที่ไม่มีเครื่องหมายคำพูด (เช่น แยกอาร์กิวเมนต์หลายรายการ) จะไม่ทำงาน และจะไม่ละเว้น
ช่องว่างก่อนเครื่องหมาย =:
r3.mapcalc 'foo=1'
เสียใจ, ไม่ใช่พารามิเตอร์ที่ถูกต้อง
หากไม่มีตัวเลือกใดๆ ระบบจะสร้าง "file=-" (ซึ่งอ่านจาก stdin) ดังนั้นคุณจึงสามารถ
ใช้ต่อไปเช่น:
r3.mapcalc < file
หรือ:
r3.mapcalc <
ฟู = 1
EOF
แต่ถ้าคุณไม่ต้องการความเข้ากันได้กับเวอร์ชันก่อนหน้า ให้ใช้ file= อย่างชัดเจน เช่น:
r3.mapcalc file=ไฟล์
หรือ:
ไฟล์ r3.mapcalc=- <
ฟู = 1
EOF

สูตรเข้าสู่ r3.mapcalc โดยผู้ใช้จะถูกบันทึกไว้ทั้งใน ผล ชื่อแผนที่
(ซึ่งปรากฏในไฟล์หมวดหมู่สำหรับ ผล) และในไฟล์ประวัติสำหรับ ผล.

อักขระบางตัวมีความหมายพิเศษต่อเชลล์คำสั่ง หากผู้ใช้ป้อนอินพุต
ไปยัง r3.mapcalc ในบรรทัดคำสั่ง นิพจน์ควรอยู่ภายในเครื่องหมายคำพูดเดี่ยว
ดูหมายเหตุด้านล่าง

โอเปอร์เตอร์-ผู้ประกอบการ และ ใบสั่ง of ลำดับความสำคัญ
รองรับโอเปอเรเตอร์ต่อไปนี้:
ตัวดำเนินการ ความหมาย ลำดับความสำคัญของประเภท
-------------------------------------------------- ------------
- ลบเลขคณิต 12
~ หนึ่งเสริม Bitwise 12
! ไม่ใช่ตรรกะ12
^ การยกกำลังเลขคณิต 11
% โมดูลัส เลขคณิต 10
/ ดิวิชั่น เลขคณิต 10
* คูณเลขคณิต 10
+ บวกเลขคณิต 9
- การลบเลขคณิต 9
<< กะซ้าย Bitwise 8
>> กะขวา Bitwise 8
>>> กะขวา (ไม่ได้ลงนาม) Bitwise 8
> มากกว่าตรรกะ 7
>= มากกว่าหรือเท่ากับตรรกะ 7
< น้อยกว่าลอจิก 7
<= น้อยกว่าหรือเท่ากับตรรกะ 7
== เท่ากับตรรกะ 6
!= ไม่เท่ากับตรรกะ 6
& bitwise และ Bitwise 5
| bitwise หรือ Bitwise 4
&& ตรรกะและตรรกะ 3
&&& ตรรกะและ[1] ตรรกะ 3
|| ตรรกะหรือตรรกะ2
||| ตรรกะ หรือ[1] ตรรกะ 2
?: ตรรกะแบบมีเงื่อนไข 1
(โมดูลัสคือเศษที่เหลือจากการหาร)

[1] The &&& และ ||| ตัวดำเนินการจัดการค่า Null แตกต่างไปจากตัวดำเนินการอื่น ดู
ส่วนชื่อ NULL สนับสนุน ด้านล่างสำหรับรายละเอียดเพิ่มเติม

โอเปอเรเตอร์ถูกนำไปใช้จากซ้ายไปขวา โดยมีการใช้ลำดับความสำคัญที่สูงกว่า
ก่อนผู้ที่มีลำดับความสำคัญต่ำกว่า หารด้วย 0 และโมดูลัสด้วย 0 เป็นที่ยอมรับและ
ให้ผลลัพธ์เป็นโมฆะ ตัวดำเนินการเชิงตรรกะให้ผลลัพธ์ 1 หากการเปรียบเทียบเป็นจริง 0
มิฉะนั้น.

3D ตะแกรง ชื่อ
สิ่งใดในนิพจน์ที่ไม่ใช่ตัวเลข ตัวดำเนินการ หรือชื่อฟังก์ชัน จะถูกนำไปที่
เป็นชื่อกริด 3 มิติ ตัวอย่าง:

ปริมาณ
x3
3d.ของเขา

เลเยอร์แผนที่แรสเตอร์ของ GRASS และกริด 3 มิติส่วนใหญ่เป็นไปตามหลักการตั้งชื่อนี้ แต่ถ้าเป็น 3D
กริดมีชื่อที่ขัดกับกฎข้างต้น จึงควรยกมา ตัวอย่างเช่น
การแสดงออก

x = แอ๊บ

จะถูกตีความว่า: x เท่ากับ a ลบ b ในขณะที่

x = "แอ๊บ"

จะถูกตีความว่า: x เท่ากับตาราง 3 มิติที่ชื่อว่า

Also

x = 3107

จะสร้าง x เต็มไปด้วยหมายเลข 3107 ในขณะที่

x = "3107"

จะคัดลอกตาราง 3 มิติ 3107 ไปยังกริด 3 มิติ x.

ไม่จำเป็นต้องใส่เครื่องหมายคำพูดเว้นแต่ชื่อกริด 3 มิติจะดูเหมือนตัวเลขหรือมีตัวดำเนินการ
หรือเว้นแต่โปรแกรมจะรันแบบไม่โต้ตอบ ตัวอย่างที่ให้ไว้ที่นี่ถือว่าโปรแกรม is
ทำงานแบบโต้ตอบ ดูหมายเหตุด้านล่าง

r3.mapcalc จะค้นหากริด 3 มิติตามเส้นทางการค้นหาชุดแผนที่ปัจจุบันของผู้ใช้
เป็นไปได้ที่จะแทนที่เส้นทางการค้นหาและระบุชุดแผนที่ที่จะเลือก
กริด 3 มิติ ทำได้โดยการระบุชื่อกริด 3 มิติในแบบฟอร์ม:

ชื่อ@mapset

ตัวอย่างเช่น ต่อไปนี้เป็นนิพจน์ทางกฎหมาย:

ผลลัพธ์ = x@PERMANENT / y@SOILS

ชุดแผนที่ที่ระบุไม่จำเป็นต้องอยู่ในเส้นทางการค้นหาชุดแผนที่ (วิธีนี้ของ
การแทนที่เส้นทางการค้นหา mapset เป็นเรื่องปกติสำหรับคำสั่ง GRASS ทั้งหมด ไม่ใช่เพียงแค่ r3.mapcalc.)

การขอ ย่าน เปลี่ยนแปลง
กริด 3 มิติคือไฟล์ฐานข้อมูลที่จัดเก็บในรูปแบบ voxel เช่น เมทริกซ์สามมิติของ
ค่าทศนิยม/สองเท่า ใน r3.mapcalc, กริด 3D อาจตามด้วย a ย่าน เปลี่ยนแปลง
ที่ระบุออฟเซ็ตสัมพัทธ์จากเซลล์ปัจจุบันที่กำลังประเมิน รูปแบบคือ
แผนที่[r,c,d]ที่นี่มี r คือออฟเซ็ตแถว c คือค่าชดเชยคอลัมน์และ d คือระยะชดเชยความลึก
ตัวอย่างเช่น แผนที่[1,2,3] หมายถึงเซลล์หนึ่งแถวด้านล่าง สองคอลัมน์ทางด้านขวาและ 3
ระดับต่ำกว่าเซลล์ปัจจุบัน แผนที่[-3,-2,-1] หมายถึงเซลล์สามแถวด้านบน two
คอลัมน์ทางซ้ายและหนึ่งระดับด้านล่างของเซลล์ปัจจุบัน และ แผนที่[0,1,0] หมายถึง
เซลล์หนึ่งคอลัมน์ทางด้านขวาของเซลล์ปัจจุบัน ไวยากรณ์นี้อนุญาตให้มีการพัฒนา
ตัวกรองประเภทเพื่อนบ้านภายในกริด 3 มิติเดียวหรือข้ามกริด 3 มิติหลายรายการ

ฟังก์ชั่น
ฟังก์ชันที่รองรับในปัจจุบันแสดงอยู่ในตารางด้านล่าง ประเภทของผลลัพธ์
ระบุไว้ในคอลัมน์สุดท้าย F หมายความว่าฟังก์ชันจะส่งผลให้ลอยตัวเสมอ
ค่าคะแนน, I หมายความว่าฟังก์ชันให้ผลลัพธ์เป็นจำนวนเต็มและ * แสดงว่าไฟล์
ผลลัพธ์จะลอยหากอาร์กิวเมนต์ใด ๆ ของฟังก์ชันเป็นค่าทศนิยมและ
จำนวนเต็ม ถ้าอาร์กิวเมนต์ทั้งหมดเป็นจำนวนเต็ม

ประเภทคำอธิบายฟังก์ชัน
-------------------------------------------------- -------------------------
abs(x) คืนค่าสัมบูรณ์ของ x *
acos(x) โคไซน์ผกผันของ x (ผลลัพธ์อยู่ในหน่วยองศา) F
asin(x) ไซน์ผกผันของ x (ผลลัพธ์อยู่ในหน่วยองศา) F
atan(x) แทนเจนต์ผกผันของ x (ผลลัพธ์อยู่ในหน่วยองศา) F
atan(x,y) แทนเจนต์ผกผันของ y/x (ผลลัพธ์อยู่ในหน่วยองศา) F
cos(x) โคไซน์ของ x (x มีหน่วยเป็นองศา) F
double(x) แปลง x เป็นจุดลอยตัวที่มีความแม่นยำสองเท่าF
eval([x,y,...,]z) ประเมินค่าของ expr ที่อยู่ในรายการ ส่งต่อผลลัพธ์ไปยัง z
exp(x) ฟังก์ชันเลขชี้กำลังของ x F
exp(x,y) x ยกกำลัง y F
float(x) แปลง x เป็นจุดลอยตัวที่มีความแม่นยำเพียงจุดเดียว F
graph(x,x1,y1[x2,y2..]) แปลง x เป็น ay ตามจุดในกราฟ F
graph2(x,x1[,x2,..],y1[,y2..])
รูปแบบทางเลือกของกราฟ () F
ถ้าตัวเลือกการตัดสินใจ: *
if(x) 1 ถ้า x ไม่ใช่ศูนย์, 0 มิฉะนั้น
if(x,a) a ถ้า x ไม่ใช่ศูนย์, 0 มิฉะนั้น
if(x,a,b) a ถ้า x ไม่ใช่ศูนย์ b มิฉะนั้น
if(x,a,b,c) a ถ้า x > 0, b ถ้า x เป็นศูนย์, c ถ้า x < 0
int(x) แปลง x เป็นจำนวนเต็ม [ ตัดทอน ] I
isnull(x) ตรวจสอบว่า x = NULL
log(x) ลอกธรรมชาติของ x F
บันทึก (x,b) บันทึกของ x ฐาน b F
max(x,y[,z...]) มูลค่าสูงสุดในรายการ *
ค่ามัธยฐาน(x,y[,z...]) ค่ามัธยฐานของรายการที่ระบุ *
min(x,y[,z...]) ค่าที่น้อยที่สุดในรายการ *
mode(x,y[,z...]) ค่าโหมดของรายการเหล่านั้น *
nmax(x,y[,z...]) มูลค่าสูงสุดในรายการ ไม่รวมค่า NULL *
nmedian(x,y[,z...]) ค่ามัธยฐานของรายการ ไม่รวมค่า NULL *
nmin(x,y[,z...]) ค่าที่น้อยที่สุดในรายการ ยกเว้นค่า NULL *
nmode(x,y[,z...]) ค่าโหมดของรายการ ไม่รวมค่า NULL *
ไม่ใช่ (x) 1 ถ้า x เป็นศูนย์ มิฉะนั้น 0
pow(x,y) x ยกกำลัง y *
rand(a,b) ค่าสุ่ม x : a <= x < b *
ปัดเศษ(x) ปัดเศษ x เป็นจำนวนเต็มที่ใกล้ที่สุด I
ปัดเศษ (x,y) ปัดเศษ x เป็นทวีคูณที่ใกล้ที่สุดของ y
ปัดเศษ(x,y,z) ปัดเศษ x ให้ใกล้เคียงที่สุด y*i+z สำหรับจำนวนเต็ม i
sin(x) ไซน์ของ x (x อยู่ในหน่วยองศา) F
sqrt(x) สแควร์รูทของ x F
tan(x) แทนเจนต์ของ x (x อยู่ในหน่วยองศา) F
xor(x,y) เอกสิทธิ์หรือ (XOR) ของ x และ y I
ตัวแปรภายใน:
row() แถวปัจจุบันของหน้าต่างที่กำลังเคลื่อนที่
col() คอลัมน์ปัจจุบันของหน้าต่างที่กำลังเคลื่อนที่
ความลึก () คืนความลึกปัจจุบัน
x() พิกัด x ปัจจุบันของหน้าต่างเคลื่อนที่
y() พิกัด y ปัจจุบันของหน้าต่างเคลื่อนที่
z() คืนค่า z ปัจจุบัน
ewres() ความละเอียดปัจจุบันตะวันออก - ตะวันตก
nsres() ความละเอียดเหนือ-ใต้ปัจจุบัน
tbres() ความละเอียดบน-ล่างปัจจุบัน
null() ค่า NULL
โปรดทราบว่าการจัดทำดัชนี row(), col() และ depth() เริ่มต้นด้วย 1

ลอย จุด ค่า in การแสดงออก
อนุญาตให้ใช้ตัวเลขทศนิยมในนิพจน์ เลขทศนิยมคือตัวเลข
ซึ่งมีจุดทศนิยม:
2.3 12.0 12. .81
ค่าทศนิยมในนิพจน์จะได้รับการจัดการในลักษณะพิเศษ ด้วยเลขคณิตและ
ตัวดำเนินการเชิงตรรกะ ถ้าตัวถูกดำเนินการใดเป็น float ตัวดำเนินการอื่นจะถูกแปลงเป็น float และ
ผลการดำเนินการลอยตัว ซึ่งหมายความว่าโดยเฉพาะการหารจำนวนเต็ม
ส่งผลให้จำนวนเต็ม (ถูกตัดทอน) ในขณะที่การหารทุ่นจะส่งผลให้ลอยตัวได้อย่างแม่นยำ
ค่าจุด ด้วยฟังก์ชันประเภท * (ดูตารางด้านบน) ผลลัพธ์จะลอยถ้ามี
อาร์กิวเมนต์เป็น float มิฉะนั้นจำนวนเต็ม

หมายเหตุ: หากคุณคำนวณด้วยตัวเลขจำนวนเต็ม แผนที่ผลลัพธ์จะเป็นจำนวนเต็ม ถ้าคุณ
ต้องการได้ผลลัพธ์แบบลอยตัว ให้เพิ่มจุดทศนิยมให้กับตัวเลขจำนวนเต็ม

หากคุณต้องการหารจุดทศนิยม อย่างน้อยหนึ่งอาร์กิวเมนต์จะต้องเป็นทศนิยม
ค่าจุด การคูณหนึ่งในนั้นด้วย 1.0 จะให้ผลลัพธ์เป็นทศนิยมตามต้องการ
ใช้ float():
r3.mapcalc "อัตราส่วน = ลอย (ดิน.4 - ดิน.3) / ดิน.3)"

NULL สนับสนุน
· การหารด้วยศูนย์ควรส่งผลให้เป็น NULL

· โมดูลัสโดยศูนย์ควรส่งผลให้เป็นโมฆะ

· ค่า NULL ในการดำเนินการทางคณิตศาสตร์หรือตรรกะใดๆ ควรส่งผลให้เป็น NULL
(อย่างไรก็ตาม &&& และ ||| ได้รับการปฏิบัติเป็นพิเศษตามที่อธิบายไว้ด้านล่าง)

· &&& และ ||| ตัวดำเนินการสังเกตสัจพจน์ต่อไปนี้แม้ว่า x จะเป็น NULL:
x &&& เท็จ == เท็จ
เท็จ &&& x == เท็จ
x ||| จริง == จริง
จริง ||| x == จริง

· ค่า NULL ในอาร์กิวเมนต์ของฟังก์ชันควรส่งผลให้ NULL (อย่างไรก็ตาม if(), eval() และ
isnull() ได้รับการปฏิบัติเป็นพิเศษ ตามที่อธิบายไว้ด้านล่าง)

· ฟังก์ชัน eval() จะคืนค่าอาร์กิวเมนต์ตัวสุดท้ายเสมอ

· สถานการณ์สำหรับ if() คือ:
ถ้า(x)
NULL ถ้า x เป็น NULL; 0 ถ้า x เป็นศูนย์; 1 อย่างอื่น
ถ้า(x,ก)
NULL ถ้า x เป็น NULL; a ถ้า x ไม่ใช่ศูนย์ 0 อย่างอื่น
ถ้า(x,a,b)
NULL ถ้า x เป็น NULL; a ถ้า x ไม่ใช่ศูนย์ ข อย่างอื่น
ถ้า(x,n,z,p)
NULL ถ้า x เป็น NULL; n ถ้า x เป็นลบ;
z ถ้า x เป็นศูนย์; p ถ้า x เป็นบวก

· ฟังก์ชัน (ใหม่) isnull(x) คืนค่า: 1 ถ้า x เป็น NULL; 0 อย่างอื่น ใหม่)
ฟังก์ชัน null() (ซึ่งไม่มีอาร์กิวเมนต์) ส่งกลับค่า NULL ของจำนวนเต็ม

· ไม่ใช่ NULL แต่ไม่ถูกต้อง อาร์กิวเมนต์ของฟังก์ชันควรส่งผลให้เป็น NULL
ตัวอย่าง:
บันทึก(-2)
ตร.ว.(-2)
pow(a,b) โดยที่ a เป็นลบ และ b ไม่ใช่จำนวนเต็ม

การสนับสนุน NULL: โปรดทราบว่าคณิตศาสตร์ใดๆ ที่ทำกับเซลล์ NULL จะส่งผลให้เป็น NULL . เสมอ
ค่าสำหรับเซลล์เหล่านี้ หากคุณต้องการแทนที่เซลล์ NULL ทันที ให้ใช้ isnull()
ทดสอบฟังก์ชันในคำสั่ง if

ตัวอย่าง: ผู้ใช้ต้องการให้เซลล์ที่มีค่า NULL ได้รับการปฏิบัติเหมือนเป็นศูนย์ ในการเพิ่มแผนที่ A และ
B (โดยที่ B มี NULL) เพื่อรับแผนที่ C ที่ผู้ใช้สามารถใช้สิ่งปลูกสร้าง เช่น:

C = A + ถ้า(เป็นค่าว่าง(B),0,B)

NULL และ เงื่อนไข:

สำหรับรูปแบบอาร์กิวเมนต์เดียว:
if(x) = NULL ถ้า x เป็น NULL
if(x) = 0 ถ้า x = 0
if(x) = 1 มิฉะนั้น (เช่น x ไม่ใช่ NULL หรือ 0)

สำหรับรูปแบบอาร์กิวเมนต์สองแบบ:
if(x,a) = NULL ถ้า x เป็น NULL
if(x,a) = 0 ถ้า x = 0
if(x,a) = อย่างอื่น (เช่น x ไม่ใช่ NULL หรือ 0)

สำหรับรูปแบบอาร์กิวเมนต์ทั้งสาม:
if(x,a,b) = NULL ถ้า x เป็น NULL
if(x,a,b) = b ถ้า x = 0
if(x,a,b) = อย่างอื่น (เช่น x ไม่ใช่ NULL หรือ 0)

สำหรับรูปแบบอาร์กิวเมนต์ที่สี่:
if(x,a,b,c) = NULL ถ้า x เป็น NULL
if(x,a,b,c) = a ถ้า x > 0
if(x,a,b,c) = b ถ้า x = 0
if(x,a,b,c) = c ถ้า x < 0
โดยทั่วไป ตัวดำเนินการทั้งหมดและฟังก์ชันส่วนใหญ่จะคืนค่า NULL ถ้า *ใดๆ* ของอาร์กิวเมนต์
เป็นโมฆะ
ฟังก์ชัน if(), isnull() และ eval() เป็นข้อยกเว้น
ฟังก์ชัน isnull() คืนค่า 1 หากอาร์กิวเมนต์เป็น NULL และ 0 มิฉะนั้น หากผู้ใช้
ต้องการตรงกันข้าม ! ต้องใช้ตัวดำเนินการ เช่น "!isnull(x)"

if() ทุกรูปแบบคืนค่า NULL ถ้าอาร์กิวเมนต์แรกเป็น NULL รูปแบบอาร์กิวเมนต์ 2, 3 และ 4
ของ if() คืนค่า NULL หากอาร์กิวเมนต์ "selected" เป็น NULL เช่น:
if(0,a,b) = b ไม่ว่า a จะเป็น NULL . หรือไม่
if(1,a,b) = a ไม่ว่า b จะเป็น NULL . หรือไม่
eval() จะคืนค่าอาร์กิวเมนต์ตัวสุดท้ายเสมอ ดังนั้นจะส่งกลับค่า NULL ก็ต่อเมื่ออาร์กิวเมนต์สุดท้ายคือ
เป็นโมฆะ

หมายเหตุ: ผู้ใช้ไม่สามารถทดสอบ NULL โดยใช้ตัวดำเนินการ == เนื่องจากจะคืนค่า NULL ถ้า
หรืออาร์กิวเมนต์ทั้งสองเป็น NULL กล่าวคือ ถ้า x และ y เป็น NULL ทั้งคู่ ดังนั้น "x == y" และ "x != y" จะเป็น
ทั้ง NULL มากกว่า 1 และ 0 ตามลำดับ
ลักษณะการทำงานนั้นสมเหตุสมผลหากผู้ใช้ถือว่า NULL เป็นตัวแทนของปริมาณที่ไม่รู้จัก
เช่น ถ้าทั้ง x และ y ไม่เป็นที่รู้จัก ค่าของ "x == y" และ "x != y" ก็เช่นกัน
ไม่ทราบ; หากทั้งคู่มีค่าที่ไม่รู้จัก ผู้ใช้จะไม่รู้ว่าทั้งคู่มีค่าหรือไม่
มีค่าเท่ากัน

หมายเหตุ


การใช้ จาก คำสั่ง เส้น
ต้องใช้ความระมัดระวังเป็นพิเศษหากมีการกำหนดนิพจน์ในบรรทัดคำสั่ง ตัวละครบางตัว
มีความหมายพิเศษต่อเชลล์ UNIX ซึ่งรวมถึง:
* ( ) > & |

ขอแนะนำให้ใส่เครื่องหมายคำพูดเดี่ยวรอบนิพจน์ เช่น:
'ผลลัพธ์ = ปริมาณ * 2'
หากไม่มีเครื่องหมายคำพูด * ซึ่งมีความหมายพิเศษกับเชลล์ UNIX จะมีการเปลี่ยนแปลง
และ r3.mapcalc จะเห็นอย่างอื่นที่ไม่ใช่ * .

แพลตฟอร์มที่หลากหลาย การคำนวณ
โดยทั่วไป ควรทำให้มากที่สุดในแต่ละคำสั่ง r3.mapcalc โดยใช้
อินพุตหลายบรรทัด

ย้อนกลับ ความเข้ากันได้
สำหรับความเข้ากันได้แบบย้อนหลังกับ GRASS 6 หากไม่มีตัวเลือกใด ๆ ก็จะผลิต
file=- (ซึ่งอ่านจาก stdin) เพื่อให้คุณสามารถใช้ต่อไปได้เช่น:
r3.mapcalc < file
หรือ:
r3.mapcalc <
ฟู = 1
EOF
แต่ถ้าคุณไม่ต้องการความเข้ากันได้กับ GRASS GIS เวอร์ชันก่อนหน้า ให้ใช้ file= อย่างชัดเจน
ตามที่ระบุไว้ข้างต้น.

เมื่อชื่อแผนที่มีอักษรตัวพิมพ์ใหญ่หรือจุดที่ไม่สามารถระบุได้
ชื่อตัวเลือกโมดูล the r3.mapcalc คำสั่งจะใช้ได้โดยไม่มีเครื่องหมายอัญประกาศ:
r3.mapcalc ปริมาณ_A=1
r3.mapcalc ปริมาณ.1=1
อย่างไรก็ตาม ไวยากรณ์นี้ไม่แนะนำให้ใช้เป็นเครื่องหมายคำพูดตามที่ระบุไว้ข้างต้นว่าปลอดภัยกว่า การใช้คำพูด
เป็นทั้งความเข้ากันได้ย้อนหลังและใช้ได้ในอนาคต

อินเตอร์แอคที อินพุต in คำสั่ง เส้น
สำหรับสูตรที่ผู้ใช้ป้อนจากอินพุตมาตรฐาน (แทนที่จะเป็นจากบรรทัดคำสั่ง)
ขณะนี้มีคุณลักษณะความต่อเนื่องของบรรทัด หากผู้ใช้เพิ่มแบ็กสแลชต่อท้าย an
สายอินพุต, r3.mapcalc ถือว่าสูตรที่ผู้ใช้ป้อนต่อไปยัง
บรรทัดอินพุตถัดไป ไม่จำกัดจำนวนสายอินพุตที่เป็นไปได้หรือถึง
ความยาวของสูตร

ถ้า r3.mapcalc สูตรที่ผู้ใช้ป้อนยาวมาก ชื่อแผนที่จะประกอบด้วย
บางส่วนเท่านั้น แต่ส่วนใหญ่ (ถ้าไม่ใช่ทั้งหมด) ของสูตรจะอยู่ในไฟล์ประวัติ
สำหรับ ผล แผนที่.

เมื่อผู้ใช้ป้อนข้อมูลไปที่ r3.mapcalc ไม่โต้ตอบบนบรรทัดคำสั่ง the
โปรแกรมจะไม่เตือนผู้ใช้ไม่ให้เขียนทับเลเยอร์แผนที่ที่มีอยู่ ผู้ใช้ควร
ดังนั้นโปรดใช้ความระมัดระวังในการกำหนดชื่อแผนที่แรสเตอร์ของโปรแกรมเอาท์พุตที่ยังไม่มีอยู่ใน
ชุดแผนที่ปัจจุบันของพวกเขา

3D GRID หน้ากาก การจัดการ
r3.mapcalc เป็นไปตามพฤติกรรมทั่วไปของ GRASS ในการจัดการ MASK แรสเตอร์ ดังนั้น MASK จึงเป็นเท่านั้น
ใช้เมื่ออ่านแผนที่แรสเตอร์ GRASS ที่มีอยู่ นี่หมายความว่า ตัวอย่างเช่น
คำสั่ง:
r3.mapcalc "volume_amplified = ปริมาณ * 3"
สร้างแผนที่โดยคำนึงถึงพิกเซลที่ปิดบังหาก MASK ทำงานอยู่

อย่างไรก็ตาม เมื่อสร้างแผนที่ที่ไม่ยึดตามแผนที่ใดๆ เช่น แผนที่จากค่าคงที่:
r3.mapcalc "volume_const = 200.0"
แผนที่แรสเตอร์ที่สร้างขึ้นถูกจำกัดโดยพื้นที่การคำนวณเท่านั้น แต่ไม่ได้รับผลกระทบจาก
มาสก์ที่ใช้งานอยู่ เป็นที่คาดหวังเพราะดังที่กล่าวไว้ข้างต้น MASK ใช้เฉพาะเมื่อ
การอ่านไม่ใช่เมื่อเขียนแผนที่แรสเตอร์

หากในกรณีนี้ควรใช้ MASK คำสั่ง if() รวมถึง MASK
ควรใช้เช่น:
r3.mapcalc "volume_const = if(MASK, 200.0, null())"
เมื่อทดสอบนิพจน์ที่เกี่ยวข้องกับ MASK โปรดทราบว่าเมื่อ MASK ทำงานอยู่ คุณจะไม่เห็น
ข้อมูลในพื้นที่ปิดบังแม้ว่าจะไม่ใช่ NULL ดู ร.มาส์ก เพื่อดูรายละเอียด

สุ่ม จำนวน เครื่องกำเนิดไฟฟ้า การเขียนอักษรย่อ
ตัวสร้างตัวเลขสุ่มหลอกที่ใช้โดยฟังก์ชัน rand() สามารถเริ่มต้นเป็น a
ค่าเฉพาะโดยใช้ เมล็ดพันธุ์ ตัวเลือก. สามารถใช้เพื่อทำซ้ำก่อนหน้า
การคำนวณ

อีกทางหนึ่ง มันสามารถเริ่มต้นจากเวลาของระบบและ PID โดยใช้ -r ธง.
ซึ่งจะส่งผลให้มีการใช้เมล็ดพันธุ์ที่แตกต่างกันในแต่ละครั้ง

ไม่ว่าในกรณีใด เมล็ดพันธุ์จะถูกเขียนลงในประวัติของแผนที่ และสามารถดูได้โดยใช้
r.ข้อมูล.

หากคุณต้องการให้คนอื่นตรวจสอบผลลัพธ์ของคุณได้ ควรใช้เครื่องหมาย
เมล็ดพันธุ์ ตัวเลือกในการจัดหาเมล็ดพันธุ์ที่ระบุไว้ในสคริปต์หรือสร้างจาก
กระบวนการกำหนดเช่นตัวสร้างตัวเลขสุ่มหลอกให้เมล็ดที่ชัดเจน

โปรดทราบว่าฟังก์ชัน rand() จะสร้างข้อผิดพลาดร้ายแรงหากไม่มี เมล็ดพันธุ์ ตัวเลือกหรือ
-s ธงจะได้รับ

ตัวอย่าง


เพื่อคำนวณค่าเฉลี่ยของกริด 3D สองเส้น a และ b:
ave = (ก + ข)/2
ในการสร้างค่าเฉลี่ยถ่วงน้ำหนัก:
เฉลี่ย = (5*a + 3*b)/8.0
เพื่อสร้างการแสดงไบนารีของกริด 3 มิติ a เพื่อให้หมวด 0 ยังคงเป็น 0 และอื่น ๆ ทั้งหมด
หมวดหมู่กลายเป็น 1:
หน้ากาก = != 0
นอกจากนี้ยังสามารถทำได้โดย:
หน้ากาก = ถ้า (ก)
เพื่อปิดบังกริด 3 มิติ b โดย 3D grid a:
ผลลัพธ์ = ถ้า (a,b)
ในการเปลี่ยนค่าทั้งหมดที่ต่ำกว่า 5 เป็น NULL:
newmap = if(map<5, null(), 5)
ฟังก์ชัน graph() อนุญาตให้ผู้ใช้ระบุการแปลง xy โดยใช้คู่ของ x,y
พิกัด. ในบางสถานการณ์การเปลี่ยนแปลงจากค่าหนึ่งไปอีกค่าหนึ่งนั้นไม่ง่าย
กำหนดทางคณิตศาสตร์ แต่สามารถแสดงด้วยกราฟ 2 มิติ แล้วจึงแสดงเป็นเส้นตรง
สอดแทรก ฟังก์ชัน graph() ให้โอกาสในการทำสิ่งนี้ให้สำเร็จ แกน x
ค่าถูกจัดเตรียมให้กับฟังก์ชันกราฟพร้อมกับกราฟที่เกี่ยวข้องซึ่งแสดงโดยa
อนุกรมของคู่ x,y ค่า x ต้องเพิ่มขึ้นอย่างซ้ำซากจำเจ (แต่ละค่ามากกว่า or
เท่ากับครั้งก่อน) ฟังก์ชันกราฟจะสอดแทรกเป็นเส้นตรงระหว่างคู่ต่างๆ ใดๆ x
ค่าที่ต่ำกว่าค่า x ต่ำสุด (เช่นก่อน) จะมีค่า y ที่เกี่ยวข้องส่งคืน
ค่า x ใดๆ ที่สูงกว่าค่าสุดท้ายจะคืนค่า y ที่เกี่ยวข้องในทำนองเดียวกัน
พิจารณาคำขอ:
แผนที่ใหม่ = กราฟ (แผนที่, 1,10, 2,25, 3,50)
ค่า X (แผนที่) ที่ให้มาและค่า y (แผนที่ใหม่) ที่ส่งคืน:
0, 10
1, 10
1.5, 17.5
2.9, 47.5
4, 50
100, 50

ที่รู้จักกัน ประเด็น


บรรทัดต่อเนื่องต้องลงท้ายด้วย \ และ have ไม่ พื้นที่สีขาวต่อท้าย (ช่องว่างหรือแท็บ) ถ้า
ผู้ใช้เว้นช่องว่างที่ท้ายบรรทัดต่อเนื่อง ข้อความแสดงข้อผิดพลาด
ที่ผลิตโดย r3.mapcalc จะไม่มีความหมายและสมการจะไม่ทำงานเหมือนผู้ใช้
ตั้งใจ. นี่เป็นสิ่งสำคัญอย่างยิ่งสำหรับฟังก์ชัน eval()

ปัจจุบันไม่มีกลไกแสดงความคิดเห็นใน r3.mapcalc. อาจเพิ่มความสามารถที่
จะทำให้ทั้งบรรทัดถูกละเว้นเมื่อผู้ใช้ใส่ # ที่จุดเริ่มต้นของa
เส้นราวกับว่ามันไม่ได้อยู่จะทำเคล็ดลับ

ฟังก์ชันควรกำหนดให้ผู้ใช้พิมพ์ "end" หรือ "exit" แทนการเว้นว่าง
ไลน์. สิ่งนี้จะทำให้การแยกสคริปต์หลายตัวแยกจากกันด้วยช่องว่าง

r3.mapcalc ไม่พิมพ์คำเตือนในกรณีที่ดำเนินการกับเซลล์ NULL เหลือไว้ให้
ผู้ใช้เพื่อใช้ฟังก์ชัน isnull()

ใช้ r3.mapcalcgrass ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

คำสั่ง Linux

Ad




×
โฆษณา
❤️ช้อป จอง หรือซื้อที่นี่โดยไม่เสียค่าใช้จ่าย ช่วยให้บริการต่างๆ ฟรี