Tính khoảng cách giữa hai toạ độ, geohash, polyline online
Khoảng cách (haversine, Vincenty), hướng, điểm đích, geohash, polyline Google, điểm trong đa giác, diện tích, đơn giản hoá đường và tìm điểm gần nhất.
Kết quả
Bấm “Chạy” để xem kết quả.
Chọn thao tác bằng op. distance (from, to) cho khoảng cách theo vòng tròn lớn (haversine) và khoảng cách trên ellipsoid WGS 84 (Vincenty, chính xác tới milimét) theo mét, kilômét, dặm và hải lý, kèm hướng xuất phát, hướng tới, hướng la bàn và trung điểm. destination cho điểm tới được khi đi distance mét từ from theo bearing. geohash mã hoá một point (độ chính xác 1-12) hoặc giải mã geohash ra tâm, khung bao, kích thước ô và 8 ô lân cận. polyline mã hoá points thành polyline mã hoá của Google hoặc giải mã polyline (độ chính xác 5, hoặc 6 cho OSRM / Valhalla), kèm độ dài.
contains cho biết một point hoặc danh sách points có nằm trong polygon GeoJSON không (Polygon có lỗ, MultiPolygon, Feature hoặc FeatureCollection, trả về các feature chứa điểm). measure tính diện tích (m², km², ha), chu vi, độ dài đường, khung bao và tâm của GeoJSON bất kỳ. simplify giảm số điểm của đường hoặc đa giác bằng Douglas-Peucker với tolerance tính bằng mét. nearest sắp xếp tối đa 10.000 points theo khoảng cách tới from (có limit và max_distance).
Điểm viết dạng "lat,lng", [lat, lng] hoặc {"lat", "lng"} theo độ WGS 84; GeoJSON giữ thứ tự [lng, lat] của chuẩn (RFC 7946). Tính toán thuần, không lưu dữ liệu; không tìm đường hay geocode (xem /v1/vn-geo cho đơn vị hành chính Việt Nam).
Dùng trong code của bạn
curl "https://apibox.io.vn/v1/geo-tools?op=distance&from=21.0285,105.8542&to=10.7769,106.7009" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/geo-tools?op=distance&from=21.0285,105.8542&to=10.7769,106.7009', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/geo-tools?op=distance&from=21.0285,105.8542&to=10.7769,106.7009",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/geo-tools?op=distance&from=21.0285,105.8542&to=10.7769,106.7009');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Tài liệu API → Nhận API key miễn phí
Hỏi đáp
Nên dùng haversine hay Vincenty?
Haversine coi Trái Đất là hình cầu, sai số có thể tới khoảng 0,5%; Vincenty dùng ellipsoid WGS 84, chính xác tới milimét. API trả cả hai.
Thứ tự toạ độ là gì?
Điểm viết lat, lng (như trên điện thoại, bản đồ); GeoJSON đầu vào và đầu ra dùng lng, lat theo đúng chuẩn.
Diện tích được tính thế nào?
Bằng công thức diện tích trên mặt cầu như turf.js (bán kính 6378137 m), trừ phần lỗ; đủ chính xác cho thửa đất, phường xã và vùng giao hàng.