Đây là lệnh RhumbSolve có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
RhumbSolve - thực hiện các phép tính dòng rhumb
SYNOPSIS
RhumbGiải quyết [ -i | -l vĩ độ1 lớn1 azi12 ] [ -e a f ] [ -d | -: ] [ -w ] [ -p khu đất ] [ -s ] [
- dấu phân cách -comment bình luận ] [ --phiên bản | -h | --Cứu giúp ] [ --tập tin đầu vào trong tập tin |
--chuỗi đầu vào cài đặt ] [ - dấu phân cách dòng dòng chữ ] [ --output-tệp ô uế ]
MÔ TẢ
Đường dẫn với tiêu đề không đổi giữa hai điểm trên ellipsoid tại (vĩ độ1, lớn1) Và
(vĩ độ2, lớn2) được gọi là đường rhumb hoặc loxodrome. Chiều dài của nó là s12 và dòng rhumb
có một phương vị phía trước azi12 dọc theo chiều dài của nó. Cũng được tính là S12 là khu vực giữa
đường rhumb từ điểm 1 đến điểm 2 và đường xích đạo; tức là, nó là diện tích, được đo
ngược chiều kim đồng hồ, của tứ giác trắc địa có các góc (vĩ độ1,lớn1), (0,lớn1),
(0,lớn2), và (vĩ độ2,lớn2). Một điểm ở cực được coi là một điểm cách xa một khoảng cực nhỏ
từ cực trên đường kinh độ đã cho. Kinh độ trở nên không xác định khi
đường dây rhumb đi qua một cực, và RhumbGiải quyết báo cáo NaN cho kinh độ và
khu vực trong trường hợp này.
LƯU Ý: đường rhumb là không đường đi ngắn nhất giữa hai điểm; đó là trắc địa và
nó được tính bằng GeodGiải quyết(1).
RhumbGiải quyết hoạt động ở một trong ba chế độ:
1. Theo mặc định, RhumbGiải quyết chấp nhận các dòng trên đầu vào tiêu chuẩn chứa vĩ độ1 lớn1 azi12
s12 và in vĩ độ2 lớn2 S12 trên đầu ra tiêu chuẩn. Đây là cách tính trực tiếp.
2. Đối số dòng lệnh -l vĩ độ1 lớn1 azi12 chỉ định một dòng rhumb. RhumbGiải quyết sau đó
chấp nhận một chuỗi s12 giá trị (một trên mỗi dòng) trên đầu vào và bản in tiêu chuẩn vĩ độ2 lớn2
S12 cho mỗi. Điều này tạo ra một chuỗi các điểm trên một đường rhumb.
3. Với -i đối số dòng lệnh, RhumbGiải quyết thực hiện phép tính nghịch đảo. Nó
đọc các dòng có chứa vĩ độ1 lớn1 vĩ độ2 lớn2 và in các giá trị của azi12 s12 S12 cho
các đường rhumb ngắn nhất tương ứng. Nếu các điểm cuối nằm trên các kinh tuyến đối diện,
có hai đường gấp khúc ngắn nhất và một đường đi về hướng đông được chọn.
LỰA CHỌN
-i thực hiện một phép tính nghịch đảo (xem 3 ở trên).
-l chế độ dòng (xem 2 ở trên); tạo ra một chuỗi các điểm dọc theo đường rhumb được chỉ định
by vĩ độ1 lớn1 azi12. Các -w cờ có thể được sử dụng để hoán đổi thứ tự mặc định của 2
tọa độ địa lý, miễn là nó xuất hiện trước -l.
-e chỉ định ellipsoid qua a f; bán kính xích đạo là a và sự làm phẳng là f.
Cài đặt f = 0 kết quả là một hình cầu. Chỉ định f <0 đối với ellipsoid prolate. Một đơn giản
phân số, ví dụ, 1/297, được phép cho f. Theo mặc định, ellipsoid WGS84 được sử dụng, a =
6378137m, f = 1 / 298.257223563.
-d góc xuất ra dưới dạng độ, phút, giây thay vì độ thập phân.
-: Lượt thích -d, ngoại trừ việc sử dụng: làm dấu phân cách thay vì dấu phân cách d, 'và ".
-w trên đầu vào và đầu ra, kinh độ đứng trước vĩ độ (ngoại trừ ở đầu vào, điều này có thể là
bị ghi đè bởi bộ chỉ định bán cầu, N, S, E, W).
-p đặt độ chính xác đầu ra thành khu đất (mặc định 3); khu đất là độ chính xác liên quan đến 1 m.
Xem "CHÍNH XÁC".
-s Theo mặc định, các phép tính đường rhumb được thực hiện chính xác theo hình elliptic
tích phân. Điều này bao gồm việc sử dụng định lý cộng cho tích phân elip để
tính toán sự khác biệt bị chia của các vĩ độ đẳng áp và chỉnh lưu. Nếu như -s is
cung cấp sự khác biệt được chia này được tính bằng cách sử dụng chuỗi Krueger cho mặt cắt ngang
Phép chiếu Mercator chỉ chính xác cho |f| <0.01. Xem "CHÍNH XÁC".
- dấu phân cách -comment
đặt dấu phân cách nhận xét thành bình luận (ví dụ: "#" hoặc "//"). Nếu được đặt, đầu vào
các dòng sẽ được quét để tìm dấu phân cách này và nếu được tìm thấy, dấu phân cách và phần còn lại của
dòng sẽ bị xóa trước khi xử lý và sau đó được nối vào đầu ra
dòng (cách nhau bởi dấu cách).
--phiên bản
phiên bản in và thoát.
-h sử dụng in và thoát.
--Cứu giúp
in tài liệu đầy đủ và thoát.
--tập tin đầu vào
đọc đầu vào từ tệp trong tập tin thay vì từ đầu vào tiêu chuẩn; tên tệp của "-"
là viết tắt của đầu vào tiêu chuẩn.
--chuỗi đầu vào
đọc đầu vào từ chuỗi cài đặt thay vì từ đầu vào tiêu chuẩn. Tất cả các lần xuất hiện
của ký tự phân cách dòng (mặc định là dấu chấm phẩy) trong cài đặt được chuyển đổi thành
dòng mới trước khi bài đọc bắt đầu.
- dấu phân cách dòng
đặt ký tự phân cách dòng thành dòng chữ. Theo mặc định, đây là dấu chấm phẩy.
--output-tệp
ghi đầu ra vào tệp ô uế thay vì đến đầu ra tiêu chuẩn; tên tệp của "-"
là viết tắt của đầu ra tiêu chuẩn.
ĐẦU VÀO
RhumbGiải quyết đo mọi góc theo độ, mọi độ dài (s12) tính bằng mét và tất cả các khu vực
(S12) tính bằng mét ^ 2. Trên các góc đầu vào (vĩ độ, kinh độ, phương vị, độ dài cung) có thể như
độ thập phân hoặc độ, phút, giây. Ví dụ: "40d30", "40d30", "40:30",
"40.5d" và 40.5 đều tương đương. Theo mặc định, vĩ độ đứng trước kinh độ cho mỗi
điểm (cái -w cờ chuyển quy ước này); tuy nhiên trên đầu vào, một trong hai có thể được đưa ra trước
bằng cách thêm bớt (hoặc thêm bớt) N or S đến vĩ độ và E or W đến kinh độ. Phương vị
được đo theo chiều kim đồng hồ từ phía bắc; tuy nhiên điều này có thể bị ghi đè với E or W.
Để biết chi tiết về các định dạng được phép cho các góc, hãy xem phần "PHỐI HỢP ĐỊA LÝ" của
Chuyển đổi địa lý(1).
ĐỘ CHÍNH XÁC
khu đất cung cấp độ chính xác của đầu ra với khu đất = 0 cho độ chính xác 1 m, khu đất = 3 tặng 1
độ chính xác mm, v.v. khu đất là số chữ số sau dấu thập phân cho độ dài. Vì
độ thập phân, số chữ số sau dấu thập phân là khu đất + 5. Đối với DMS
(độ, phút, giây) đầu ra, số chữ số sau dấu thập phân trong
thành phần giây là khu đất + 1. Giá trị nhỏ nhất của khu đất là 0 và tối đa là 10.
LRI
Một dòng đầu vào không hợp lệ sẽ in thông báo lỗi đến đầu ra chuẩn bắt đầu bằng
"LỖI:" và nguyên nhân RhumbGiải quyết để trả về mã thoát là 1. Tuy nhiên, lỗi không
gây ra RhumbGiải quyết chấm dứt; các dòng sau sẽ được chuyển đổi.
CHÍNH XÁC
Thuật toán được sử dụng bởi RhumbGiải quyết sử dụng các công thức chính xác để chuyển đổi giữa các vĩ độ,
chính xác vĩ độ (mu), và vĩ độ đẳng áp (psi). Các công thức này chính xác cho
bất kỳ giá trị nào của sự làm phẳng. Việc tính toán các đường rhumb liên quan đến tỷ lệ (psi1 -
psi2🇧🇷mu1 - mu2) và điều này có thể xảy ra sai số lớn nếu vĩ độ1 gần
vĩ độ2. Vì vậy, tỷ lệ này được tính bằng cách sử dụng các chênh lệch đã chia bằng một trong hai phương pháp:
mặc định, điều này sử dụng định lý cộng cho tích phân elliptic (chính xác cho tất cả các giá trị của
f); tuy nhiên, với -s tùy chọn, nó được tính toán bằng cách sử dụng các mở rộng chuỗi được sử dụng bởi
NgangMercatorProj(1) đối với các chuyển đổi giữa vĩ độ chỉnh lưu và vĩ độ tuân thủ
(chính xác cho |f| <0.01). Đối với ellipsoid WGS84, sai số khoảng 10 nanomet
sử dụng một trong hai phương pháp.
VÍ DỤ
Lộ trình từ sân bay JFK đến sân bay Changi Singapore:
echo 40:38:23N 073:46:44W 01:21:33N 103:59:22E |
Đại hoàngSolve -i -: -p 0
103: 34: 58.2 18523563
NB Đây là không tuyến đường thường được thực hiện bằng máy bay vì nó dài hơn đáng kể
hơn so với đường trắc địa được cung cấp bởi GeodGiải quyết(1).
Các điểm trên tuyến đường cách nhau 2000km:
for ((i = 0; i <= 20; i + = 2)); làm echo $ {i} 000000; xong |
RhumbSolve -l 40: 38: 23N 073: 46: 44W 103: 34: 58.2 -: -p 0
40:38:23.0N 073:46:44.0W
36:24:30.3N 051:28:26.4W
32:10:26.8N 030:20:57.3W
27:56:13.2N 010:10:54.2W
23:41:50.1N 009:12:45.5E
19:27:18.7N 027:59:22.1E
15:12:40.2N 046:17:01.1E
10:57:55.9N 064:12:52.8E
06:43:07.3N 081:53:28.8E
02:28:16.2N 099:24:54.5E
01:46:36.0S 116:52:59.7E
Sử dụng RhumbSolve trực tuyến bằng các dịch vụ onworks.net