dukungan geoserver ke proksi layanan ubin lainnya?

8

Saya ingin menggunakan server pusat untuk menyediakan lokasi umum untuk semua sumber daya pemetaan / pencitraan kami. Data kami terutama dalam bentuk geotiff dengan berbagai lapisan dasar dari berbagai sumber di web.

Geoserver, diberikan satu set geotiff, melakukan pekerjaan yang baik untuk melayani ubin (melalui WMTS atau TMS). Namun, saya tidak tahu cara untuk dengan mudah proksi sumber data eksternal lainnya seperti lapisan basis sampel dari http://services.arcgisonline.com/ArcGIS/rest/services . Sayangnya, sepertinya tidak banyak layanan yang mengimplementasikan layer WMS (atau tidak menjadikannya publik). Saat ini kami memiliki logika dalam aplikasi kami untuk berbagai layanan web kasus khusus tetapi sedikit hack. Idealnya saya ingin menyajikan antarmuka layanan web umum untuk semua penyedia ubin kami. Ini akan memungkinkan klien WMS seperti aplikasi angin dunia untuk "hanya bekerja".

Satu-satunya pemikiran saya sekarang adalah untuk membangun layanan web python kecil yang akan memaparkan daftar kemampuan melalui WMS dan kemudian menambahkan layanan ini ke geoserver sebagai toko WMS mengalir. Ini sepertinya banyak pekerjaan untuk hanya melayani URL ubin peta.

Saya ingin tahu apakah masalah ini telah dipecahkan sebelumnya atau jika ada solusi yang lebih mudah.

Terima kasih!

cshimer
sumber

Jawaban:

7

Anda mungkin ingin memeriksa MapProxy . Ini adalah proksi sumber terbuka untuk data geospasial. Itu cache, mempercepat dan mengubah data dari layanan peta yang ada dan melayani klien GIS desktop atau web.

masukkan deskripsi gambar di sini

Itu membaca data dari:

  • Sumber WMS (1.0.0–1.3.0)
  • Sumber TMS / WMTS konfigurasi Mapserver dan Mapnik
  • sumber TileCache, Google Maps atau Bing yang kompatibel

Ini juga bisa

  • cache data pada sistem file, seperti MBTiles atau di dalam CouchDB
  • memproyeksikan ulang sumber WMS ke SRS lain
  • menyimpan gambar identik sekali saja (mis. ubin laut)
  • tempelkan watermark di ubin
  • menggabungkan banyak sumber
  • membatasi sumber ke area poligon

MapProxy juga merupakan server WMS yang lengkap dan mendukung klien WMS apa pun (desktop dan web). Ini mendukung respons WMS dari data yang di-cache:

  • menggabungkan ubin dan skala atau memproyeksi ulang gambar
  • mempercepat WMS yang ada 10 hingga 100 kali

dan layanan WMS berjenjang:

  • permintaan multi-utas
  • menggabungkan banyak sumber
  • menambahkan transparansi ke lapisan buram
  • memproyeksikan kembali dengan cepat

Ini juga mendukung kombinasi lapisan yang di-cache dan di-cascade:

  • menanggapi permintaan GetLegendGraphic
  • cascade permintaan GetFeatureInfo dengan transformasi XSL opsional
  • membatasi sumber ke area poligon
  • mengonversi versi WMS dan format gambar
  • dukungan untuk data raster non-gambar seperti DEM

Anda juga dapat melakukan pre-generate cache ubin untuk kinerja yang lebih baik.

Itu juga dilengkapi dengan API otorisasi yang fleksibel yang memungkinkan Anda untuk menambahkan kontrol berbutir halus atas layanan dan lapisan.

RK
sumber
2
Ini adalah jawaban terbaik untuk pertanyaan itu, tetapi harus diambil dengan rekomendasi bahwa Anda tidak boleh melakukan ini pada layanan eksternal yang tidak Anda kontrol - setidaknya itu adalah mimpi buruk kinerja, dan lebih khusus lagi itu bertentangan dengan persyaratan layanan dan akan mengakibatkan layanan Anda ditangguhkan.
tmcw
0

Anda membuat hambatan dengan mem-proxy layanan eksternal melalui server Anda. Juga akan memperlambat kinerja peta web Anda dengan memaksa satu server untuk memproses semua permintaan.

Satu-satunya alasan saya mungkin bisa melihat alasan untuk ini adalah untuk keamanan. Tetapi bahkan kemudian Anda lebih baik mengamankan titik akhir sebagai gantinya dan melewati token.

Donny V.
sumber