Khoảng cách giữa 2 kinh độ

Tháng này, tôi đã lập trình khá nhiều về PHP và MySQL liên quan đến GIS. Tìm kiếm xung quanh mạng, tôi thực sự đã gặp khó khăn khi tìm thấy một số Tính toán địa lý để tìm khoảng cách giữa hai vị trí, vì vậy tôi muốn chia sẻ chúng ở đây.

Khoảng cách giữa 2 kinh độ

Cách đơn giản để tính khoảng cách giữa hai điểm là sử dụng công thức Pitago để tính cạnh huyền của một tam giác (A² + B² = C²). Điều này được gọi là Khoảng cách Euclide.

Đó là một khởi đầu thú vị nhưng nó không áp dụng với môn Địa lý vì khoảng cách giữa các đường vĩ độ và kinh độ là không phải là một khoảng cách bằng riêng biệt. Khi bạn càng đến gần đường xích đạo, các đường vĩ độ càng xa nhau. Nếu bạn sử dụng một số loại phương trình tam giác đơn giản, nó có thể đo khoảng cách chính xác ở một vị trí và sai khủng khiếp ở vị trí khác, do độ cong của Trái đất.

Khoảng cách vòng tròn lớn

Các tuyến đường di chuyển xa quanh Trái đất được gọi là Khoảng cách vòng tròn lớn. Đó là… khoảng cách ngắn nhất giữa hai điểm trên hình cầu khác với các điểm trong bản đồ phẳng. Kết hợp điều đó với thực tế là các đường vĩ độ và kinh độ không bằng nhau… và bạn đã có một phép tính khó.

Đây là video giải thích tuyệt vời về cách các Vòng kết nối lớn hoạt động.

Công thức Haversine

Khoảng cách sử dụng độ cong của Trái đất được kết hợp trong Công thức Haversine, sử dụng lượng giác để cho phép độ cong của trái đất. Khi bạn đang tìm khoảng cách giữa 2 nơi trên trái đất (khi quạ bay), một đường thẳng thực sự là một đường cung.

Điều này có thể áp dụng trong chuyến bay hàng không - bạn đã bao giờ nhìn vào bản đồ thực tế của các chuyến bay và nhận thấy chúng được hình cung? Đó là bởi vì bay trong vòm giữa hai điểm sẽ ngắn hơn so với trực tiếp đến vị trí.

PHP: Tính khoảng cách giữa 2 điểm vĩ độ và kinh độ

Dù sao, đây là công thức PHP để tính khoảng cách giữa hai điểm (cùng với chuyển đổi Mile so với Kilômét) được làm tròn đến hai chữ số thập phân.

function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2, $unit = 'miles') { $theta = $longitude1 - $longitude2; $distance = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta))); $distance = acos($distance); $distance = rad2deg($distance); $distance = $distance * 60 * 1.1515; switch($unit) { case 'miles': break; case 'kilometers' : $distance = $distance * 1.609344; } return (round($distance,2)); }

SQL: lấy tất cả hồ sơ trong một phạm vi By Tính cách Trong Miles Sử dụng Latitude và Longitude

Cũng có thể sử dụng SQL để thực hiện một phép tính để tìm tất cả các bản ghi trong một khoảng cách cụ thể. Trong ví dụ này, tôi sẽ MyTable truy vấn trong MySQL để tìm tất cả các hồ sơ mà là nhỏ hơn hoặc bằng với biến $ khoảng cách (trong Miles) đến vị trí của tôi tại $ vĩ độ và kinh độ $:

Truy vấn để lấy tất cả các bản ghi trong một khoảng cách bằng cách tính toán khoảng cách trong dặm giữa hai điểm của vĩ độ và kinh độ là:

$query = "SELECT *, (((acos(sin((".$latitude."*pi()/180)) * sin((`latitude`*pi()/180)) + cos((".$latitude."*pi()/180)) * cos((`latitude`*pi()/180)) * cos(((".$longitude."- `longitude`)*pi()/180)))) * 180/pi()) * 60 * 1.1515) as distance FROM `table` WHERE distance <= ".$distance."

