{"id":17488649,"url":"https://github.com/daohoangson/dvhcvn","last_synced_at":"2025-04-15T03:50:16.462Z","repository":{"id":41977513,"uuid":"215605616","full_name":"daohoangson/dvhcvn","owner":"daohoangson","description":"Bộ dữ liệu các đơn vị hành chính Việt Nam (3 cấp)","archived":false,"fork":false,"pushed_at":"2025-04-05T02:56:53.000Z","size":27492,"stargazers_count":286,"open_issues_count":19,"forks_count":84,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-07T18:08:09.634Z","etag":null,"topics":["cities","districts","gis","json","provinces","vietnam"],"latest_commit_sha":null,"homepage":"https://dvhcvn.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daohoangson.png","metadata":{"files":{"readme":"README.md","changelog":"history/.gitignore","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-16T17:27:46.000Z","updated_at":"2025-04-01T04:29:46.000Z","dependencies_parsed_at":"2024-01-30T04:26:26.546Z","dependency_job_id":"b4694fab-02f4-4dcb-8ffe-bec9c0f88d1d","html_url":"https://github.com/daohoangson/dvhcvn","commit_stats":{"total_commits":106,"total_committers":4,"mean_commits":26.5,"dds":"0.42452830188679247","last_synced_commit":"ea7785c5ec3e4d8f2fc0da604c27c5a8701bbf64"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daohoangson%2Fdvhcvn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daohoangson%2Fdvhcvn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daohoangson%2Fdvhcvn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daohoangson%2Fdvhcvn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daohoangson","download_url":"https://codeload.github.com/daohoangson/dvhcvn/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249003944,"owners_count":21196794,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cities","districts","gis","json","provinces","vietnam"],"created_at":"2024-10-19T04:08:44.273Z","updated_at":"2025-04-15T03:50:16.447Z","avatar_url":"https://github.com/daohoangson.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Các đơn vị hành chính Việt Nam\n\nDữ liệu được cập nhật từ trang [Danh mục hành chính](https://danhmuchanhchinh.gso.gov.vn/) của Tổng cục thống kê và [Hệ thống bản đồ hành chính](http://gis.chinhphu.vn) của Cổng thông tin điện tử Chính phủ.\n\n## Các tập dữ liệu\n\n### dvhcvn.json\n\nThông tin 3 cấp đơn vị hành chính trả về từ [web service của TCTK](https://danhmuchanhchinh.gso.gov.vn/DMDVHC.asmx):\n\n- Tỉnh thành:\n  - `level1_id`\n  - `name`\n  - `type`: Thành phố Trung ương | Tỉnh\n  - `level2s`\n- Quận huyện\n  - `level2_id`\n  - `name`\n  - `type`: Quận | Huyện | Thành phố | Thị xã\n  - `level3s`\n- Phường xã\n  - `level3_id`\n  - `name`\n  - `type`: Phường | Xã | Thị trấn\n\nVí dụ:\n\n```json\n{\n  \"level1_id\": \"56\",\n  \"name\": \"Tỉnh Khánh Hòa\",\n  \"type\": \"Tỉnh\",\n  \"level2s\": [\n    {\n      \"level2_id\": \"568\",\n      \"name\": \"Thành phố Nha Trang\",\n      \"type\": \"Thành phố\",\n      \"level3s\": [\n        {\n          \"level3_id\": \"22363\",\n          \"name\": \"Phường Lộc Thọ\",\n          \"type\": \"Phường\"\n        },\n        \"...\"\n      ]\n    },\n    \"...\"\n  ]\n```\n\n### [gis/\\*.json](/data/gis/)\n\nThông tin địa giới trích xuất từ [Hệ thống bản đồ hành chính](http://gis.chinhphu.vn) cho 2 cấp: tỉnh thành và quận huyện.\n\n#### \u003clevel1_id\u003e.json\n\nDo nhiều dữ liệu nên mỗi tỉnh thành được tách ra một tập riêng.\nTrong đó, mỗi đơn vị hành chính (tỉnh thành hoặc quận huyện) có các thông tin:\n\n- `coordinates`\n- `bbox`\n- `type`: MultiPolygon | Polygon\n\nVí dụ [tập dữ liệu của Khánh Hoà](/data/gis/56.json), có nội dung như sau:\n\n```json\n{\n  \"level1_id\": \"56\",\n  \"name\": \"Tỉnh Khánh Hòa\",\n  \"level2s\": [\n    {\n      \"level2_id\": \"568\",\n      \"name\": \"Thành phố Nha Trang\",\n      \"coordinates\": [\n        [\n          [[109.317273127, 12.1642742720001], \"... (khoảng 30 cặp toạ độ)\"],\n          \"... (khoảng 10 đa giác)\"\n        ]\n      ],\n      \"bbox\": [109.110859607, 12.141705888, 109.370714452, 12.3798137530001],\n      \"type\": \"MultiPolygon\"\n    },\n    \"...\"\n  ],\n  \"coordinates\": [\"... (khoảng 50 đa giác)\"],\n  \"bbox\": [108.669676534, 7.89146445900019, 115.836420367, 12.86823071],\n  \"type\": \"MultiPolygon\"\n}\n```\n\n#### level1s_bbox.json\n\nRiêng dữ liệu `bbox` của tỉnh thành được lưu riêng với nội dung như sau:\n\n```json\n{\n  \"01\": [\n    105.28500419,\n    20.5642508770001,\n    106.020154616,\n    21.3855144820001\n  ],\n  \"...\"\n}\n```\n\n### [sorted.json](/data/sorted.json)\n\nThông tin 3 cấp đơn vị hành chính đã được sắp xếp theo tên riêng.\nĐể 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:\n\n0. Mã đơn vị\n1. Tên riêng\n2. Tiền tố\n3. Tên riêng không dấu\n4. Các đơn vị trực thuộc\n\nVí dụ:\n\n```json\n[\n  [\n    \"89\", \"An Giang\", \"Tỉnh\", \"An Giang\",\n    [\n      [\n        \"886\", \"An Phú\", \"Huyện\", \"An Phu\",\n        [\n          [\"30337\", \"An Phú\", \"Thị trấn\", \"An Phu\"],\n          [\"30373\", \"Đa Phước\", \"Xã\", \"Da Phuoc\"],\n          [\"30340\", \"Khánh An\", \"Xã\", \"Khanh An\"],\n          \"...\"\n        ]\n      ],\n      \"...\"\n    ]\n  ],\n  \"...\"\n]\n```\n\n## Thư viện hỗ trợ\n\n- Dart [pub.dev](https://pub.dev/packages/dvhcvn)\n- JavaScript [npm](https://www.npmjs.com/package/dvhcvn)\n\n## Demo\n\n- [geolocation](https://dvhcvn.vercel.app/demo/geolocation.html): xác định dvhc từ kinh độ, vĩ độ\n- [map](https://dvhcvn.vercel.app/demo/map.html): hiển thị dvhc trên bản đồ [Goong.io](https://goong.io)\n- [parser](https://dvhcvn.vercel.app/demo/parser.html): xác định dvhc từ địa chỉ (xem parser API bên dưới)\n- [parser API](https://dvhcvn.vercel.app/demo/parser/api):\n  - Cách 1: `curl https://dvhcvn.vercel.app/demo/parser/api -d input=hanoi` -\u003e chỉ trả về tên các dvhc \"**Thành phố Hà Nội**\"\n  - Cách 2: `curl https://dvhcvn.vercel.app/demo/parser/api -H 'Content-Type: text/plain' -d hanoi` -\u003e trả về thông tin chi tiết\n  - 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ố\"}]`\n\n## Nhưng... tại sao?!\n\nBộ 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.\nĐể tránh việc tương tự xảy ra với dự án này, một [daily cron](/firebase/functions/src/cron.ts) sẽ đối chiếu ngày hiệu lực của [nghị định mới nhất](https://danhmuchanhchinh.gso.gov.vn/NghiDinh.aspx) và ngày cập nhật dữ liệu để cảnh báo qua [Telegram group](https://t.me/dvhcvn).\n\n## Tự tải về\n\nNế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:\n\n```bash\ngit clone https://github.com/daohoangson/dvhcvn.git\ncd dvhcvn\n\n# xoá dữ liệu có sẵn\nrm -rf ./data/*\n\n# bắt đầu tải\n./downloader/download.sh\n\n# chạy các đoạn mã chuyển đổi\n./transformers/transform-all.sh\n```\n\n## Nguồn tham khảo\n\n- Tổng cục thống kê https://danhmuchanhchinh.gso.gov.vn\n- Cổng thông tin điện tử chính phủ http://gis.chinhphu.vn\n- https://github.com/linhmtran168/vietnam-gis-crawler\n- https://github.com/madnh/hanhchinhvn\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaohoangson%2Fdvhcvn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaohoangson%2Fdvhcvn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaohoangson%2Fdvhcvn/lists"}