2014-11-28 14 views
6

Tôi là người mới bắt đầu lập trình và trở nên khá bối rối khi cố gắng sử dụng các thư viện bên ngoài. Tôi có bản đồ của tôi trong shapefiles mà tôi chuyển đổi sang GeoJSON bằng cách sử dụng trang web Mapshaper.org, và chỉ sau đó tôi có thể đọc bản đồ từ ứng dụng Java của tôi.Cách chạy GDAL (ogr2ogr) trong Java để chuyển đổi Shapefiles thành GeoJSON

tôi muốn người dùng có thể nhập một shapefile trực tiếp vì vậy tôi phát hiện ra về GDAL ogr2ogrJava bindings, và có thể làm chuyển đổi này với một lệnh duy nhất như:

$ ogr2ogr -f GeoJSON -t_srs crs:84 [name].geojson [name].shp

nhưng tôi không có ý tưởng làm thế nào để sử dụng điều này từ chương trình của tôi.

Ai đó có thể cung cấp cho tôi ví dụ về cách triển khai tính năng này không? Tôi nên nhập GDAL vào dự án của mình như thế nào? Tôi đang sử dụng LibGDX nếu đó là sự giúp đỡ nào. Cuối cùng, tất cả những gì tôi cần là một cách để chuyển đổi shapefile sang GeoJSON trực tiếp trên ứng dụng của tôi để người dùng có thể tự thêm bản đồ mới, vì vậy mọi đề xuất đều được chào đón.

Cảm ơn bạn rất nhiều!

+0

Xem http://commons.apache.org/proper/commons-exec/tutorial.html –

+0

Tôi đang tìm kiếm mạnh mẽ cho câu trả lời cho câu hỏi này ... 1 ... –

+0

thể bạn finde một giải pháp cho điều đó? – Selphiron

Trả lời

5

Trước tiên, bạn cần cài đặt Java Bindings (xem here ở dưới cùng). Tải xuống ogr2ogr.java từ here (cuộn xuống -> tải xuống định dạng gốc -> đặt nó vào thư mục dự án của bạn). Hơn là nó khá dễ dàng. Bạn chỉ cần gọi phương thức chính của ogr2ogr.java. ogr2ogr -f GeoJSON -t_srs crs:84 [name].geojson [name].shp:

String[] cmd = {"-t_srs", "CRS:84", "-f", "GeoJSON","[name].geojson","[name].shp"}; 

ogr2ogr.main(cmd); 
Các vấn đề liên quan