Planimetr
To jest polecenie Planimeter, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
Planimeter — oblicz powierzchnię wielokątów geodezyjnych
STRESZCZENIE
Planimetr [ -r ] [ -s ] [ -l ] [ -e a f ] [ -w ] [ -p poprzedni ] [ -G | -E | -Q | -R ] [
--ogranicznik-komentarzy komentarzdelim ] [ --wersja | -h | --help ] [ --plik-wejściowy w pliku |
--ciąg-wejściowy struna ] [ --separator-linii wiersze ] [ --plik wyjściowy plik wyjściowy ]
OPIS
Zmierz powierzchnię wielokąta geodezyjnego. Odczytuje wierzchołki wielokąta ze standardowego wejścia, jeden
Za linię. Wierzchołki mogą być podane jako szerokość i długość geograficzna, współrzędne UTM/UPS lub MGRS,
interpretowane w taki sam sposób, jak Geokonwersja(1). (współrzędne MGRS oznaczają środek
odpowiedni kwadrat MGRS.) Koniec wejścia, pusta linia lub linia, która nie może być
interpretowany jako wierzchołek sygnalizuje koniec jednego wielokąta i początek następnego. Do
każdy wielokąt drukuje linię podsumowującą z liczbą punktów, obwodem (w metrach),
i obszar (w metrach^2).
Krawędzie wielokąta są podane przez najkrótsza geodezyjne między kolejnymi wierzchołkami.
W niektórych przypadkach takich najkrótszych geodezji mogą być dwie lub wiele, a w takim przypadku
wielokąt nie jest jednoznacznie określony przez jego wierzchołki. Dzieje się tak tylko w przypadku bardzo długich krawędzi
(w przypadku elipsoidy WGS84 każda krawędź krótsza niż 19970 km jest jednoznacznie określona na końcu)
zwrotnica). W takich przypadkach wstaw dodatkowy wierzchołek w pobliżu środka długiej krawędzi, aby
zdefiniuj granicę wieloboku.
Domyślnie wielokąty przechodzące w kierunku przeciwnym do ruchu wskazówek zegara zwracają dodatni obszar i
te, które przeszły w kierunku zgodnym z ruchem wskazówek zegara, zwracają obszar ujemny. Ta konwencja znaków to
odwrócone, jeśli -r podana jest opcja.
Oczywiście, okrążenie obszaru w kierunku zgodnym z ruchem wskazówek zegara jest równoważne okrążeniu
reszta elipsoidy w kierunku przeciwnym do ruchu wskazówek zegara. Użyta interpretacja domyślna
by Planimetr to ten, który skutkuje mniejszą wielkością obszaru; tj. wielkość
powierzchni jest mniejsza lub równa połowie całkowitej powierzchni elipsoidy. Jeśli -s
podana jest opcja, wówczas stosowana interpretacja jest tą, która daje w wyniku pozytywny obszar;
tj. obszar jest dodatni i mniejszy niż całkowity obszar elipsoidy.
Przy obliczaniu powierzchni obsługiwane są tylko proste (tj. nie przecinające się) wielokąty.
Wielokąty mogą zawierać jeden lub oba bieguny. Nie ma potrzeby zamykania wielokąta.
OPCJE
-r przełącz, czy przechodzenie wielokąta w kierunku przeciwnym do ruchu wskazówek zegara zwraca wartość dodatnią (
domyślny) lub wynik ujemny.
-s przełącz, czy zwrócić podpisany wynik (domyślnie), czy nie.
-l przełącz, czy wierzchołki reprezentują wielokąt (domyślnie), czy polilinię. Dla
polilinia, zwracana jest liczba punktów i długość łączącej je ścieżki;
ścieżka nie jest zamknięta, a obszar nie jest zgłoszony.
-e określ elipsoidę przez a f; promień równikowy to a a spłaszczenie jest f.
Oprawa f = 0 daje sferę. Sprecyzować f < 0 dla wydłużonej elipsoidy. Prosty
ułamek, np. 1/297, jest dozwolony dla f. Domyślnie używana jest elipsoida WGS84, a =
6378137m, f = 1/298.257223563. Jeśli wprowadzasz wierzchołki jako współrzędne UTM/UPS lub MGRS,
użyj domyślnej elipsoidy, ponieważ konwersja tych współrzędnych na szerokość geograficzną i
długość geograficzna zawsze używa parametrów WGS84.
-w podczas odczytu współrzędnych geograficznych długość geograficzna poprzedza szerokość geograficzną (może to być
nadpisany przez oznaczenie półkuli, N, S, E, W).
-p ustaw precyzję wyjściową na poprzedni (domyślnie 6); obwód jest podany (w metrach) z
poprzedni cyfry po przecinku; powierzchnia jest podawana (w metrach^2) z (poprzedni -5)
cyfry po przecinku.
-G użyj formuły serii dla geodezji. To jest opcja domyślna i jest
zalecane do zastosowań naziemnych. Ta opcja, -Gi następujące trzy
Opcje -E, -Q, -R, wykluczają się wzajemnie.
-E stosować algorytmy "dokładne" (oparte na całkach eliptycznych) do obliczeń geodezyjnych.
Są one dokładniejsze niż (domyślne) rozszerzenia serii dla |f| > 0.02. (Ale
zauważ, że implementacja obszarów w GeodesicExact wykorzystuje szeregi wysokiego rzędu i
dotyczy to tylko skromnych spłaszczeń.)
-Q wykonać obliczenia na sferze authalicznej. Obliczenie powierzchni jest dokładne nawet
jeśli spłaszczenie jest duże, pod warunkiem, krawędzie są wystarczająco krótkie. Obwód
obliczenia nie są dokładne.
-R Linie łączące wierzchołki są loksodromami, a nie geodezyjnymi.
--ogranicznik-komentarzy
ustaw ogranicznik komentarza na komentarzdelim (np. „#” lub „//”). Jeśli ustawione, wejście
wiersze zostaną przeskanowane w poszukiwaniu tego ogranicznika i, jeśli zostanie znaleziony, ogranicznika i reszty
linia zostanie usunięta przed przetwarzaniem. Dla danego wielokąta ostatni taki
znaleziony ciąg zostanie dołączony do linii wyjściowej (oddzielony spacją).
--wersja
wydrukuj wersję i wyjdź.
-h użycie wydruku i wyjście.
--help
wydrukuj pełną dokumentację i wyjdź.
--plik-wejściowy
wczytaj dane wejściowe z pliku w pliku zamiast ze standardowego wejścia; nazwa pliku „-”
oznacza standardowe wejście.
--ciąg-wejściowy
przeczytaj dane wejściowe z ciągu struna zamiast ze standardowego wejścia. Wszystkie zdarzenia
znaku separatora linii (domyślnie jest to średnik) in struna są konwertowane na
nowe wiersze przed rozpoczęciem czytania.
--separator-linii
ustaw znak separatora linii na wiersze. Domyślnie jest to średnik.
--plik wyjściowy
zapisz dane wyjściowe do pliku plik wyjściowy zamiast na standardowe wyjście; nazwa pliku „-”
oznacza standardowe wyjście.
PRZYKŁADY
Przykład (powierzchnia 100km placu MGRS 18SWK)
Planimetr <
18n 500000 4400000
18n 600000 4400000
18n 600000 4500000
18n 500000 4500000
EOF
=> 4 400139.53295860 10007388597.1913
Poniższy kod pobiera dane wyjściowe z gdalinfo i zgłasza obszar objęty danymi
(zakładając, że krawędzie obrazu są geodezyjne).
#! / Bin / sh
egrep '^((Górny|Dolny) (Lewy|Prawy)|Środek)' |
sed -e 's/d /d/g' -e "s/' /'/g" | tr -s '(),\r\t' ' ' | awk '{
if (1 USD 2 USD == "Górny Lewy")
ul = 6 zł „ ” 5 zł;
inaczej, jeśli (1 $ 2 $ == "Dolny lewy")
ll = 6 zł " " 5 zł;
inaczej, jeśli (1 $ 2 $ == "Prawy górny")
ur = 6 zł " " 5 zł;
inaczej, jeśli (1 $ 2 $ == "Prawy dolny")
lr = 6 zł " " 5 zł;
inaczej if ($1 == "Centrum") {
printf "%s\n%s\n%s\n%s\n\n", ul, ll, lr, ur;
ul = ll = ur = lr = "";
}
}
' | Planimetr | wyciąć -f3 -d' '
Korzystaj z Planimeter online za pomocą usług onworks.net