2013-06-24 29 views
18

Tôi cần đường dẫn được định dạng geoJSON cho các tiểu bang, tỉnh và vùng trong nhiều quốc gia. Dữ liệu geoJSON sẵn có nhất là dành cho các quốc gia Hoa Kỳ và ranh giới cấp quốc gia, không phải các vùng trong quốc gia. GeoJSON này sẽ được sử dụng để tạo hình ảnh địa lý bằng cách sử dụng D3.js.Tôi làm cách nào để lấy dữ liệu geoJSON cho các tiểu bang, tỉnh và khu vực hành chính của các quốc gia không thuộc Hoa Kỳ?

+0

www.boundaries-io.com cho ranh giới GeoJson. –

Trả lời

16

Có một writeup tốt về làm thế nào để tạo ra GeoJSON từ shapefile đây
http://vallandingham.me/shapefile_to_geojson.html

Các bước dưới đây sẽ đưa bạn từ đầu đến cuối:

  1. Cài đặt Quantum GIS khuôn khổ http://www.qgis.org/e/qgis.
    Nếu bạn đang ở trên Mac OS X, bạn có thể sử dụng phiên bản này http://www.kyngchaos.com/software
    này sẽ cung cấp cho bạn những tiện ích ogr2ogr sử dụng để chuyển đổi các shapefile để GeoJSON

  2. Tải shapefile cho đất nước của mình từ đây http://www.gadm.org/country và giải nén

  3. Đối với Canada và có thể là các quốc gia khác, shapefile có hậu tố 0 là quốc gia và hậu tố 1 là dành cho các khu vực nội bộ. Không chắc chắn nếu đặt tên này là nhất quán giữa các quốc gia.

  4. Tải lên shapefile cấp vùng để MapShaper http://mapshaper.com/test/MapShaper.swf
    Bạn có thể bỏ qua bước này nếu bạn không quan tâm để tối ưu hóa kích thước của kết quả của bạn GeoJSON

  5. Đặt 'đơn giản hóa cấp thanh trượt trong MapShaper đến mức mong muốn và xuất shapefile đơn giản thành 'Shapefile - Polygons'

  6. Tải xuống tệp .shp và .shx vào thư mục cục bộ nơi bạn giải nén các tệp gốc shapefiiles, thay thế tệp gốc bằng các tệp đơn giản.

  7. Điều hướng đến thư mục cục bộ và chạy lệnh dưới đây, thay thế <shapefile> với tên thực tế của shapefile bạn muốn chuyển đổi.

    ogr2ogr -f GeoJSON regions.json <shapefile> .shp

Bây giờ bạn sẽ có vùng cho đất nước của bạn ở định dạng GeoJSON. Kiểm tra để đảm bảo có các đường dẫn được định nghĩa trong regions.json và các trường thuộc tính đã được duy trì (ví dụ tên vùng).

3

Gần đây tôi cũng đang tìm kiếm điều tương tự. Có một tài khoản github cung cấp geojson cho mọi quốc gia trên thế giới, thật không may, nó xuất hiện ở định dạng UTM mà D3 không hỗ trợ, vì vậy nếu bạn sẵn sàng sàng lọc chúng và chuyển đổi từng cái một thành wgs84 hoặc có hoặc sẵn sàng viết một chương trình mà, đây là liên kết: https://github.com/johan/world.geo.json

+1

Đó là tài nguyên hữu ích nhưng chỉ bao gồm đường dẫn cho ranh giới quốc gia. Các bước trong câu trả lời ở trên cho phép bạn tạo geoJSON cho các vùng trong một quốc gia. – beauburrier

+0

Tôi đoán, nó cũng khá tốt cho Hoa Kỳ, nó chia nó thành các tiểu bang và hạt, trong thư mục Hoa Kỳ. – Amre

31

Quá trình này bây giờ đã được đơn giản hóa (tháng 7 năm 2014) so ​​với các bước tôi thấy trong câu trả lời được chấp nhận. Nó bây giờ có vẻ dễ dàng hơn nhiều để có được dữ liệu này.Lúc đầu tôi lúng túng trên web với hy vọng tôi có thể tải xuống một loạt các bản đồ tiêu chuẩn ở định dạng GeoJSON, nhưng lại không có gì khác ngoài các dịch vụ tiêu chuẩn của Hoa Kỳ/Canada. Tính đến thời điểm hiện tại, dường như không có sẵn nhiều ở GeoJSON. Thay vào đó, bạn sử dụng định dạng cũ hơn, được sử dụng rộng rãi để tạo GeoJSON. Điều này là dễ dàng, và một con đường tốt để có. Chúng tôi sẽ làm việc với các tệp hình dạng và chuyển đổi chúng thành GeoJSON.

  1. Lần đầu tiên tải xuống tệp hình dạng cho khu vực địa lý bạn quan tâm. Một shapefile là định dạng lưu trữ vector kỹ thuật số để lưu trữ vị trí hình học và thông tin thuộc tính liên quan. (http://en.wikipedia.org/wiki/Shapefile)

    Có rất nhiều nguồn trong số này. Đây là những nguồn tôi thấy hữu ích:

    GADM - Tải xuống dữ liệu theo quốc gia hoặc một tệp khổng lồ cho thế giới. Mỗi tệp zip bạn tải xuống có nhiều tệp hình dạng bên trong bắt đầu từ số 0 và tăng lên. Con số càng cao thì mức chi tiết càng cao. Giống như nước, tiểu bang, quận hạt, vv (http://www.gadm.org/country)

    Một trang web tải về (http://www.naturalearthdata.com/downloads/)

    Tải Ngoại Giao Hoa Kỳ, dữ liệu County, Sub-County như thúc đẩy bởi Cục điều tra dân số - http://census.ire.org/data/bulkdata.html

  2. Khi bạn có tệp hình dạng của mình, kéo và thả tệp đó vào trang web tại http://www.mapshaper.org. Tại đây bạn có thể kéo thanh trượt để thay đổi độ phân giải của vectơ. Kinh nghiệm của tôi là độ phân giải 10% trông vẫn tuyệt vời cho bản đồ web, 25% đã gần hoàn hảo. Kích thước tệp đã giảm đáng kể, vì vậy tôi khuyên bạn nên sử dụng nó. Bản đồ Massachusetts của tôi đã chuyển từ 800kb dữ liệu GeoJSON xuống 80kb sau khi giảm độ phân giải.

  3. Nhấp vào nút GeoJSON trên bản đồ và tệp được tự động xuất cho bạn.

Tùy chọn - Một khi bạn có một tập tin hình dạng, bạn có thể chỉnh sửa nó cho miễn phí trong một công cụ như Quantum GIS (QGIS).

Bạn cũng có thể vẽ bản đồ dữ liệu GeoJSON trên trang web này. http://geojson.io/#map=2/20.0/0.0

3

Tìm thấy một nơi để tải xuống geojson: geojson-maps.kyd.com.au sử dụng dữ liệu từ Natural Earth.

these maps từ Highcharts. Điều này phù hợp với câu hỏi tốt nhất.

+1

Các bản đồ do Highcharts cung cấp dường như không hoạt động ngoài hộp với các phần mềm chấp nhận GeoJSON khác. Tôi đoán đó là do hình dạng chuyển đổi được mã hóa trong thuộc tính sở hữu 'hc-transform' độc quyền. –