Chuyển đổi Shapefiles sang GeoJSON?


19

Tôi đang cố gắng chuyển đổi Shapefiles từ trang web của Tiểu bang Thượng viện Texas thành tệp GeoJSON để sử dụng với Google Maps API. Tôi đang sử dụng QGIS để tạo điều kiện nhưng tôi không thể thực hiện đúng phép chiếu / tọa độ. Cho đến nay tôi đã dùng thử Google Mercator (EPSG: 900913) và WGS 84 (EPSG: 4326) nhưng không có may mắn. Tôi đang sử dụng OpenLayers để xác minh kết quả và nó tiếp tục đặt Texas gần Vịnh Guinea (0 lat, 0 lng).

Câu trả lời:


23

Không có vấn đề gì khi tải shapefile có thể tải xuống trực tiếp vào QGIS.

Dữ liệu nằm trong EPSG: 3081, tốt hơn hết bạn nên để nguyên như vậy. Google API mong đợi các giá trị latlong, vì vậy CRS mục tiêu phải là EPSG: 4326.

Chỉ cần nhấp chuột phải vào lớp -> Lưu dưới dạng ... để chọn loại tệp GeoJSON, tên tệp khác và EPSG: 4326 làm CRS mới. Bạn có thể thêm kết quả vào khung vẽ để xem chúng căn chỉnh ( On-the-fly-reprojectionđược chọn).


có cách nào để "lưu dưới dạng" với nhiều lớp không?
chrismarx

Không, mỗi tệp cần một tên tệp đích khác nhau. Bạn có thể sử dụng ogr2ogr trên dòng lệnh để xử lý hàng loạt.
AndreJ

có vẻ như có thể hỗ trợ xử lý hàng loạt, hỗ trợ những thứ như mặc định hợp lý cho việc đặt tên tệp tự động có thể được sử dụng để chỉ gửi các tệp kết quả vào một thư mục
chrismarx

6

Dưới đây là công cụ chuyển đổi cho shapefile thành Geojson thông qua trình duyệt web mà không cần mã phía máy chủ và hỗ trợ mã hóa không phải tiếng Anh, chỉ cần tải lên tệp zip và đặt mã hóa cho văn bản chính xác.

https://github.com/gipong/shp2geojson.js

Nếu bạn sử dụng thư viện này với Google Map api v3, bạn có thể bỏ qua trường mã EPSG vì tệp tải xuống ZIP (PlanS172.zip) của trang web Tiểu bang Texas Thượng viện có chứa tệp .prj.

loadshp({
    url: '/shp/PlanS172.zip', // path or your upload file
    encoding: 'big5' // default utf-8
}, function(geojson) {
    // geojson returned
});

nhập mô tả hình ảnh ở đây


5

Qua dòng lệnh:

ogr2ogr -f GeoJSON -t_srs crs:84 output.geojson input.shp

Tôi đoán đây là những gì khách hàng web từ câu trả lời này sử dụng.


Chỉ cần thử nghiệm. Hành vi tốt hơn so với QGIS khi nói đến mức tiêu thụ RAM!
Ikar Pohorský


-2

GeoJSON dựa trên Ký hiệu đối tượng JavaScript. Ở đây trong bài đăng này, bạn có thể khám phá các phương pháp khác nhau để chuyển đổi các shapefiles trực tuyến hoặc ngoại tuyến hoặc với sự trợ giúp của API mà bạn có thể sử dụng. Vì vậy, hãy kiểm tra bài đăng này để chuyển đổi shapefiles thành các tệp GeoJSON để sử dụng trong bản đồ google.

Các cách khác nhau để chuyển đổi Shapefile sang GeoJSON - Trực tuyến hoặc ngoại tuyến hoặc API


2
Liên kết đến các tài nguyên bên ngoài được khuyến khích, nhưng vui lòng thêm ngữ cảnh xung quanh liên kết để người dùng đồng nghiệp của bạn sẽ có một số ý tưởng về nó là gì và tại sao nó ở đó. Luôn trích dẫn phần có liên quan nhất của một liên kết quan trọng, trong trường hợp trang đích không thể truy cập được hoặc ngoại tuyến vĩnh viễn.
ArMoraer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.