Chỗ lấy dữ liệu bản đồ
gis
1
White

Hoàng Duy viết ngày 27/11/2015

Việc hôm nay là vẽ một cái bản đồ thế giới còn Việt Nam thì thể hiện chi tiết ở mức tỉnh. Thật ra dùng google maps vẽ một cái bản đồ thì quá đơn giản. Nhưng cái bản đồ này dùng để visualize data mà cho cái google map vào thì trông noob quá. Thế là phải đi lần mò tìm cách vẽ bản đồ, có rất nhiều công cụ cho việc vẽ bản đồ, d3 chẳng hạn. Tuy nhiên vấn đề lại quay về việc lấy dữ liệu ở đâu ra mà vẽ. Mình thì không thông thuộc lắm việc này, chả nhẽ lại gọi cục bản đồ =)). Cuối cùng lần mò một hồi thì tìm ra cái trang này

http://www.naturalearthdata.com/downloads/

Có đủ dữ liệu rất chi tiết. Tuy nhiên dữ liệu của nó ở dạng file project của ArcGIS, rất là nặng. May sao chúng ta có tool để convert thành geojson, đó là gdal. Đối với các bác dùng Mac, đơn giản dùng brew để cài

brew install gdal

Còn linux, add repo của ubuntu gis. Thế nhưng repo này chưa thấy có gói cho 15.10. May sao mình lên chợ ứng dụng tìm được anh QGis, cài anh này xong có luôn bộ utilities cần thiết.

Cài xong, check thử

$ which ogr2ogr
/usr/bin/ogr2ogr

OK rồi. Bây giờ kéo gói dữ liệu về. Lưu ý các bác phải chọn các gói cùng tỉ lệ. Ở đây em chọn gói 1:10m. Vào xem và kéo các gói.

UPDATE: em xem lại các gói khác thì mỗi gói ở độ chi tiết này có đủ các tỉnh việt nam các bác ạ :smile:

Tiếp theo là giải nén và tách lấy thứ mình cần.

Chuyển admin0 thành geojson:

ogr2ogr -f GeoJSON countries.json ne_10m_admin_0_countries_lakes.shp 

Chuyển admin1 thành geojson, chỉ tách lấy Việt Nam.

ogr2ogr -f GeoJSON -where "ADM0_A3 IN ('VNM')" provinces.json ne_10m_admin_1_states_provinces.shp 

Sau đó merge 2 file thành một file geojson cho gọn, cũng có tool luôn: merge-geojson. Cài quá đơn giản nhìn là biết.

geojson-merge countries.json provinces.json  > vn.geojson 

Sau đó mở bằng mapbox studio ra coi thử, ahihi :smile:

https://github.com/mahpah/geodatahub/blob/master/vn.geojson

alt text

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Hoàng Duy

24 bài viết.
61 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
40 8
Xin chào, đây là lần đầu tiên mình post bài ở đây. Nhiều vấn đề mình cũng không rành lắm, có gì sai mọi người góp ý nhé. Xin cảm ơn :D Bài này gi...
Hoàng Duy viết 3 năm trước
40 8
White
30 3
Đây là một trong các concept mới đối tượng mới được đưa vào ECMAScript 6. Việc sử dụng chúng rất dễ nhưng để hiểu được thì (đối với tôi) cũng cần k...
Hoàng Duy viết 3 năm trước
30 3
White
27 8
Lâu không post gì muốn viết một bài dài dài về js cơ mà đau đầu quá viết mãi không xong, thôi post bài ngắn vậy :smiley: Lấy screen size ở đây tôi...
Hoàng Duy viết gần 3 năm trước
27 8
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
24 bài viết.
61 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!