搜索插件、代码仓与 APP 分类

dvhcvn 封面
插件详情v2.1.20250301

dvhcvn

越南行政区划的三个层级(最后更新:2025年01月03日)

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
200
喜欢数
25
Pub 分数
155

安装插件

flutter pub add dvhcvn

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

dvhcvn 包提供了一个全面且最新的越南三级行政区划数据集——省、县和乡镇,适用于 Flutter 应用程序。专为开发位置相关功能的开发者设计,可实现准确的地址选择和地理定位筛选。数据定期更新(最后更新时间:2025年01月03日),支持 Android、iOS、Web、macOS、Windows 和 Linux 多个平台。通过简单的 pub 命令即可无缝集成,非常适合需要越南行政区划结构的表单、地图或配送系统。

适合场景

  • 越南地址选择器
  • 按省份/地区进行地理定位过滤
  • 配送或服务区域选择
  • 带本地化功能的表单验证
  • 基于地图的位置标记
  • 使用区域数据设置用户配置文件

主要特点

  • 三级管理层次结构
  • 定期更新的数据
  • 多平台支持
  • 通过 pub 实现轻松集成
  • 轻量且专注
  • 预定义的 JSON 数据集

适合对象

  • 面向越南用户的App
  • 越南的电子商务平台
  • 政府或公共事务服务
  • 物流和配送应用
  • 位置感知的移动应用

使用建议

  • 仅限越南
  • 需要手动处理UI组件
  • 无实时更新
  • 依赖静态数据集
  • 不适用于国际地址查询

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Các đơn vị hành chính Việt Nam

Dữ liệu được cập nhật từ trang Danh mục hành chính của Tổng cục thống kê và Hệ thống bản đồ hành chính của Cổng thông tin điện tử Chính phủ.

Các tập dữ liệu

dvhcvn.json

Thông tin 3 cấp đơn vị hành chính trả về từ web service của TCTK:

  • Tỉnh thành:
    • level1_id
    • name
    • type: Thành phố Trung ương | Tỉnh
    • level2s
  • Quận huyện
    • level2_id
    • name
    • type: Quận | Huyện | Thành phố | Thị xã
    • level3s
  • Phường xã
    • level3_id
    • name
    • type: Phường | Xã | Thị trấn

Ví dụ:

{
  "level1_id": "56",
  "name": "Tỉnh Khánh Hòa",
  "type": "Tỉnh",
  "level2s": [
    {
      "level2_id": "568",
      "name": "Thành phố Nha Trang",
      "type": "Thành phố",
      "level3s": [
        {
          "level3_id": "22363",
          "name": "Phường Lộc Thọ",
          "type": "Phường"
        },
        "..."
      ]
    },
    "..."
  ]
gis/*.json

Thông tin địa giới trích xuất từ Hệ thống bản đồ hành chính cho 2 cấp: tỉnh thành và quận huyện.

<level1_id>.json

Do nhiều dữ liệu nên mỗi tỉnh thành được tách ra một tập riêng. Trong đó, mỗi đơn vị hành chính (tỉnh thành hoặc quận huyện) có các thông tin:

  • coordinates
  • bbox
  • type: MultiPolygon | Polygon

Ví dụ tập dữ liệu của Khánh Hoà, có nội dung như sau:

{
  "level1_id": "56",
  "name": "Tỉnh Khánh Hòa",
  "level2s": [
    {
      "level2_id": "568",
      "name": "Thành phố Nha Trang",
      "coordinates": [
        [
          [[109.317273127, 12.1642742720001], "... (khoảng 30 cặp toạ độ)"],
          "... (khoảng 10 đa giác)"
        ]
      ],
      "bbox": [109.110859607, 12.141705888, 109.370714452, 12.3798137530001],
      "type": "MultiPolygon"
    },
    "..."
  ],
  "coordinates": ["... (khoảng 50 đa giác)"],
  "bbox": [108.669676534, 7.89146445900019, 115.836420367, 12.86823071],
  "type": "MultiPolygon"
}
level1s_bbox.json

Riêng dữ liệu bbox của tỉnh thành được lưu riêng với nội dung như sau:

{
  "01": [
    105.28500419,
    20.5642508770001,
    106.020154616,
    21.3855144820001
  ],
  "..."
}
sorted.json

Thông tin 3 cấp đơn vị hành chính đã được sắp xếp theo tên riêng. Để tiết kiệm dung lượng, mỗi đơn vị hành chính là một mảng có các thành phần theo thứ tự như sau:

  1. Mã đơn vị
  2. Tên riêng
  3. Tiền tố
  4. Tên riêng không dấu
  5. Các đơn vị trực thuộc

Ví dụ:

[
  [
    "89", "An Giang", "Tỉnh", "An Giang",
    [
      [
        "886", "An Phú", "Huyện", "An Phu",
        [
          ["30337", "An Phú", "Thị trấn", "An Phu"],
          ["30373", "Đa Phước", "Xã", "Da Phuoc"],
          ["30340", "Khánh An", "Xã", "Khanh An"],
          "..."
        ]
      ],
      "..."
    ]
  ],
  "..."
]

Thư viện hỗ trợ

Demo

  • geolocation: xác định dvhc từ kinh độ, vĩ độ
  • map: hiển thị dvhc trên bản đồ Goong.io
  • parser: xác định dvhc từ địa chỉ (xem parser API bên dưới)
  • Parser API:
    • Cách 1: curl https://www.dvhcvn.com/demo/parser/api -d input=hanoi -> chỉ trả về tên các dvhc "Thành phố Hà Nội"
    • Cách 2: curl https://www.dvhcvn.com/demo/parser/api -H 'Content-Type: text/plain' -d hanoi -> trả về thông tin chi tiết
    • Ví dụ: curl https://www.dvhcvn.com/demo/parser/api -H 'Content-Type: text/plain' -d 'trung tu, dong da, ha noi' trả về [{"id":"00226","name":"Trung Tự","type":"Phường"},{"id":"006","name":"Đống Đa","type":"Quận"},{"id":"01","name":"Hà Nội","type":"Thành phố"}]

Nhưng... tại sao?!

Bộ dữ liệu này được tạo ra vì các dự án tương tự trên mạng Internet cung cấp thông tin không đầy đủ hoặc không được cập nhật thường xuyên. Để tránh việc tương tự xảy ra với dự án này, một daily cron sẽ đối chiếu ngày hiệu lực của nghị định mới nhất và ngày cập nhật dữ liệu để cảnh báo qua Telegram group.

Tự tải về

Nếu vì lý do nào đó bạn không muốn dùng dữ liệu có sẵn tại đây và muốn tự tải về trực tiếp từ nguồn, thực hiện các câu lệnh như sau:

git clone https://github.com/daohoangson/dvhcvn.git
cd dvhcvn

# xoá dữ liệu có sẵn
rm -rf ./data/*

# bắt đầu tải
./downloader/download.sh

# chạy các đoạn mã chuyển đổi
./transformers/transform-all.sh

Nguồn tham khảo

  • Tổng cục thống kê https://danhmuchanhchinh.gso.gov.vn
  • Cổng thông tin điện tử chính phủ http://gis.chinhphu.vn
  • https://github.com/linhmtran168/vietnam-gis-crawler
  • https://github.com/madnh/hanhchinhvn

所属分类

源码仓库

使用此插件的项目

暂无相关数据。