นี่คือคำสั่ง Planimeter ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
Planimeter -- คำนวณพื้นที่ของรูปหลายเหลี่ยม geodesic
เรื่องย่อ
เครื่องวัดระนาบ [ -r ] [ -s ] [ -l ] [ -e a f ] [ -w ] [ -p ล่วงหน้า ] [ -G | -E | -Q | -R ] [
--comment-ตัวคั่น แสดงความคิดเห็นdelim ] [ --รุ่น | -h | --ช่วยด้วย ] [ --input-ไฟล์ แฟ้ม |
--อินพุต-สตริง สตริง ] [ --บรรทัด-คั่น ไลน์เซป ] [ --output-ไฟล์ ออกจากไฟล์ ]
DESCRIPTION
วัดพื้นที่ของรูปหลายเหลี่ยมจีโอเดซิก อ่านจุดยอดรูปหลายเหลี่ยมจากอินพุตมาตรฐาน one
ต่อบรรทัด จุดยอดอาจถูกกำหนดเป็นพิกัดละติจูดและลองจิจูด, UTM/UPS หรือพิกัด MGRS
ตีความในลักษณะเดียวกับ แปลงภูมิศาสตร์(1). (พิกัด MGRS หมายถึง ศูนย์กลางของ
จตุรัส MGRS ที่สอดคล้องกัน) จุดสิ้นสุดของอินพุต บรรทัดว่าง หรือบรรทัดที่ไม่สามารถ
ตีความว่าเป็นจุดยอดส่งสัญญาณถึงจุดสิ้นสุดของรูปหลายเหลี่ยมหนึ่งและจุดเริ่มต้นของรูปหลายเหลี่ยมถัดไป สำหรับ
รูปหลายเหลี่ยมแต่ละอันจะพิมพ์เส้นสรุปพร้อมจำนวนจุด เส้นรอบวง (เป็นเมตร)
และพื้นที่ (เป็นเมตร^2)
ขอบของรูปหลายเหลี่ยมถูกกำหนดโดย ที่สั้นที่สุด geodesic ระหว่างจุดยอดต่อเนื่องกัน
ในบางกรณี อาจมี geodesics ที่สั้นที่สุดสองหรือหลายตัว และในกรณีนี้
จุดยอดของรูปหลายเหลี่ยมไม่ได้ระบุอย่างเฉพาะเจาะจง สิ่งนี้เกิดขึ้นกับขอบที่ยาวมากเท่านั้น
(สำหรับทรงรี WGS84 ขอบใดๆ ที่สั้นกว่า 19970 กม. จะถูกระบุโดยจุดสิ้นสุดโดยเฉพาะ
คะแนน) ในกรณีเช่นนี้ ให้ใส่จุดยอดเพิ่มเติมใกล้กับกึ่งกลางของขอบด้านยาวถึง
กำหนดขอบเขตของรูปหลายเหลี่ยม
โดยค่าเริ่มต้น รูปหลายเหลี่ยมที่เคลื่อนที่ไปในทิศทางทวนเข็มนาฬิกาจะส่งกลับพื้นที่บวกและ
ที่เคลื่อนที่ไปในทิศทางตามเข็มนาฬิกาจะส่งกลับพื้นที่เชิงลบ อนุสัญญาป้ายนี้คือ
กลับกันถ้า -r มีตัวเลือกให้
แน่นอน การล้อมรอบพื้นที่ในทิศทางตามเข็มนาฬิกาเท่ากับการล้อมรอบ
ส่วนที่เหลือของทรงรีในทิศทางทวนเข็มนาฬิกา การตีความเริ่มต้นที่ใช้
by เครื่องวัดระนาบ เป็นผลให้พื้นที่มีขนาดเล็กลง คือ ขนาด
ของพื้นที่น้อยกว่าหรือเท่ากับครึ่งหนึ่งของพื้นที่ทั้งหมดของทรงรี ถ้า -s
ให้ตัวเลือกแล้วการตีความที่ใช้เป็นผลลัพธ์ในด้านบวก
กล่าวคือ พื้นที่เป็นบวกและน้อยกว่าพื้นที่ทั้งหมดของทรงรี
รองรับเฉพาะรูปหลายเหลี่ยมธรรมดา (เช่น ไม่ตัดกัน) สำหรับการคำนวณพื้นที่
รูปหลายเหลี่ยมอาจมีหนึ่งหรือทั้งสองขั้ว ไม่จำเป็นต้องปิดรูปหลายเหลี่ยม
OPTIONS
-r สลับว่าการข้ามทวนเข็มนาฬิกาของรูปหลายเหลี่ยมส่งกลับค่าบวกหรือไม่ (the
ค่าเริ่มต้น) หรือผลลัพธ์เชิงลบ
-s สลับว่าจะส่งคืนผลลัพธ์ที่ลงนามแล้ว (ค่าเริ่มต้น) หรือไม่
-l สลับว่าจุดยอดแสดงถึงรูปหลายเหลี่ยม (ค่าเริ่มต้น) หรือรูปหลายเหลี่ยม สำหรับ
polyline จำนวนคะแนนและความยาวของเส้นทางที่เชื่อมต่อจะถูกส่งกลับ
เส้นทางไม่ปิดและไม่รายงานพื้นที่
-e ระบุวงรีผ่าน a f; รัศมีเส้นศูนย์สูตรคือ a และการแบนคือ f.
การตั้งค่า f = 0 ส่งผลให้เป็นทรงกลม ระบุ f < 0 สำหรับทรงรี prolate ง่ายๆ
เศษส่วน เช่น 1/297 ได้รับอนุญาตสำหรับ f. โดยค่าเริ่มต้น ทรงรี WGS84 ถูกใช้ a =
6378137 ม. f = 1/298.257223563. หากป้อนจุดยอดเป็นพิกัด UTM/UPS หรือ MGRS
ใช้ทรงรีเริ่มต้น เนื่องจากการแปลงพิกัดเหล่านี้เป็นละติจูดและ
ลองจิจูดใช้พารามิเตอร์ WGS84 เสมอ
-w เมื่ออ่านพิกัดทางภูมิศาสตร์ ลองจิจูดก่อนละติจูด (ซึ่งสามารถเป็น
ถูกแทนที่โดยผู้กำหนดซีกโลก N, S, E, W).
-p ตั้งค่าความแม่นยำเอาต์พุตเป็น ล่วงหน้า (ค่าเริ่มต้น 6); เส้นรอบวงจะได้รับ (เป็นเมตร) ด้วย
ล่วงหน้า ตัวเลขหลังจุดทศนิยม พื้นที่จะได้รับ (เป็นเมตร^2) ด้วย (ล่วงหน้า - 5)
ตัวเลขหลังจุดทศนิยม
-G ใช้สูตรชุดสำหรับ geodesics นี่คือตัวเลือกเริ่มต้นและ is
แนะนำสำหรับการใช้งานภาคพื้นดิน ตัวเลือกนี้ -Gและสาม .ต่อไปนี้
ตัวเลือก -E, -Qและ -Rเป็นคนละเรื่องกัน
-E ใช้อัลกอริธึมที่ "แน่นอน" (อิงตามอินทิกรัลวงรี) สำหรับการคำนวณเกี่ยวกับจีโอเดซิก
สิ่งเหล่านี้มีความแม่นยำมากกว่าการขยายซีรีส์ (ค่าเริ่มต้น) สำหรับ |f| > 0.02. (แต่
โปรดทราบว่าการใช้งานพื้นที่ใน GeodesicExact ใช้อนุกรมที่มีลำดับสูงและ
นี่เป็นเพียงความถูกต้องสำหรับการแบนเล็กน้อย)
-Q ทำการคำนวณบนทรงกลม authalic การคำนวณพื้นที่นั้นแม่นยำแม้
ถ้าการแบนมีขนาดใหญ่ ให้ ขอบสั้นเพียงพอ ปริมณฑล
การคำนวณไม่ถูกต้อง
-R เส้นที่เชื่อมกับจุดยอดเป็นเส้นรูปสี่เหลี่ยมขนมเปียกปูนแทนที่จะเป็นจีโอเดซิกส์
--comment-ตัวคั่น
ตั้งค่าตัวคั่นความคิดเห็นเป็น แสดงความคิดเห็นdelim (เช่น "#" หรือ "//") หากตั้งค่าไว้ อินพุต
เส้นจะถูกสแกนหาตัวคั่นนี้ และหากพบ ตัวคั่นและตัวคั่นที่เหลือของ
บรรทัดจะถูกลบออกก่อนที่จะดำเนินการ สำหรับรูปหลายเหลี่ยมที่กำหนด ตัวสุดท้ายเช่น
สตริงที่พบจะถูกต่อท้ายบรรทัดเอาต์พุต (คั่นด้วยช่องว่าง)
--รุ่น
พิมพ์เวอร์ชันและออก
-h การใช้การพิมพ์และการออก
--ช่วยด้วย
พิมพ์เอกสารฉบับเต็มและออก
--input-ไฟล์
อ่านข้อมูลจากไฟล์ แฟ้ม แทนที่จะเป็นอินพุตมาตรฐาน ชื่อไฟล์ "-"
ย่อมาจากอินพุตมาตรฐาน
--อินพุต-สตริง
อ่านอินพุตจากสตริง สตริง แทนที่จะเป็นอินพุตมาตรฐาน เหตุการณ์ทั้งหมด
ของตัวคั่นบรรทัด (ค่าเริ่มต้นคืออัฒภาค) ใน สตริง ถูกแปลงเป็น
ขึ้นบรรทัดใหม่ก่อนเริ่มอ่าน
--บรรทัด-คั่น
ตั้งค่าตัวคั่นบรรทัดเป็น ไลน์เซป. โดยค่าเริ่มต้น นี่คือเครื่องหมายอัฒภาค
--output-ไฟล์
เขียนเอาต์พุตไปยังไฟล์ ออกจากไฟล์ แทนที่จะเป็นเอาต์พุตมาตรฐาน ชื่อไฟล์ "-"
ย่อมาจากเอาต์พุตมาตรฐาน
ตัวอย่าง
ตัวอย่าง (พื้นที่ 100 กม. MGRS ตาราง 18SWK)
เครื่องวัดระนาบ <
18n 500000 4400000
18n 600000 4400000
18n 600000 4500000
18n 500000 4500000
EOF
=> 4 400139.53295860 10007388597.1913
รหัสต่อไปนี้ใช้เอาต์พุตจาก gdalinfo และรายงานพื้นที่ที่ครอบคลุมโดย data
(สมมติว่าขอบของภาพเป็น geodesics)
#! bin / sh /
egrep '^((บน|ล่าง) (ซ้าย|ขวา)|ตรงกลาง) ' |
sed -e 's/d /d/g' -e "s/' /'/g" | tr -s '(),\r\t' ' ' | อ๊าก '{
ถ้า ($ 1 $2 == "UpperLeft")
ul = $6 " " $5;
อื่นถ้า ($ 1 $2 == "LowerLeft")
ll = $6 " " $5;
อื่นถ้า ($ 1 $2 == "UpperRight")
คุณ = $6 " " $ 5;
อื่นถ้า ($ 1 $2 == "LowerRight")
lr = $6 " " $5;
อื่นถ้า ($ 1 == "ศูนย์") {
printf "%s\n%s\n%s\n%s\n\n", ul, ll, lr, ur;
ul = ll = ur = lr = "";
}
}
' | เครื่องวัดระยะ | ตัด -f3 -d' '
ใช้ Planimeter ออนไลน์โดยใช้บริการ onworks.net