Bạn sẽ cần phải tùy chỉnh điều này:

  • $ kinh độ - đây là một biến PHP mà tôi đang truyền kinh độ của điểm.
  • $ vĩ độ - đây là một biến PHP mà tôi đang truyền kinh độ của điểm.
  • $ khoảng cách - đây là khoảng cách mà bạn muốn tìm tất cả các bản ghi nhỏ hơn hoặc bằng.
  • bàn - đây là bảng… bạn sẽ muốn thay thế nó bằng tên bảng của mình.
  • vĩ độ - đây là trường vĩ độ của bạn.
  • kinh độ - đây là trường kinh độ của bạn.

SQL: Truy xuất tất cả các bản ghi trong một phạm vi bằng cách tính toán khoảng cách theo ki lô mét sử dụng vĩ độ và kinh độ

Và đây là truy vấn SQL sử dụng km trong MySQL:

$query = "SELECT *, (((acos(sin((".$latitude."*pi()/180)) * sin((`latitude`*pi()/180)) + cos((".$latitude."*pi()/180)) * cos((`latitude`*pi()/180)) * cos(((".$longitude."- `longitude`) * pi()/180)))) * 180/pi()) * 60 * 1.1515 * 1.609344) as distance FROM `table` WHERE distance <= ".$distance."

Bạn sẽ cần phải tùy chỉnh điều này:

  • $ kinh độ - đây là một biến PHP mà tôi đang truyền kinh độ của điểm.
  • $ vĩ độ - đây là một biến PHP mà tôi đang truyền kinh độ của điểm.
  • $ khoảng cách - đây là khoảng cách mà bạn muốn tìm tất cả các bản ghi nhỏ hơn hoặc bằng.
  • bàn - đây là bảng… bạn sẽ muốn thay thế nó bằng tên bảng của mình.
  • vĩ độ - đây là trường vĩ độ của bạn.
  • kinh độ - đây là trường kinh độ của bạn.

Tôi đã sử dụng mã này trong một nền tảng lập bản đồ doanh nghiệp mà chúng tôi đã sử dụng cho một cửa hàng bán lẻ với hơn 1,000 địa điểm trên khắp Bắc Mỹ và nó hoạt động rất tốt.

