sudo apt-get install libfcgi-dev
Kemudian hanya mengkompilasi ulang dan menginstal QGIS. Setelah built Anda akan menemukan item baru di dir bin. Pada sistem saya saya membangun QGIS ke ~ / apps sehingga saya biner Server QGIS di sini :
/ Home / timlinux / apps / bin / qgis_mapserv.fcgi
Konfigurasi
Karena saya membangun QGIS saya ke sistem non dir, aku harus memberitahu apache tentang jalur perpustakaan untuk CGI saya. Sesuatu seperti ini :ScriptAlias / cgi-bin / / usr / lib / cgi-bin / <Directory "/usr/lib/cgi-bin"> AllowOverride None Pilihan + ExecCGI-MultiViews + SymLinksIfOwnerMatch Memesan memungkinkan, menyangkal Izinkan dari semua # Selanjutnya untuk QGIS Mapserver SetEnv LD_LIBRARY_PATH / home / timlinux / apps / lib </ Directory>
Selanjutnya cari ke tempat sampah :D atau Temporary dir cgi :
cd / usr / lib / cgi-bin /
Dan kemudian saya membuat direktori proyek. Aturannya adalah: satu direktori per proyek QGIS Anda ingin melayani.
sudo mkdir world cd world
Selanjutnya saya terhubung di cgi QGIS:
sudo ln -s /home/timlinux/apps/bin/qgis_mapserv.fcgi .
dan kemudian disalin dalam file proyek:
sudo cp /home/timlinux/gisdata/QGISProjects/world.qgs .
Symlink dari file proyek dapat bekerja untuk Anda - memeriksa konfigurasi apache untuk memungkinkan symlinking kurasa.
Satu hal lain yang harus dilakukan adalah menyalin dokumen kemampuan ke direktori dunia. Sebenarnya server masih bekerja tanpa itu tapi kami ingin menjadi benar rapi & rapi?
sudo cp /home/timlinux/dev/cpp/qgis/src/mapserver/wms_metadata.xml .
Sekarang edit file tersebut dan mengatur rincian Anda sebagai appopriate.Saya kira Anda sedang menunggu untuk melanjutkan dengan 25 halaman berikutnya petunjuk konfigurasi .... kan? Salah! Thats semua yang perlu Anda lakukan!
Pengujian
Pertama Anda ingin membuat sebuah proyek QGIS bagus dan menyimpan file. QGS dalam direktori proyek seperti diuraikan di atas. Berikut adalah apa yang saya proyek QGIS tampak seperti:Untuk menguji Anda bisa mengarahkan browser web Anda pada server Anda:
http://localhost/cgi-bin/world/qgis_mapserv.fcgi?SERVICE=WMS & VERSION = 1.3.0 & REQUEST = GetCapabilities
Yang membuat sesuatu kemampuan doc seperti ini:
Dan bagaimana peta yang bagus?
http://localhost/cgi-bin/world/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0 & PERMINTAAN = GetMap & BBOX = -36.215710,6.817432, -9.700450,58.551008 & CRS = EPSG: 4326 & WIDTH = 1.077 & HEIGHT = 552 & LAPIS = Benua, Negara, Kota & GAYA =,, & FORMAT = image / jpeg & DPI = 96
Yang menghasilkan ini:
Dan hanya untuk benar-benar meta, memungkinkan memuat kembali sumber WMS ke QGIS dari mana itu mulai!
Anda melihat peta membuat persis sama sebagai proyek awal kami - luar biasa!
Hal yang perlu diperhatikan
- Proyek ini harus menggunakan
relatifpath absolut (lihat proyek dialog properti) ... atau lebih baik lagi memuat data Anda ke PostGIS dan melupakan shapefile. - Jangan lupa untuk menyalin dokumen kemampuan Anda dan mengeditnya dengan rincian yang tepat
- Ini bukan 'robotosed' ala GUI versi awal ArcIMS yang mengambil alih aplikasi desktop Anda. Yang penuh 'tanpa kepala' layanan web cgi.
- Anda dapat menggunakan semua fitur bagus baru simbologi dan pelabelan QGIS untuk membuat peta kualitas terbaik
catatan tambahan
* QGIS Mapserver (atau namun akan dipanggil) menerapkan WMS 1,3 saja (tidak WMS 1.1.1)
* GetFeatureInfo harus mendukung: text, html, xml
* GetFeatureInfo menghormati beberapa pengaturan atribut dari lapisan QGIS: atribut tersembunyi ditekan, alias kolom digunakan jika ada.
* Ketika melakukan GetCapabilities, jawabannya bisa sangat lambat dan besar, karena untuk setiap lapisan, QGIS akan mengembalikan semua CRS yang tersedia. Anda dapat membatasi daftar ini dengan menggunakan menambahkan elemen XML berikut ke bagian sifat:
<properties> <WMSEpsgList Type="QStringList"> <value> 21.781 </ value> <value> 4326 </ value> </ WMSEpsgList> </ Properties> QGIS tidak akan menghapus pengaturan dari file QGS. Setelah menyimpannya dari versi desktop, tetapi saat ini tidak ada GUI untuk melakukan pengaturan WMS.
* Secara default, QGIS Mapserver akan beriklan semaksimal dari semua lapisan yang terlibat. Hal ini dapat diganti dengan pengaturan berikut, lagi di bagian file QGS, ganti dengan Anda sendiri min / max pengaturan.:
<properties> <WMSExtent Type="QStringList"> <value> 692000 </ value> <value> 241.500 </ value> <value> 700.100 </ value> <value> 249.000 </ value> </ WMSExtent> </ Properties>
* GetLegendGraphics harus bekerja, misalnya
http://yourserver/cgi/qgis_mapserv.fcgi?map=/home/qgisprojects/myproject.qgs&SERVICE=WMS & PERMINTAAN = GetLegendGraphics & FORMAT = image / png & LAPIS = hidrologi & WIDTH = 400
* QGIS Mapserver dapat menangani file beberapa proyek dengan satu biner FCGI. Pada permintaan pertama dari sebuah server Apache baru dimulai, permintaan akan lebih lambat, karena file. QGS harus diurai, kemudian permintaan yang cepat, karena ada cache lebih. QGS file. Anda dapat menggunakan "peta = / home / path / to / / Anda project.qgs" parameter untuk menentukan proyek mana yang ingin Anda akses.
Akan lebih baik jika kita bisa mengungkapkan beberapa "tersembunyi" properti WMS dalam GUI, di suatu tempat di proyek properti QGIS. Mungkin tab Server-Settings.
Terimakasih telah berkunjung dan membaca, sudi kiranya berkomentar, silahkan
0 Komentar
Terimakasih telah berkomentar