Git Product home page Git Product logo

dvhcvn's Introduction

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"
        },
        "..."
      ]
    },
    "..."
  ]

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
  ],
  "..."
}

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", "", "Da Phuoc"],
          ["30340", "Khánh An", "", "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://dvhcvn.vercel.app/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://dvhcvn.vercel.app/demo/parser/api -H 'Content-Type: text/plain' -d hanoi -> trả về thông tin chi tiết
    • Ví dụ: curl https://dvhcvn.vercel.app/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

dvhcvn's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dvhcvn's Issues

Cannot run download.sh

Thank you for your hardwork. I'm trying to run the download.sh but got into these problems:

Tried on Mintty — Cygwin Terminal emulator and got:

Generating data/dvhcvn.json...
./dvhcvn/downloader/download.sh: line 16: data/dvhcvn.json: No such file or directory

Do I need to create this file?

On Unbuntu running under WSL2 I got:

PHP Fatal error:  Uncaught TypeError: simplexml_load_string() expects parameter 1 to be string, bool given in /somepath/geo-service/dvhcvn/downloader/01_gso.gov.vn.php:145
Stack trace:
#0 /somepath/geo-service/dvhcvn/downloader/01_gso.gov.vn.php(145): simplexml_load_string()
#1 /somepath/geo-service/dvhcvn/downloader/01_gso.gov.vn.php(58): _request()
#2 /somepath/geo-service/dvhcvn/downloader/01_gso.gov.vn.php(17): getLevel1()
#3 /somepath/geo-service/dvhcvn/downloader/01_gso.gov.vn.php(170): main()
#4 {main}
  thrown in /somepath/geo-service/dvhcvn/downloader/01_gso.

thiếu thông tin

Cuối năm 2019, huyện Lý Sơn có 3 đơn vị hành chính trực thuộc, gồm các xã: An Bình, An Vĩnh và An Hải.

mình chưa kiểm tra hết, ko rõ ngoài 3 xã trên còn thiếu gì ko

Postal Code: data is not up-to-date

https://github.com/daohoangson/dvhcvn/blob/master/data/sorted.json
I know this is WIP #7

However, the source of data may not be correct?

For example: 50408 is for P. Phước Mỹ - Sơn Trà - Đà Nẵng.
Source: http://dmdc.ngsp.gov.vn/WebPortal/Detail?CategoryId=85e7cbfa-40ed-4379-b010-943a31e5c898&ValueId=ac43ba8c-63f0-4bd3-948b-ff4ce19a15d4&ParrentPageRedirect=1&PageIndex=0

Another source: http://mabuuchinh.vn/default.aspx?page=SearchMBC

sorted.json file above is showing:

                    ["20275", "Phước Mỹ", "Phường", "Phuoc My"],

Bản đồ hành chính của các tỉnh thành

Mình muốn xin dữ liệu để tạo một file geojson đơn vị hành chính của 1 tỉnh, thành phố cụ thể như Hà Nội, Hồ Chí Minh thì làm như thế nào?
Cảm ơn các bạn.

Thiếu một số địa danh

Mình có hiển thị tất cả các địa phận trong /data/gisthấy thiếu một số đơn vị sau:

  1. Cao bằng:
  • Huyện Thông Nông
  • Huyện Trà Lĩnh
  • Huyện Phục Hoà
  1. Hoà Bình:
  • Huyện Kỳ Sơn
  1. Quảng Ninh:
  • TP Hạ Long
  1. Quảng Ngãi:
  • Huyện Tây Trà
  1. Đắk Lắk:
  • Huyện M'Đrắk ( Thiếu xã Cư K Roá )
  1. Thành phố Hồ Chí Minh:
  • Huyện Cần Giờ ( Thiếu xã Thạch An )
  • Quận 9

Data base địa chỉ việtnam

Chào bác.
Cho mình hỏi bác có database toàn bộ địa chỉ ở việtnam kg? mình muốn viết một cái autocomplete nhập địa chỉ nó trả danh sách địa chỉ và tọa độ.

Missing a lot of administrative units

Hi,

I find there are a lot of administrative units (e.g., Thị trấn Hòa Thành/Hòa Thành/Tây Ninh, Tân Thành/Bà Rịa - Vũng Tàu,...) not existing in data folder.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.