Ranh giới hành chính Việt Nam: 34 tỉnh thành, 3.323 quận huyện và metadata phong phú
Cách endpoint ranh giới hành chính của GoGoDuk hoạt động hiện nay — polygon cấp tỉnh và quận huyện cùng với dân số, diện tích, thông tin liên hệ và centroid.
Việt Nam có ba cấp hành chính dưới cấp quốc gia: tỉnh / thành phố (tỉnh hoặc thành phố trực thuộc trung ương), huyện / quận (quận huyện), và xã / phường / thị trấn (phường hoặc xã). Nắm chính xác các cấp này chính là sự khác biệt giữa một địa chỉ geocode được và một địa chỉ thì không.
Hiện nay GoGoDuk cung cấp hai cấp trên thông qua /v1/admin-boundaries
— 34 tỉnh thành và 3.323 quận huyện, lấy nguồn từ bando.com.vn và
được làm sạch trong dataset riêng của chúng tôi. Cấp phường xã sắp ra mắt.
Những gì bạn nhận được hôm nay
Endpoint trả về geometry dạng polygon cho từng đơn vị hành chính, đánh khóa theo admin level của OSM:
Cấu trúc response:
Mọi trường ngoài name và boundary đều là tùy chọn — API chỉ
xuất ra khi bản ghi gốc có giá trị. Nếu bạn đang nâng cấp
từ phiên bản đầu tiên vốn chỉ trả về name + boundary, bạn không cần thay đổi
code nào cả. TypeScript SDK cung cấp các trường này dưới dạng tùy chọn trong
@gogoduk/[email protected].
| Tham số | Mặc định | Ghi chú |
|---|---|---|
levels | 4,8 | Các admin level của OSM, ngăn cách bằng dấu phẩy. 4 = tỉnh thành, 8 = quận huyện. |
format | geojson | geojson trả về mảng tọa độ; wkt trả về chuỗi OGC. |
country_code | VN | ISO-3166-1 alpha-2. Việt Nam là quốc gia duy nhất chúng tôi cung cấp hiện nay. |
tolerance | 0.001 | Mức đơn giản hóa Douglas-Peucker tính theo độ. Càng thấp = càng chi tiết = payload càng lớn. |
Các polygon được lấy từ những nguồn GIS cấp tỉnh có thẩm quyền, sau đó chạy qua pipeline QA riêng của chúng tôi để bắt các khe hở mỏng (sliver gap) và geometry tự cắt nhau (self-intersecting) — những lỗi này phổ biến hơn bạn tưởng trong các dataset chính phủ công bố.
Vì sao cấp phường xã quan trọng — và những gì chúng tôi có hôm nay
Phần lớn địa chỉ Việt Nam được phân biệt ở cấp phường xã, chứ không phải ở tên đường. "Đường số 7" tồn tại ở hàng chục phường tại TP.HCM. Nếu không có ngữ cảnh phường xã, một bộ geocoder sẽ chọn nhầm.
Hiện tại, geometry cấp phường xã chưa được mở qua /v1/admin-boundaries.
Nhưng bạn đã có thể reverse-geocode một điểm về
tỉnh thành + quận huyện chứa nó thông qua endpoint liên quan:
Trả về:
Cả hai endpoint đều được hỗ trợ bởi cùng một truy vấn PostGIS ST_Contains trên
bảng ranh giới của chúng tôi — cùng độ chính xác, chỉ khác hình thức.
Có gì trong mỗi bản ghi
Mỗi polygon giờ đây đi kèm metadata mà dataset đã mang theo từ đầu — không cần JOIN thủ công:
province_name+province_id— tỉnh thành cha của quận huyện; trùng vớinameđối với chính các tỉnh thànhpopulation+area_km2— hữu ích cho việc lập kế hoạch vùng phục vụ, tổng hợp mật độ và bản đồ choropleth mà không cần gọi API lần thứ haiadmin_center— thành phố/thị trấn đặt trụ sở chính quyền của đơn vịphone+website— kênh liên hệ chính thức của chính quyền địa phương, khi có công bốpre_merge_info— ghi chú dễ đọc về lần sắp xếp lại gần nhất của đơn vị. Việt Nam đã sáp nhập tỉnh thành và quận huyện vào năm 2025; các địa chỉ cũ với tên trước đây vẫn còn lưu hành. Trường này cho bạn biết đơn vị nào đã sáp nhập vào đơn vị nào để bạn có thể đối chiếu.centroid— một điểm[lng, lat]duy nhất cho mỗi đơn vị. Hữu ích cho việc gắn nhãn trên bản đồ mà không cần tính centroid của polygon ở phía client.
Độ phủ trường dữ liệu đạt 100% cho cả hai cấp tại thời điểm viết bài (34/34 tỉnh thành, 3.323/3.323 quận huyện).
Vẫn còn trên lộ trình
Polygon cấp phường xã (admin_level=10) — Việt Nam có hơn 10.500 phường xã
trên 3.323 quận huyện sau đợt sắp xếp lại năm 2025, và chúng tôi đang
xử lý dần dataset. Theo dõi changelog để biết ngày ra mắt.
Thử ngay
Kết quả phải in ra 34. Nếu bạn gặp một polygon trông có vẻ sai — khe hở mỏng,
thiếu quận huyện, ranh giới lỗi thời sau một lần sáp nhập gần đây — vui lòng email
[email protected] kèm tên đơn vị và chúng tôi sẽ
kiểm tra. Dataset được làm sạch thủ công, chứ không phải bằng phép màu.
Muốn dùng GoGoDuk?
Miễn phí trọn đời — 100 request/ngày mỗi tài khoản, không cần thẻ tín dụng. Giới hạn cao hơn theo yêu cầu.
Đăng ký →