Geoserver hỗ trợ proxy dịch vụ ốp lát khác?


8

Tôi muốn sử dụng một máy chủ trung tâm để cung cấp một vị trí chung cho tất cả các tài nguyên hình ảnh / ánh xạ của chúng tôi. Dữ liệu của chúng tôi chủ yếu ở dạng địa lý với nhiều lớp cơ sở từ nhiều nguồn khác nhau trên web.

Geoserver, được cung cấp một bộ các trình duyệt địa lý, thực hiện tốt công việc phục vụ các ô xếp (thông qua WMTS hoặc TMS). Tuy nhiên, tôi không biết cách dễ dàng ủy quyền các nguồn dữ liệu bên ngoài khác như các lớp cơ sở mẫu từ http://service.arcgisonline.com/ArcGIS/rest/service . Thật không may, có vẻ như nhiều dịch vụ không triển khai lớp WMS (hoặc không công khai). Hiện tại chúng tôi có logic trong ứng dụng của mình cho các trường hợp đặc biệt là các dịch vụ web khác nhau nhưng đó là một chút hack. Lý tưởng nhất là tôi muốn trình bày một giao diện dịch vụ web phổ biến cho tất cả các nhà cung cấp ốp lát của chúng tôi. Điều này sẽ cho phép các máy khách WMS như các ứng dụng gió thế giới "chỉ hoạt động".

Suy nghĩ duy nhất của tôi bây giờ là xây dựng một dịch vụ web python nhỏ sẽ hiển thị danh sách các khả năng thông qua WMS và sau đó thêm dịch vụ này vào máy chủ địa lý như một cửa hàng WMS xếp tầng. Điều này có vẻ như rất nhiều công việc chỉ đơn giản là phục vụ các URL của bản đồ.

Tôi tò mò liệu vấn đề này đã được giải quyết trước đây hay nếu có một giải pháp dễ dàng hơn.

Cảm ơn!

Câu trả lời:


7

Bạn có thể muốn kiểm tra MapProxy . Nó là một proxy nguồn mở cho dữ liệu không gian địa lý. Nó lưu trữ, tăng tốc và chuyển đổi dữ liệu từ các dịch vụ bản đồ hiện có và phục vụ bất kỳ máy khách GIS trên máy tính để bàn hoặc web nào.

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

Nó đọc dữ liệu từ:

  • Nguồn WMS (1.0.0 mộc1.3.0)
  • Nguồn TMS / WMTS Cấu hình Maperver và Mapnik
  • bất kỳ nguồn tương thích nào của TileCache, Google Maps hoặc Bing

Nó cũng có thể

  • dữ liệu bộ đệm trên hệ thống tệp, dưới dạng MBTiles hoặc bên trong CouchDB
  • chuyển hướng nguồn WMS sang SRS khác
  • lưu trữ hình ảnh giống hệt nhau chỉ một lần (ví dụ: gạch đại dương)
  • watermark nhúng trong gạch
  • hợp nhất nhiều nguồn
  • giới hạn nguồn cho các khu vực đa giác

MapProxy cũng là một máy chủ WMS tuân thủ đầy đủ và hỗ trợ mọi máy khách WMS (máy tính để bàn và web). Nó hỗ trợ các phản hồi WMS từ dữ liệu được lưu trong bộ nhớ cache:

  • hợp nhất gạch và tỷ lệ hoặc phản chiếu hình ảnh
  • tăng tốc WMS hiện tại 10 đến 100 lần

và xếp tầng dịch vụ WMS:

  • yêu cầu đa luồng
  • hợp nhất nhiều nguồn
  • thêm độ trong suốt cho các lớp mờ
  • khiển trách khi đang bay

Nó cũng hỗ trợ kết hợp các lớp được lưu trữ và xếp tầng:

  • đáp ứng yêu cầu của GetLegendGpson
  • ghép các yêu cầu GetFeatureInfo với các phép biến đổi XSL tùy chọn
  • giới hạn nguồn cho các khu vực đa giác
  • chuyển đổi các phiên bản WMS và định dạng hình ảnh
  • hỗ trợ dữ liệu raster không hình ảnh như DEM

Bạn cũng có thể tạo trước bộ đệm gạch để có hiệu suất tốt hơn.

Nó cũng đi kèm với API ủy quyền linh hoạt cho phép bạn thêm quyền kiểm soát chi tiết đối với các dịch vụ và lớp.


2
Đây là câu trả lời tốt nhất cho câu hỏi, nhưng nên được đưa ra với khuyến nghị rằng bạn không bao giờ nên làm điều này trên các dịch vụ bên ngoài mà bạn không kiểm soát - ít nhất đó là một cơn ác mộng về hiệu suất, và điển hình hơn là nó chống lại các điều khoản dịch vụ và sẽ dẫn đến dịch vụ của bạn bị đình chỉ.
tmcw

0

Việc bạn tạo ra một nút cổ chai bằng cách ủy quyền các dịch vụ bên ngoài thông qua máy chủ của bạn. Cũng sẽ làm chậm hiệu suất của bản đồ web của bạn bằng cách buộc một máy chủ xử lý tất cả các yêu cầu.

Lý do duy nhất tôi có thể thấy một lý do cho việc này là vì bảo mật. Nhưng ngay cả sau đó tốt hơn là bạn bảo vệ điểm cuối thay vào đó và chuyển mã thông báo đi cùng.

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.