Ini ialah arahan Planimeter 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
Planimeter -- mengira luas poligon geodesik
SINOPSIS
Planimeter [ -r ] [ -s ] [ -l ] [ -e a f ] [ -w ] [ -p prac ] [ -G | -E | -Q | -R ] [
--pembatas-komen commentdelim ] [ --versi | -h | - membantu ] [ --input-file dalam fail |
--input-rentetan instring ] [ --pemisah-garis garisan garisan ] [ --fail keluaran fail luar ]
DESCRIPTION
Ukur luas poligon geodesik. Membaca bucu poligon daripada input standard, satu
setiap baris. Bucu boleh diberikan sebagai koordinat latitud dan longitud, UTM/UPS atau MGRS,
ditafsirkan dengan cara yang sama seperti GeoConvert(1). (Koordinat MGRS menandakan pusat
segi empat sama MGRS yang sepadan.) Penghujung input, baris kosong atau baris yang tidak boleh
ditafsirkan sebagai bucu menandakan penghujung satu poligon dan permulaan poligon seterusnya. Untuk
setiap poligon mencetak garis ringkasan dengan bilangan titik, perimeter (dalam meter),
dan luas (dalam meter^2).
Tepi poligon diberi oleh terpendek geodesik antara bucu berturut-turut.
Dalam kes tertentu, mungkin terdapat dua atau banyak geodesik terpendek sedemikian, dan dalam kes itu,
poligon tidak ditentukan secara unik oleh bucunya. Ini hanya berlaku dengan tepi yang sangat panjang
(untuk ellipsoid WGS84, mana-mana tepi yang lebih pendek daripada 19970 km ditentukan secara unik pada hujungnya
mata). Dalam kes sedemikian, masukkan bucu tambahan berhampiran bahagian tengah tepi panjang ke
tentukan sempadan poligon itu.
Secara lalai, poligon yang dilalui dalam arah lawan jam mengembalikan kawasan positif dan
yang dilalui mengikut arah jam mengembalikan kawasan negatif. Konvensyen tanda ini ialah
terbalik jika -r pilihan diberi.
Sudah tentu, mengelilingi kawasan mengikut arah jam adalah bersamaan dengan mengelilingi
baki ellipsoid mengikut arah lawan jam. Tafsiran lalai yang digunakan
by Planimeter adalah yang menghasilkan magnitud kawasan yang lebih kecil; iaitu, magnitud
daripada kawasan itu adalah kurang daripada atau sama dengan satu separuh daripada jumlah luas ellipsoid itu. Sekiranya -s
pilihan diberi, maka tafsiran yang digunakan ialah yang menghasilkan kawasan positif;
iaitu, luasnya positif dan kurang daripada jumlah luas ellipsoid.
Hanya poligon mudah (iaitu, tidak bersilang sendiri) disokong untuk pengiraan kawasan.
Poligon mungkin termasuk satu atau kedua-dua kutub. Tidak perlu menutup poligon.
PILIHAN
-r togol sama ada lintasan lawan jam poligon mengembalikan nilai positif (the
lalai) atau keputusan negatif.
-s togol sama ada untuk mengembalikan hasil yang ditandatangani (lalai) atau tidak.
-l togol sama ada bucu mewakili poligon (lalai) atau garis poli. Untuk
polyline, bilangan titik dan panjang laluan yang menyertainya dikembalikan;
laluan tidak ditutup dan kawasan itu tidak dilaporkan.
-e nyatakan ellipsoid melalui a f; jejari khatulistiwa ialah a dan yang mendatar adalah f.
Menetapkan f = 0 keputusan dalam sfera. Nyatakan f < 0 untuk elipsoid prolat. Yang mudah
pecahan, cth, 1/297, dibenarkan untuk f. Secara lalai, ellipsoid WGS84 digunakan, a =
6378137 m, f = 1/298.257223563. Jika memasukkan bucu sebagai koordinat UTM/UPS atau MGRS,
gunakan ellipsoid lalai, kerana penukaran koordinat ini kepada latitud dan
longitud sentiasa menggunakan parameter WGS84.
-w apabila membaca koordinat geografi, longitud mendahului latitud (ini boleh
ditindih oleh penunjuk hemisfera, N, S, E, W).
-p tetapkan ketepatan output kepada prac (lalai 6); perimeter diberi (dalam meter) dengan
prac digit selepas titik perpuluhan; luas diberi (dalam meter^2) dengan (prac - 5)
digit selepas titik perpuluhan.
-G gunakan rumusan siri untuk geodesik. Ini ialah pilihan lalai dan adalah
disyorkan untuk aplikasi darat. Pilihan ini, -G, dan tiga yang berikut
pilihan, -E, -Q, dan -R, adalah saling eksklusif.
-E gunakan algoritma "tepat" (berdasarkan kamiran eliptik) untuk pengiraan geodesik.
Ini lebih tepat daripada pengembangan siri (lalai) untuk |f| > 0.02. (Tetapi
ambil perhatian bahawa pelaksanaan kawasan dalam GeodesicExact menggunakan siri tertib tinggi dan
ini hanya tepat untuk perataan sederhana.)
-Q melakukan pengiraan pada sfera authalik. Pengiraan kawasan adalah tepat walaupun
jika lepernya besar, disediakan tepinya cukup pendek. Perimeter
pengiraan tidak tepat.
-R Garisan yang bercantum dengan bucu ialah garisan rhumb dan bukannya geodesik.
--pembatas-komen
tetapkan pembatas ulasan kepada commentdelim (cth, "#" atau "//"). Jika ditetapkan, input
baris akan diimbas untuk pembatas ini dan, jika ditemui, pembatas dan selebihnya
talian akan dialih keluar sebelum diproses. Untuk poligon tertentu, yang terakhir sedemikian
rentetan yang ditemui akan dilampirkan pada baris keluaran (dipisahkan oleh ruang).
--versi
versi cetakan dan keluar.
-h penggunaan cetakan dan keluar.
- membantu
cetak dokumentasi penuh dan keluar.
--input-file
membaca input daripada fail dalam fail bukannya daripada input standard; nama fail "-"
bermaksud input standard.
--input-rentetan
baca input daripada rentetan instring bukannya daripada input standard. Semua kejadian
daripada aksara pemisah baris (lalai ialah koma bertitik) dalam instring ditukar menjadi
baris baharu sebelum bacaan dimulakan.
--pemisah-garis
tetapkan aksara pemisah baris kepada garisan garisan. Secara lalai ini ialah koma bertitik.
--fail keluaran
tulis output ke fail fail luar bukannya kepada keluaran standard; nama fail "-"
bermaksud keluaran standard.
CONTOH
Contoh (luas petak MGRS 100km 18SWK)
Planimeter <
18n 500000 4400000
18n 600000 4400000
18n 600000 4500000
18n 500000 4500000
EOF
=> 4 400139.53295860 10007388597.1913
Kod berikut mengambil output daripada gdalinfo dan melaporkan kawasan yang diliputi oleh data
(dengan mengandaikan tepi imej adalah geodesik).
#! / Bin / sh
egrep '^((Atas|Bawah) (Kiri|Kanan)|Pusat) ' |
sed -e 's/d /d/g' -e "s/' /'/g" | tr -s '(),\r\t' ' ' | awk '{
jika ($1 $2 == "Kiri Atas")
ul = $6 " " $5;
else if ($1 $2 == "Kiri Bawah")
ll = $6 " " $5;
lain jika ($1 $2 == "Kanan Atas")
ur = $6 " " $5;
else if ($1 $2 == "Kanan Bawah")
lr = $6 " " $5;
else if ($1 == "Pusat") {
printf "%s\n%s\n%s\n%s\n\n", ul, ll, lr, ur;
ul = ll = ur = lr = "";
}
}
' | Planimeter | potong -f3 -d' '
Gunakan Planimeter dalam talian menggunakan perkhidmatan onworks.net