Làm thế nào để xây dựng máy chủ gạch từ dữ liệu Openstreetmap cho người mới bắt đầu?


11

Tôi là người mới bắt đầu tại GIS và tôi đang phát triển Ứng dụng Java cần bản đồ. (Bản đồ đặc biệt chỉ là một thành phố ở Philippines.) Tôi đã nghiên cứu về các cách khác nhau để làm điều này và tôi thấy rằng tôi sẽ cần một máy chủ gạch để đặt bản đồ vì tôi cần có thể truy cập vào mà không cần kết nối internet. Tôi là người mới bắt đầu và hầu hết các hướng dẫn tôi đã thấy đều phức tạp và có các bước mà tôi chưa biết cách thực hiện. Có ai biết bất kỳ hướng dẫn nào hoặc có thể giúp tôi bắt đầu tạo máy chủ gạch xem xét rằng tôi là người mới bắt đầu không?


Nó có phải ở trong Java không?
RK

Câu trả lời:


9

Có một trang web rất tốt cho người mới bắt đầu về thế giới OpenStreetMap tập trung vào những người đến từ các dịch vụ bản đồ khác có thể phù hợp với câu hỏi của bạn: http://switch2osm.org/serving-tiles/

Nhưng nếu bạn muốn tạo một số ô xếp để được phục vụ ngoại tuyến, chẳng hạn như http://www.maptiler.org/ nhưng nó tập trung vào dữ liệu raster.

Nếu tôi phải làm điều này, có lẽ tôi sẽ xem trên TileMill để tạo thiết kế và tạo tệp MBTiles và sau đó chuyển đổi nó thành cấu trúc tệp TMS để sử dụng bởi OpenLayers hoặc Leaflet trong chế độ ngoại tuyến.

Vâng, nó khá phức tạp và nhiều thứ mới (nhưng thú vị!), Xin lỗi.


Xin chào, cảm ơn bạn đã trả lời. Nếu tôi đã tải xuống tất cả các ô mà tôi cần, làm cách nào tôi có thể sử dụng chúng để được ánh xạ trong Ứng dụng Java của mình? Xin lỗi tôi là người mới bắt đầu ở đây. Bản đồ sẽ chỉ ngoại tuyến. Tôi đã sử dụng thư viện Geotools để đặt bản đồ vào Ứng dụng Java của mình nhưng nó chỉ bao gồm các shapefiles. Đó là lý do tại sao tôi đã nghĩ về một máy chủ gạch nhưng một máy chủ ngoại tuyến.
meebee

Tôi không biết nếu có trình điều khiển tại GeoTools cho cấu trúc TMS, tôi sẽ đăng một câu hỏi mới với một mô tả chính xác hơn để mọi người có thể chỉ cho bạn rõ hơn.
Jorge Sanz

4

Đối với một thành phố duy nhất, Tilemill và Ngăn kéo Ngói là hai lựa chọn tuyệt vời: http://switch2osm.org/serving-tiles/USE-an-all-in-one-solution/

Tilemill sẽ giúp bạn có tệp '.mbtiles', cơ sở dữ liệu SQLite3 chứa tất cả các ô hiển thị của bạn. Bạn cũng sẽ cần phát triển một biểu định kiểu tùy chỉnh cho dữ liệu.

Ngăn kéo về cơ bản sẽ làm mọi thứ cho bạn, dẫn đến một máy chủ EC2 mà bạn có thể sử dụng để thực hiện kết xuất thực tế các ô của mình. Nếu bạn ssh vào máy chủ đó và chạy tilestache-seed.py cho khu vực của bạn, bạn có thể lấy ra một thư mục chứa đầy các hình ảnh gạch được kết xuất sẵn có thể được sao chép đến bất cứ nơi nào bạn cần.


2

Vì bạn là người mới bắt đầu, tôi khuyên bạn nên sử dụng OpenGeo Suite. Nó đi kèm với GeoServer (máy chủ bản đồ) và PostGIS (cơ sở dữ liệu không gian). Đây là một gói tích hợp nên bạn sẽ không phải lo lắng về việc tích hợp. Tôi khuyên bạn nên thực hiện các hướng dẫn trước và khi bạn đủ tự tin, hãy thử dữ liệu của riêng bạn hoặc dữ liệu OSM . Nó có một trình tải tập tin hình dạng nên không quá khó. Chúc may mắn :)


2

Nếu tôi hiểu chính xác, bạn muốn đặt các ô trên cùng một máy tính mà ứng dụng Java của bạn sẽ chạy. Trong trường hợp đó, bạn không thực sự cần một máy chủ Web lát, bạn chỉ cần chuẩn bị HTML bản đồ Web của mình và đặt nó vào một đĩa cục bộ cùng với các ô bản đồ. Sau đó, bạn có thể truy cập nó bằng cách sử dụng lược đồ URI tệp .

Một cách khá dễ dàng để tạo các ô sẽ là làm theo " Hướng dẫn mô hình: Bản đồ web đi bộ trong mười bước dễ dàng ".


Xin chào, cảm ơn bạn đã trả lời. Nếu tôi đã tải xuống tất cả các ô mà tôi cần, làm cách nào tôi có thể sử dụng chúng để được ánh xạ trong Ứng dụng Java của mình? Xin lỗi tôi là người mới bắt đầu ở đây. Bản đồ sẽ chỉ ngoại tuyến. Tôi đã sử dụng thư viện Geotools để đặt bản đồ vào Ứng dụng Java của mình nhưng nó chỉ bao gồm các shapefiles. Đó là lý do tại sao tôi đã nghĩ về một máy chủ gạch nhưng một máy chủ ngoại tuyến.
meebee

Tôi không thể giúp bạn nhiều với Java và nó cũng phụ thuộc rất nhiều vào những gì bạn cần làm với bản đồ. Bạn có thể xem mã nguồn của JOSM, đó là ứng dụng ánh xạ OSM nguồn mở được viết bằng Java.
Igor Brejc
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.