planimeter
Ini adalah perintah Planimeter 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
Planimeter -- menghitung luas poligon geodesik
RINGKASAN
planimeter [ -r ] [ -s ] [ -l ] [ -e a f ] [ -w ] [ -p sebelum ] [ -G | -E | -Q | -R ] [
--pembatas-komentar komentardelim ] [ --Versi: kapan | -h | --membantu ] [ --file masukan masuk |
--string masukan string ] [ --pemisah-baris garis garis ] [ --berkas keluaran file keluar ]
DESKRIPSI
Mengukur luas poligon geodesik. Membaca simpul poligon dari input standar, satu
per baris. Simpul dapat diberikan sebagai koordinat lintang dan bujur, UTM/UPS, atau MGRS,
ditafsirkan dengan cara yang sama seperti Konversi Geografis(1). (Koordinat MGRS menandakan pusat
kotak MGRS yang sesuai.) Akhir input, baris kosong, atau baris yang tidak boleh
ditafsirkan sebagai titik yang menandakan akhir dari satu poligon dan awal dari poligon berikutnya. Untuk
setiap poligon mencetak garis ringkasan dengan jumlah titik, keliling (dalam meter),
dan luas (dalam meter^2).
Tepi poligon diberikan oleh terpendek geodesik antara simpul berurutan.
Dalam kasus tertentu, mungkin ada dua atau banyak geodesik terpendek seperti itu, dan dalam kasus itu,
poligon tidak secara unik ditentukan oleh simpulnya. Ini hanya terjadi dengan tepi yang sangat panjang
(untuk ellipsoid WGS84, setiap tepi yang lebih pendek dari 19970 km secara unik ditentukan oleh ujungnya
poin). Dalam kasus seperti itu, masukkan simpul tambahan di dekat bagian tengah tepi panjang ke
menentukan batas poligon.
Secara default, poligon yang dilalui dalam arah berlawanan arah jarum jam mengembalikan area positif dan
yang dilalui searah jarum jam mengembalikan area negatif. Konvensi tanda ini adalah
terbalik jika -r pilihan diberikan.
Tentu saja, melingkari area searah jarum jam sama dengan melingkari
sisa ellipsoid dalam arah berlawanan arah jarum jam. Interpretasi default yang digunakan
by planimeter adalah salah satu yang menghasilkan besaran area yang lebih kecil; yaitu besarnya
luasnya kurang dari atau sama dengan setengah luas total ellipsoid. jika -s
pilihan diberikan, maka interpretasi yang digunakan adalah interpretasi yang menghasilkan area positif;
yaitu, luasnya positif dan kurang dari luas total ellipsoid.
Hanya poligon sederhana (yaitu, tidak berpotongan sendiri) yang didukung untuk perhitungan luas.
Poligon dapat mencakup satu atau kedua kutub. Tidak perlu menutup poligon.
PILIHAN
-r beralih apakah traversal poligon berlawanan arah jarum jam mengembalikan positif (
default) atau hasil negatif.
-s beralih apakah akan mengembalikan hasil yang ditandatangani (default) atau tidak.
-l beralih apakah simpul mewakili poligon (default) atau polyline. Untuk sebuah
polyline, jumlah titik dan panjang jalur yang menghubungkannya dikembalikan;
jalur tidak ditutup dan area tidak dilaporkan.
-e tentukan ellipsoid melalui a f; jari-jari ekuator adalah a dan perataannya adalah f.
Pengaturan f = 0 menghasilkan bola. Menentukan f < 0 untuk ellipsoid prolate. Sederhana
pecahan, misalnya 1/297, diperbolehkan untuk f. Secara default, ellipsoid WGS84 digunakan, a =
6378137m, f = 1/298.257223563. Jika memasukkan simpul sebagai koordinat UTM/UPS atau MGRS,
gunakan ellipsoid default, karena konversi koordinat ini ke lintang dan
bujur selalu menggunakan parameter WGS84.
-w saat membaca koordinat geografis, garis bujur mendahului garis lintang (ini bisa berupa
ditimpa oleh penunjuk belahan bumi, N, S, E, W).
-p atur presisi keluaran ke sebelum (default 6); keliling diberikan (dalam meter) dengan
sebelum digit setelah titik desimal; luasnya diberikan (dalam meter^2) dengan (sebelum - 5)
angka setelah titik desimal.
-G gunakan rumus deret untuk geodesik. Ini adalah opsi default dan
direkomendasikan untuk aplikasi terestrial. Pilihan ini, -G, dan tiga berikut
Pilihan -E, -Q, dan -R, saling eksklusif.
-E gunakan algoritma "tepat" (berdasarkan integral elips) untuk perhitungan geodesik.
Ini lebih akurat daripada ekspansi seri (default) untuk |f| > 0.02. (Tetapi
perhatikan bahwa implementasi area di GeodesicExact menggunakan seri orde tinggi dan
ini hanya akurat untuk perataan sederhana.)
-Q melakukan perhitungan pada authlic sphere. Perhitungan luasnya akurat bahkan
jika perataannya besar, disediakan tepinya cukup pendek. Perimeter
perhitungannya tidak akurat.
-R Garis yang menghubungkan simpul adalah garis rhumb, bukan geodesik.
--pembatas-komentar
atur pembatas komentar ke komentardelim (misalnya, "#" atau "//"). Jika diatur, masukan
garis akan dipindai untuk pembatas ini dan, jika ditemukan, pembatas dan sisanya
garis akan dihapus sebelum diproses. Untuk poligon yang diberikan, yang terakhir seperti
string yang ditemukan akan ditambahkan ke jalur keluaran (dipisahkan dengan spasi).
--Versi: kapan
versi cetak dan keluar.
-h penggunaan cetak dan keluar.
--membantu
cetak dokumentasi lengkap dan keluar.
--file masukan
membaca input dari file masuk bukannya dari input standar; nama file "-"
singkatan dari input standar.
--string masukan
membaca input dari string string bukan dari input standar. Semua kejadian
dari karakter pemisah garis (default adalah titik koma) di string dikonversi menjadi
baris baru sebelum membaca dimulai.
--pemisah-baris
atur karakter pemisah garis ke garis garis. Secara default ini adalah titik koma.
--berkas keluaran
tulis output ke file file keluar bukannya ke output standar; nama file "-"
singkatan dari keluaran standar.
CONTOH
Contoh (luas 100km persegi MGRS 18SWK)
Planimeter <
18n 500000 4400000
18n 600000 4400000
18n 600000 4500000
18n 500000 4500000
EOF
=> 4 400139.53295860 10007388597.1913
Kode berikut mengambil output dari gdalinfo dan melaporkan area yang dicakup oleh data
(dengan asumsi tepi gambar adalah geodesik).
#! / Bin / sh
egrep '^((Atas|Bawah) (Kiri|Kanan)|Tengah) ' |
sed -e 's/d /d/g' -e "s/' /'/g" | tr -s '(),\r\t' ' ' | awk '{
if ($$1 $2 == "Kiri Atas")
ul = $6 " " $5;
else if ($$1 $2 == "Kiri Bawah")
ll = $6 " " $5;
else if ($$1 $2 == "Kanan Atas")
ur = $6 " " $5;
else if ($$1 $2 == "Kanan Bawah")
lr = $6 " " $5;
else if ($1 == "Tengah") {
printf "%s\n%s\n%s\n%s\n\n", ul, ll, lr, ur;
ul = ll = ur = lr = "";
}
}
' | Planimeter | potong -f3 -d' '
Gunakan Planimeter online menggunakan layanan onworks.net