Aceasta este comanda Planimeter care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
Planimetru -- calculează aria poligoanelor geodezice
REZUMAT
Planimetru [ -r ] [ -s ] [ -l ] [ -e a f ] [ -w ] [ -p prev ] [ -G | -E | -Q | -R ] [
--comment-delimiter commentdelim ] [ --versiune | -h | --Ajutor ] [ --fișier de intrare infile |
--input-string instring ] [ --line-separator lineep ] [ --fisier de iesire outfile ]
DESCRIERE
Măsurați aria unui poligon geodezic. Citește vârfurile poligonului de la intrarea standard, unul
pe linie. Nodurile pot fi date ca latitudine și longitudine, coordonate UTM/UPS sau MGRS,
interpretată în același mod ca GeoConvert(1). (Coordonatele MGRS semnifică centrul
pătratul MGRS corespunzător.) Sfârșitul intrării, o linie goală sau o linie care nu poate fi
interpretat ca un vârf semnalizează sfârșitul unui poligon și începutul următorului. Pentru
fiecare poligon imprimă o linie rezumată cu numărul de puncte, perimetrul (în metri),
și aria (în metri^2).
Marginile poligonului sunt date de cel mai scurt geodezică între vârfuri consecutive.
În anumite cazuri, pot exista două sau multe astfel de geodezice cele mai scurte și, în acest caz,
poligonul nu este specificat în mod unic de vârfurile sale. Acest lucru se întâmplă doar cu margini foarte lungi
(pentru elipsoidul WGS84, orice muchie mai scurtă de 19970 km este specificată în mod unic de capătul său
puncte). În astfel de cazuri, introduceți un vârf suplimentar lângă mijlocul muchiei lungi
definiți limita poligonului.
În mod implicit, poligoanele parcurse în sens invers acelor de ceasornic returnează o zonă pozitivă și
cele parcurse în sensul acelor de ceasornic returnează o zonă negativă. Această convenție de semne este
inversat dacă -r este dată opțiunea.
Desigur, încercuirea unei zone în sensul acelor de ceasornic este echivalentă cu încercuirea
restul elipsoidului în sens invers acelor de ceasornic. Interpretarea implicită utilizată
by Planimetru este cea care are ca rezultat o mărime mai mică de suprafață; adică mărimea
a ariei este mai mică sau egală cu jumătate din aria totală a elipsoidului. Dacă -s
se dă opțiune, atunci interpretarea folosită este cea care rezultă într-o zonă pozitivă;
adică, aria este pozitivă și mai mică decât aria totală a elipsoidului.
Numai poligoane simple (adică, care nu se intersectează) sunt acceptate pentru calculul ariei.
Poligoanele pot include unul sau ambii poli. Nu este nevoie să închideți poligonul.
OPŢIUNI
-r comutați dacă parcurgerea poligonului în sens invers acelor de ceasornic returnează un pozitiv (the
implicit) sau rezultat negativ.
-s comutați dacă să returnați un rezultat semnat (implicit) sau nu.
-l comutați dacă vârfurile reprezintă un poligon (implicit) sau o polilinie. Pentru o
polilinie, se returnează numărul de puncte și lungimea traseului care le unește;
calea nu este închisă și zona nu este raportată.
-e specificați elipsoidul via a f; raza ecuatorială este a iar turtirea este f.
reglaj f = 0 rezultă într-o sferă. Specifica f < 0 pentru un elipsoid prolat. Un simplu
este permisă fracția, de exemplu, 1/297 f. În mod implicit, este utilizat elipsoidul WGS84, a =
6378137 m, f = 1/298.257223563. Dacă introduceți vârfuri ca coordonate UTM/UPS sau MGRS,
utilizați elipsoidul implicit, deoarece conversia acestor coordonate în latitudine și
longitudine folosește întotdeauna parametrii WGS84.
-w atunci când citiți coordonatele geografice, longitudinea precede latitudinea (aceasta poate fi
anulat de un desemnator de emisferă, N, S, E, W).
-p setați precizia de ieșire la prev (implicit 6); perimetrul este dat (în metri) cu
prev cifre după virgulă zecimală; aria este dată (în metri^2) cu (prev - 5)
cifre după virgulă zecimală.
-G utilizați formularea seriei pentru geodezice. Aceasta este opțiunea implicită și este
recomandat pentru aplicatii terestre. Această opțiune, -G, și următoarele trei
opțiuni -E, -Q și -R, se exclud reciproc.
-E utilizați algoritmi „exacți” (bazați pe integrale eliptice) pentru calculele geodezice.
Acestea sunt mai precise decât extinderile de serie (implicite) pentru |f| > 0.02. (Dar
rețineți că implementarea zonelor în GeodesicExact utilizează o serie de ordin înalt și
acest lucru este corect doar pentru aplatizări modeste.)
-Q efectuați calculul pe sfera autalică. Calculul suprafeței este exact chiar
dacă aplatizarea este mare, prevăzut marginile sunt suficient de scurte. Perimetrul
calculul nu este corect.
-R Liniile care unesc vârfurile sunt linii loxodorice în loc de geodezice.
--comment-delimiter
setați delimitatorul de comentarii la commentdelim (de exemplu, „#” sau „//”). Dacă este setată, intrarea
liniile vor fi scanate pentru acest delimitator și, dacă sunt găsite, pentru delimitator și restul
linia va fi eliminată înainte de procesare. Pentru un poligon dat, ultimul astfel
șirul găsit va fi adăugat la linia de ieșire (separată printr-un spațiu).
--versiune
versiunea tipărită și ieșire.
-h utilizarea imprimării și ieșire.
--Ajutor
tipăriți documentația completă și ieșiți.
--fișier de intrare
citiți intrarea din fișier infile în loc de la intrare standard; un nume de fișier „-”
reprezintă intrarea standard.
--input-string
citiți intrarea din șir instring în loc de la intrare standard. Toate întâmplările
a caracterului separator de linii (implicit este punct și virgulă) în instring sunt convertite în
linii noi înainte de a începe lectura.
--line-separator
setați caracterul separator de linii la lineep. În mod implicit, acesta este un punct și virgulă.
--fisier de iesire
scrie ieșirea în fișier outfile în loc de la ieșire standard; un nume de fișier „-”
reprezintă ieșirea standard.
EXEMPLE
Exemplu (aria pătratului MGRS de 100 km 18SWK)
Planimetru <
18n 500000 4400000
18n 600000 4400000
18n 600000 4500000
18n 500000 4500000
EOF
=> 4 400139.53295860 10007388597.1913
Următorul cod preia rezultatul de la gdalinfo și raportează zona acoperită de date
(presupunând că marginile imaginii sunt geodezice).
#! / Bin / sh
egrep '^((Super|Jos) (Stânga|Dreapta)|Centru) ' |
sed -e 's/d /d/g' -e "s/' /'/g" | tr -s '(),\r\t' ' ' | awk '{
dacă ($1 $2 == „SuperStânga”)
ul = $6 " " $5;
else if ($1 $2 == „LowerLeft”)
ll = $6 " " $5;
else if ($1 $2 == „SuperDreapta”)
ur = $6 " " $5;
else if ($1 $2 == „LowerRight”)
lr = $6 " " $5;
else if ($1 == „Centru”) {
printf "%s\n%s\n%s\n%s\n\n", ul, ll, lr, ur;
ul = ll = ur = lr = "";
}
}
' | Planimetru | taie -f3 -d' '
Utilizați Planimeter online folosind serviciile onworks.net