Vĩ độ và kinh độ là các phép đo vị trí trên trái đất. Nếu biết cách đọc vĩ độ và kinh độ trên bản đồ, bạn có thể xác định toạ độ địa lý của bất cứ điểm nào trên bản đồ. Mặc dù bạn có thể dễ dàng tìm được vĩ độ và kinh độ trên các bản đồ trực tuyến chỉ bằng một cú nhấp chuột, nhưng đôi khi cũng hữu ích nếu bạn biết cách đọc trên bản đồ giấy. Để đọc đúng vĩ độ và kinh độ, trước tiên bạn phải hiểu các khái niệm cơ bản của các phép đo này. Khi đã nắm được những điều cơ bản, bạn hãy học cách xác định các điểm vĩ độ và kinh độ trên bản đồ và xác định chính xác các vị trí.

  1. 1

    Làm quen với khái niệm về vĩ độ. Vĩ độ là phép đo khoảng cách của một điểm về phía bắc hoặc nam của đường xích đạo, một đường tưởng tượng chạy ngang qua điểm trung tâm của trái đất giữa hai cực. Trái đất được chia thành 180 vĩ tuyến. Các vĩ tuyến này chạy ngang vòng quanh trái đất, trong đó có 90 vĩ tuyến bắc và 90 vĩ tuyến nam.[1] X Nguồn nghiên cứu Đi tới nguồn

  2. 2

    Hiểu định nghĩa kinh độ. Kinh độ là phép đo khoảng cách của một điểm về phía đông hoặc tây của đường tưởng tượng chạy dọc từ giữa trái đất từ cực bắc đến cực nam, gọi là kinh tuyến gốc. Các kinh tuyến là một loạt các đường chạy dọc từ cực bắc xuống cực nam, còn gọi là meridians (giữa trưa), vì tất cả mọi vị trí trên cùng một kinh tuyến đều có thời điểm giữa trưa vào cùng một lúc. Có 360 kinh tuyến ở cả hai bên kinh tuyến gốc, trong đó có 180 kinh tuyến đông và 180 kinh tuyến tây.[2] X Nguồn nghiên cứu Đi tới nguồn

    • Kinh tuyến đối diện với kinh tuyến gốc ở phía bên kia trái đất được gọi là kinh tuyến nghịch.[3] X Nguồn nghiên cứu Đi tới nguồn

  3. 3

    Học về các đơn vị đo vĩ độ và kinh độ. Các phép đo vĩ độ và kinh độ thường được thể hiện bằng độ (°), phút (′), hoặc giây (″). Khoảng cách giữa các vĩ tuyến hoặc kinh tuyến là 1°. Để có phép đo chính xác hơn, mỗi độ có thể được chia thành 60 phút, và mỗi phút lại được chia thành 60 giây (tổng cộng có 3.600 giây trong mỗi độ).[4] X Nguồn nghiên cứu Đi tới nguồn

    • Vĩ độ và kinh độ được đo bằng độ thay vì các đơn vị đo lường tuyệt đối (như dặm hoặc km), vì trái đất có hình cầu. Trong khi khoảng cách giữa các vĩ tuyến là không đổi (60 hải lý hoặc 111,12 km), thì do hình dạng của trái đất, khoảng cách giữa các kinh tuyến lại giảm dần về phía hai cực.[5] X Nguồn nghiên cứu Đi tới nguồn

  4. 4

    Đo vĩ độ và kinh độ so với điểm 0. Khi đo vĩ độ ở cả hai hướng, đường xích đạo được coi là điểm bắt đầu, vĩ độ 0°. Tương tự, kinh tuyến gốc là điểm bắt đầu để đo kinh độ, tương ứng với kinh độ 0°. Mỗi một chỉ số vĩ độ hoặc kinh độ biểu thị khoảng cách kể từ điểm gốc ở cả hai hướng.[6] X Nguồn nghiên cứu Đi tới nguồn

    • Ví dụ, cực bắc có vĩ độ là 90° bắc, nghĩa là 90° phía bắc xích đạo.
    • Kinh tuyến nghịch nằm ở 180° ở cả hai phía đông và tây kể từ kinh tuyến gốc.
    • Tượng nhân sư lớn Giza ở Ai Cập nằm tại 29°58′31″bắc, 31°8′15″đông, nghĩa là ngay dưới 30° vĩ bắc và 31° kinh đông so với kinh tuyến gốc.

  1. 1

    Tìm một bản đồ có kẻ các đường vĩ tuyến và kinh tuyến. Không phải bản đồ nào cũng thể hiện kinh tuyến và vĩ tuyến. Thông thường, các kinh tuyến và vĩ tuyến thường có trên các bản đồ khu vực rộng như bản đồ atlas hoặc các bản đồ nhỏ hơn được thiết kế để mô tả địa hình cực kỳ chính xác, chẳng hạn như bản đồ địa hình. Ở Mỹ, các bản đồ địa hình chi tiết của hầu hết các khu vực được xuất bản bởi cục Khảo sát Địa chất Hoa Kỳ.

  2. 2

    Xác định vị trí muốn tìm. Nhìn vào bản đồ và xác định đặc điểm hoặc khu vực mà bạn muốn đọc toạ độ. Dùng đinh ghim hoặc bút chì để đánh dấu chính xác điểm mà bạn muốn biết toạ độ.

  3. 3

    Xác định các vĩ tuyến và kinh tuyến. Các vĩ tuyến được thể hiện trên bản đồ bằng một loạt các đường ngang cách đều nhau trên bản đồ, còn các kinh tuyến được biểu thị bằng một loạt các đường dọc cách đều nhau từ trên xuống dưới. Hãy nhìn các con số dọc theo các cạnh của bản đồ chỉ tọa độ của từng đường kẻ. Các chỉ số này được gọi là “vạch.”[7] X Nguồn nghiên cứu Đi tới nguồn

    • Vạch vĩ độ được đánh dấu dọc theo hai cạnh đông và tây của bản đồ. Vạch kinh độ được đánh dấu ở hai cạnh bắc và nam.
    • Tuỳ vào tỷ lệ của bản đồ, vạch toạ độ có thể ghi các phần nhỏ của độ thay vì từng độ. Ví dụ, có vạch ghi từng phút trong 1 độ thay vì từng độ (chẳng hạn như 32°0′, 32°1′, v.v…)
    • Bản đồ cũng thể hiện vị trí tương quan với đường xích đạo và kinh tuyến gốc của các vĩ độ và kinh độ (Bắc hoặc Nam, Đông hoặc Tây).
    • Đừng nhầm lẫn hệ thống vĩ tuyến và kinh tuyến với hình chiếu UTM, một dạng khác của hệ thống lưới toạ độ thường được ghi trên bản đồ. Các chỉ số UTM thường được ghi cỡ chữ nhỏ hơn (và không có ký hiệu độ) dọc theo các cạnh của bản đồ, và các đường lưới UTM có thể được kẻ màu khác với các kinh tuyến và vĩ tuyến.

  4. 4

    Dùng thước để đánh dấu vĩ độ của điểm đang tìm. Lấy thước và bút chì kẻ một đường ngang từ điểm đang tìm toạ độ đến cạnh đông hoặc tây gần nhất trên bản đồ. Đảm bảo đường kẻ của bạn phải song song với vĩ tuyến gần nhất.

  5. 5

    Vẽ một đường kẻ khác để đánh dấu kinh độ của điểm đang tìm toạ độ. Bắt đầu từ chính điểm đó, dùng thước kẻ một đường thẳng dọc đến cạnh bắc hoặc nam của bản đồ. Nhớ rằng đường kẻ phải song song với kinh tuyến gần nhất.

  6. 6

    Ước tính vĩ độ và kinh độ của điểm đang tìm bằng các vạch toạ độ. Tuỳ vào tỷ lệ của bản đồ, bạn có thể ước tính toạ độ của một điểm đến từng giây. Hãy nhìn vào giao điểm của các đường kinh tuyến và vĩ tuyến vừa kẻ với các vạch ghi trên các cạnh của bản đồ để ước tính tọa độ bằng vị trí của chúng tương ứng với vạch gần nhất.

    • Nếu bản đồ biểu thị giây, hãy tìm giây gần nhất với từng giao điểm của kinh tuyến hoặc vĩ tuyến trên cạnh của bản đồ. Ví dụ, nếu vĩ tuyến của bạn rơi vào khoảng 5″ bên trên vĩ tuyến 32°20′ bắc, điểm mà bạn muốn xác định toạ độ sẽ ở vĩ độ khoảng 32°20′5″ bắc.
    • Nếu bản đồ biểu thị phút mà không có giây, bạn có thể ước tính vĩ độ và kinh độ trong vòng 6 giây bằng cách chia khoảng cách giữa từng vạch thành 10 phần. Nếu kinh tuyến của bạn rơi vào khoảng 2/10 về bên trái của kinh tuyến 120°14′ đông, kinh độ của điểm đó sẽ vào khoảng 120°14′12″đông.

  7. 7

    Kết hợp các chỉ số với nhau để xác định toạ độ. Toạ độ địa lý là nơi mà các kinh tuyến và vĩ tuyến hội tụ tại một điểm. Nhìn vào vĩ độ và kinh độ của điểm mà bạn đang xác định và kết hợp lại (ví dụ 32°20′5″bắc, 120°14′12″đông).[8] X Nguồn nghiên cứu Đi tới nguồn

Bài viết này có đồng tác giả là đội ngũ biên tập viên và các nhà nghiên cứu đã qua đào tạo, những người xác nhận tính chính xác và toàn diện của bài viết.

Nhóm Quản lý Nội dung của wikiHow luôn cẩn trọng giám sát công việc của các biên tập viên để đảm bảo rằng mọi bài viết đều đạt tiêu chuẩn chất lượng cao. Bài viết này đã được xem 26.294 lần.

Chuyên mục: Địa lý

Trang này đã được đọc 26.294 lần.