Outdated version of the documentation. Find the latest one here.

QGIS OGC Data Palvelimena

QGIS Palvelin on avoimen lähdekoodin WMS 1.3, WFS 1.0.0 and WCS 1 1.1.1 toteutus joka lisäksi tarjoaa kehittyneitä kartograafisia ominaisuuksia teemallisiin karttoihin. QGIS Palvelin on FastCGI/CGI (Common Gateway Interface) C++ kirjoitettu sovellus joka toimii web palvelimessa (esim., Apache, Lighttpd). QGIS Palvelin tukee Python liitännäisiä tarjoamalla nopean ja tehokkaan tavan kehittää ja ottaa käyttöön uusia ominaisuuksia. Alkuperäisen QGIS Palvelimen kehittämisen rahoittivat EU projektit Orchestra ja Sany sekä sveitsiläinen Usterin kaupunki.

QGIS Palvelin käyttää QGIS taustalla GIS logiikkaan sekä kartan hahmottamiseen. Lisäksi käytetään Qt kirjastoa grafiikoihin jajärjestelmä riippumattomaan C++ ohjelmointiin. Päinvastoin kuin muissa WMS ohjelmistoissa, QGIS Palvelin käyttää kartografisia sääntöjä konfigurointikielenä, sekä palvelimen konfigurointiin että käyttäjän määrittämiin kartografisiin sääntöihin.

Koska työasema QGIS sekä QGIIS Palvelin käyttävät samoja visualisointi kirjastoja, näyttävät julkaistut kartat samanlaisilta niin verkossa kuin työasema GISissä.

Seuraavissa kappaleissa esitteelemme esimerkkinä konfiguraation QGIS Palvelimen asentamisesta Debian/Ubuntu Linuxiin. Käyttäjiltä saaduista ohjeista muille alustoille ja jakeluille suosittelemme tutustumaan seuraaviin URL-osoitteisiin:

QGIS Palvelimen asentaminen Debian/Ubuntussa

Tässä kohdassa annamme Sinulle lyhyen ja yksinkertaisen asennuksen minimaalisesta toimivasta konfiguraatiosta käyttäen Apache2 ohjelmaa Debian Squeeze jakelussa (tai vastaavassa variaatiossa Ubutu 14.04 jakelussa). Monet muut käyttöjärjestelmät tarjoavat myös paketteja QGIS Palvelimesta. Jos Sinun on rakennettava kaikki lähdekoodista, viittaamme ylläolevaan URLiin.

Aluksi lisää seuraava debian GIS etäkirjasto:

$ cat /etc/apt/sources.list.d/debian-gis.list
deb http://qgis.org/debian trusty main
deb-src http://qgis.org/debian trusty main

$ # Add keys
$ sudo gpg --keyserver keyserver.ubuntu.com --recv-key 3FF5FFCAD71472C4
$ sudo gpg --export --armor 3FF5FFCAD71472C4 | sudo apt-key add -

$ # Update package list
$ sudo apt-get update && sudo apt-get upgrade

Nyt, asenna QGIS Palvelin:

$ sudo apt-get install qgis-server python-qgis

HelloWorld esimerkkiliitännäisen asentaminen palvelinten testaamiseksi. Voit luoda hakemiston jonne sijoitat liitännäiset. Tämä määritellään virtuaalisen hostin konfiguraatiossa ja välitetään palvelimelle ympäristömuuttujan välityksellä:

$ sudo mkdir -p /opt/qgis-server/plugins
$ cd /opt/qgis-server/plugins
$ sudo wget https://github.com/elpaso/qgis-helloserver/archive/master.zip
$ # In case unzip was not installed before:
$ sudo apt-get install unzip
$ sudo unzip master.zip
$ sudo mv qgis-helloserver-master HelloServer

Asenna Apache palvelin erilliseen virtuaaliseen isäntään kuuntelemaan porttia 80. Ota käyttöön rewrite moduli välittämään HTTP Basic auth headereitä:

$ sudo a2enmod rewrite
$ cat /etc/apache2/conf-available/qgis-server-port.conf
Listen 80
$ sudo a2enconf qgis-server-port

Tämä on virtuaali hostin konfiguraatio, talletettuna tiedostoon /etc/apache2/sites-available/001-qgis-server.conf :

<VirtualHost *:80>
  ServerAdmin [email protected]
  DocumentRoot /var/www/html

  ErrorLog ${APACHE_LOG_DIR}/qgis-server-error.log
  CustomLog ${APACHE_LOG_DIR}/qgis-server-access.log combined

  # Longer timeout for WPS... default = 40
  FcgidIOTimeout 120
  FcgidInitialEnv LC_ALL "en_US.UTF-8"
  FcgidInitialEnv PYTHONIOENCODING UTF-8
  FcgidInitialEnv LANG "en_US.UTF-8"
  FcgidInitialEnv QGIS_DEBUG 1
  FcgidInitialEnv QGIS_SERVER_LOG_FILE /tmp/qgis-000.log
  FcgidInitialEnv QGIS_SERVER_LOG_LEVEL 0
  FcgidInitialEnv QGIS_PLUGINPATH "/opt/qgis-server/plugins"

  # Needed for QGIS HelloServer plugin HTTP BASIC auth
  <IfModule mod_fcgid.c>
      RewriteEngine on
      RewriteCond %{HTTP:Authorization} .
      RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  </IfModule>

  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  <Directory "/usr/lib/cgi-bin">
      AllowOverride All
      Options +ExecCGI -MultiViews +FollowSymLinks
      # for apache2 > 2.4
      Require all granted
      #Allow from all
  </Directory>
 </VirtualHost>

Ota käyttöön virtuaali host nyt ja käynnnistä Apache:

$ sudo a2ensite 001-qgis-server
$ sudo service apache2 restart

Testaa palvelin käyttämällä HelloWorld liitännäistä:

$ wget -q -O - "http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=HELLO"
HelloServer!

Voit tarkastella QGIS Palvelimen oletus GetCapabilities osoitteella:

Vihje

Jos työskentelet ominaisuudella jossa on paljon solmuja niin uuden omminaisuuden muokkaus ja lisäys epäonnistuu. Tässä tapauksessa on mahdollista lisä seuraava koodi 001-qgis-server.conf tiedostoon:

<IfModule mod_fcgid.c>
FcgidMaxRequestLen 26214400
FcgidConnectTimeout 60
</IfModule>

WMS/WFS/WCS palvelimen luonti QGIS projektista

Saadaksemme aikaan uuden QGIS Palvelimen, joko WMS, WFS tai WCS, meidän on luota QGIS projekti jossa vähän dataa. Käytämme ‘Alaska’ shapefileä QGIS esimekki datajoukosta. Määrittele tasojen värit ja tyylit QGISissä ja projektin koordinaattijärjestelmä, jos niitä ei ole määritetty.

Figure Server 2:

../../../_images/ows_server_definition.png

Määritykset QGIS Palvelimen WMS/WFS/WCS projektille

Nyt siirry OWS-palvelin valintaan Projekti ‣ Projektin ominaisuudet valintaikkunassa ja anna informaatioita OWS:stä tietoihin valinnassa Palvelun valmiudet. Nämä tulevat esille WMS, WFS ja WCS GetCapabilities vastauksissa Jos et merkkaa checkbox Palvelun valmiudet, QGIS Palvelin tulee käyttämään tietoja wms_metadata.xml tiedostosta joka sijaitsee cgi-bin hakemistossa.

Varoitus

Jos käytät QGIS projektin tyylityksessä SVG tiedostoja joissa on suhteelliset polut tulee Sinun ymmärtää että palvelin pitää polkua suhteellisena sen qgis_mapserv.fcgi tiedostoon (ei qgs tiedostoon). Joten jos haluat käyttää palvelimella projektia eivätkä SVG tiedostot ole sijoitettu vastaavasti, tulosteen kuvat eivät vastaa työaseman tyyliä. Varmistaaksesi jottei näin tapahdu voit yksinkertaisesti kopioida suhteellisiksi qgis_mapserv.fcgi tiedostoon. Voit myös luoda symbolisen linkin hakemistoon, jossa fcgi tiedosto sijaitsee, osoittamaan hakemistoon joka sisältää SVG tiedostot (Linux/Unix).

WMS valmiudet

Osiossa WMS valmiudet voit määritellä WMS GetCapabilities vastauksessa ilmoitettavan alueen laajuuden antamalla minimi ja maksimi X ja Y arvot tietoihin nimikkeellä Ilmoitettu ulottuvuus. Klikkaamalla Käytä nykyisen karttaikkunan laajuutta asettaa nämä arvot laajuuteen joka näytetään QGIS karttapohjalla. Merkkaamalla checkbox Koordinaatistojärjestelmän rajoitukset, voit rajoittaa missä koordinaatistojärjestelmässä (CRS) QGIS Palvelin tarjoaa karttojen hahmotuksen. Käytä signPlus näppäintä alla valitaksesi ne koordinaattijärjestelmät Koordinaattijärjestelmän valitsijasta, tai klikkaa Käytetty lisätäksesi QGIS projektissa käytety listalle.

Jos projektiisi on määritelty tulostepohjia, listataan ne GetProjectSettings vastauksessa, ja niitä voidaan käyttää GetPrint pyynnössä tulosteiden luomiseksi käyttäen tulostepohjaa mallina. Tämä on QGIS:lle erityinen lisäys WMS 1.3.0 määritykseen. Jos haluta sulkea pois joitakin tulostepohjia WMS julkaisusta, merkkaa checkbox Poissulje taitot ja klikkaa signPlus. Tämän jälkeen valitse Valitse Tulostuspohja valintaikkunasta poissuljettava taitto listalle.

Jos haluat sulke pois jonkin tason tai tasoryhmän WMS julkaisusta, merkkaa checkbox Poissulje tasot ja klikkaa signPlus näppäintä alla. Tämä avaa Valitse rajoitetut tasot ja ryhmät valintaikkunan, josta voit valita ne tasot ja ryhmät joita et halua julkaista. Käytä Shift tai Ctrl näppäimiä jos haluat valita useampia jäseniä.

Voit vastaanottaa pyydetyn GetFeatureInfo tiedon joko pelkkänä tekstinä, XML tai GML formaatissa. Oletus on XML, teksti ja GML formaatti riippuu tulosteformaatista joka on valittu GetFeatureInfo pyyntöön.

Jos haluat voit merkata checkbox Lisää geometria vastaustietoon. Tämä lisää ominaisuuksien geometriatieedot GetFeatureInfo vastaukseen. Jos haluat QGIS Palvelimen ilmoittavan erityiset vastaus URLit WMS GetCapabilities vastauksessa, anna vastaavat URLit Ilmoitetut URL tiedokentässä. Lisäksi voit rajoittaa GetMap pyynnössä palautettavien karttojen maksimikokoa antamalla maksimi leveyden ja koon vastaavissa tietokentissä nimikkeessä Maksimit GetMap pyynnöllle.

Jos jokin tasosi käyttää Map Tip näyttöä (esim. näytetään tekstiä käyttäen lauseketta) listataan nämä GetFeatureInfo tulosteessa. Jos taso käyttää Arvokarttaa jollekin ominaisuudelle, tämä informaatio näytetään myös GetFeatureInfo tulosteessa.

QGIS tukee seuraavia pyyntöjä WMS palvelulle:

  • GetCapabilities
  • GetMap
  • GetFeatureInfo
  • GetLegendGraphic (SLD profiili)

  • DescribeLayer (SLD profiili)

  • GetStyles (räätälöity QGIS profilie)

WFS valmiudet

WFS valmiudet alueella voit valita tasot jotka haluat julkaista käyttäen WFS, ja määritellä jos niitä sallitaan muokkaus, lisäys tai poisto toimenpiteet. Jos annat URLin WFS valmiudet osassa tietoon Ilmoitetut URL , QGIS Palvelin ilmoittaa erityisen URLin WFS GetCapabilities vastauksessa.

QGIS tukee seuraavia pyyntöjä WFS palvelulle:

  • GetCapabilities
  • DescribeFeatureType
  • GetFeature
  • Transaction

WCS valmiudet

WCS-valmiudet alueella voit valita tasot jotka haluat julkaista käyttäen WCS, ja määritellä jos niitä sallitaan muokkaus, lisäys tai poisto toimenpiteet. Jos annat URLin WCS-valmiudet osassa tietoon Ilmoitetut URL , QGIS Palvelin ilmoittaa erityisen URLin WCS GetCapabilities vastauksessa.

Nyt tallenna istunto projektitiedostoon alaska.qgs. Antaaksemme projektille WMS/WFS ominaisuudet luomme uuden hakemiston /usr/lib/cgi-bin/project järjestelmänvalvojan oikeuksin ja lisäämme hakemistoon projektitiedoston alaska.qgs ja kopioimme qgis_mapserv.fcgi tiedoston sinne - siinä kaikki.

Testaamme projektimme WMS, WFS ja WCS ominaisuudet. Lisää WMS, WFS ja WCS kuten on kuvattu Ladataan WMS/WMTS Tasot, WFS and WFS-T Client ja :ref:`ogc-wcs`QGISiin ja lataa datat. Käytettävä URL on:

http://localhost/cgi-bin/project/qgis_mapserv.fcgi

QGIS tukee seuraavia pyyntöjä WCS palvelulle:

  • GetCapabilities
  • DescribeCoverage
  • GetCoverage

GetCapabilities välimuistin käyttö

Parantaakseen vastausaikoja QGIS Palvelin tallentaa välimuistiin vastaukset GetCapabilities kyselyistä. Tämän kaltaisen kyselyn tullessa QGIS Palvelin vie välimuistiin vastauksen ja merkitsee välimuistin voimassa olevaksi. Saman aikaisesti se tarkkailee onko projektitiedostoissa muutoksia. Jos projekti on muuttunut välimuisti merkitään pätemättömäksi ja QGIS Palvelin odottaa uutta kyselyä luodakseen välimuistin uudestaan.

Hienosäätöä omalla OWS:llä

For vector layers, the Fields menu of the Layer ‣ Properties dialog allows you to define for each attribute if it will be published or not. By default, all the attributes are published by your WMS and WFS. If you don’t want a specific attribute to be published, uncheck the corresponding checkbox in the WMS or WFS column.

You can overlay watermarks over the maps produced by your WMS by adding text annotations or SVG annotations to the project file. See the Annotation Tools section in General Tools for instructions on creating annotations. For annotations to be displayed as watermarks on the WMS output, the Fixed map position check box in the Annotation text dialog must be unchecked. This can be accessed by double clicking the annotation while one of the annotation tools is active. For SVG annotations, you will need either to set the project to save absolute paths (in the General menu of the Project ‣ Project Properties dialog) or to manually modify the path to the SVG image so that it represents a valid relative path.

Palvelimen konfigurointi ja tuetut parametrit

QGIS Server supports some vendor parameters and requests that greatly enhance the possibilities of customising its behavior. The following paragraphs list the vendor parameters and the environment variables supported by the server.

Kaikkien pyyntötyyppien tukemat lisäparametrit

  • FILE_NAME parameter: if set, the server response will be sent to the client as a file attachment with the specified file name.

  • MAP parametri: Samankaltainen kuin MapServerissä, MAP parametria voidaan käyttää määrittelemään polku QGIS projekti tiedostoon. Voit määritellä absoluuttisen polun tai suhteellisen polun sijaintiin jossa suoritettava palvelin sijaitsee (qgis_mapserv.fcgi). Jos et määrittele, QGIS Palvelin etsii .qgs tiedostoja hakemistosta jossa suoritettavav palvelin sijaitsee.

    Esimerkki:

    http://localhost/cgi-bin/qgis_mapserv.fcgi?\
      REQUEST=GetMap&MAP=/home/qgis/mymap.qgs&...

Muista

You can define a QGIS_PROJECT_FILE as an environment variable to tell the server executable where to find the QGIS project file. This variable will be the location where QGIS will look for the project file. If not defined it will use the MAP parameter in the request and finally look at the server executable directory.

WMS GetMapp pyynnön tukemat lisäparametrit

In the WMS GetMap request, QGIS Server accepts a couple of extra parameters in addition to the standard parameters according to the OGC WMS 1.3.0 specification:

  • DPI parameteri: DPI parameteria voidaan käyttää määrittelemään halutun tulosteen resoluutio.

    Esimerkki:

    http://localhost/cgi-bin/qgis_mapserv.fcgi?REQUEST=GetMap&DPI=300&...
  • OPACITIES parameteri: Opasiteetti voidaan asettaa tasolle tai ryhmätasolle. Sallitut arvot ovat väliltä 0 (täysin läpinäkyvä) ja 255 (täysin peittävä).

    Esimerkki:

    http://localhost/cgi-bin/qgis_mapserv.fcgi?\
      REQUEST=GetMap&LAYERS=mylayer1,mylayer2&OPACITIES=125,200&...
  • FILTER parameter: (Available in QGIS 1.8 and above). Subsets of layers

    can be selected with the FILTER parameter. Syntax is basically the same as for the QGIS subset string. However, there are some restrictions to avoid SQL injections into databases via QGIS server:

    Text strings need to be enclosed with quotes (single quotes for strings, double quotes for attributes) A space between each word / special character is mandatory. Allowed Keywords and special characters are ‘AND’,’OR’,’IN’,’=’,’<’,’>=’, ‘>’,’>=’,’!=*,’(‘,’)’. Semicolons in string expressions are not allowed

    Esimerkki:

    http://myserver.com/cgi/qgis_mapserv.fcgi?REQUEST=GetMap&LAYERS=mylayer1,mylayer2&FILTER=mylayer1:"OBJECTID" = 3;mylayer2:'text' = 'blabla'&....

Muista

It is possible to make attribute searches via GetFeatureInfo and omit the X/Y parameter if a FILTER is there. QGIS server then returns info about the matching features and generates a combined bounding box in the xml output.

  • SELECTION parameter: (Available in QGIS 1.8 and above)

    Vector features can be selected by passing comma separated lists with feature ids in GetMap and GetPrint.

    Esimerkki:

    http://myserver.com/cgi/qgis_mapserv.fcgi?REQUEST=GetMap&LAYERS=mylayer1,mylayer2&SELECTION=mylayer1:3,6,9;mylayer2:1,5,6&...

WMS GetFeatureInfo pyynnön tukemat lisäparametrit

QGIS Server WMS GetFeatureInfo requests supports the following extra optional parameters to define the tolerance for point, line and polygon layers:

  • FI_POINT_TOLERANCE parameter: Tolerance for point layers GetFeatureInfo request, in pixels.
  • FI_LINE_TOLERANCE parameter: Tolerance for linestring layers GetFeatureInfo request, in pixels.
  • FI_POLYGON_TOLERANCE parameter: Tolerance for polygon layers GetFeatureInfo request, in pixels.

GetPrint pyyntö

QGIS server has the capability to create print composer output in pdf or pixel format. Print composer windows in the published project are used as templates. In the GetPrint request, the client has the possibility to specify parameters of the contained composer maps and labels.

Esimerkki:

The published project has two composer maps. In the GetProjectSettings response, they are listed as possible print templates:

<WMS_Capabilities>
...
<ComposerTemplates xsi:type="wms:_ExtendedCapabilities">
<ComposerTemplate width="297" height="210" name="Druckzusammenstellung 1">
<ComposerMap width="171" height="133" name="map0"/>
<ComposerMap width="49" height="46" name="map1"/></ComposerTemplate>
</ComposerTemplates>
...
</WMS_Capabilities>

The client has now the information to request a print output:

http://myserver.com/cgi/qgis_mapserv.fcgi?...&REQUEST=GetPrint&TEMPLATE=Druckzusammenstellung 1&map0:EXTENT=xmin,ymin,xmax,ymax&map0:ROTATION=45&FORMAT=pdf&DPI=300

Parametrit GetPrint pyynnössä ovat:

  • <map_id>:EXTENT gives the extent for a composer map as xmin,ymin,xmax,ymax.
  • <map_id>:ROTATION map rotation in degrees
  • <map_id>:GRID_INTERVAL_X, <map_id>:GRID_INTERVAL_Y Grid line density for a composer map in x- and y-direction
  • <map_id>:SCALE Sets a mapscale to a composer map. This is useful to ensure scale based visibility of layers and labels even if client and server may have different algorithms to calculate the scale denominator
  • <map_id>:LAYERS, <map_id>:STYLES possibility to give layer and styles list for composer map (useful in case of overview maps which should have only a subset of layers)

GetLegendGraphics pyyntö

Several additional parameters are available to change the size of the legend elements:

  • BOXSPACE space between legend frame and content (mm)
  • LAYERSPACE versical space between layers (mm)
  • LAYERTITLESPACE vertical space between layer title and items following (mm)
  • SYMBOLSPACE vertical space between symbol and item following (mm)
  • ICONLABELSPACE horizontal space between symbol and label text (mm)
  • SYMBOLWIDTH width of the symbol preview (mm)
  • SYMBOLHEIGHT height of the symbol preview (mm)

These parameters change the font properties for layer titles and item labels:

  • LAYERFONTFAMILY / ITEMFONTFAMILY font family for layer title / item text
  • LAYERFONTBOLD / ITEMFONTBOLD ‘TRUE’ to use a bold font
  • LAYERFONTSIZE / ITEMFONTSIZE Font size in point
  • LAYERFONTITALIC / ITEMFONTITALIC ‘TRUE’ to use italic font
  • LAYERFONTCOLOR / ITEMFONTCOLOR Hex color code (e.g. #FF0000 for red)
  • LAYERTITLE / RULELABEL (from QGIS 2.4) set them to ‘FALSE’ to get only the legend graphics without labels

Contest based legend. These parameters let the client request a legend showing only the symbols for the features falling into the requested area:

  • BBOX the geographical area for which the legend should be built
  • CRS / SRS the coordinate reference system adopted to define the BBOX coordinates
  • WIDTH / HEIGHT if set these should match those defined for the GetMap request, to let QGIS Server scale symbols according to the map view image size.

Contest based legend features are based on the UMN MapServer implementation:

GetProjectSettings pyyntö

This request type works similar to GetCapabilities, but it is more specific to QGIS Server and allows a client to read additional information which is not available in the GetCapabilities output:

  • initial visibility of layers
  • information about vector attributes and their edit types
  • information about layer order and drawing order
  • list of layers published in WFS

DXF Export

It is possible to export layers in the DXF format using the GetMap Request. Only layers that have read access in the WFS service are exported in the DXF format. Here is a valid REQUEST and a documentation of the available parameters:

http://your.server.address/wms/liegenschaftsentwaesserung/abwasser_werkplan?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=Haltungen,Normschacht,Spezialbauwerke&STYLES=&CRS=EPSG%3A21781&BBOX=696136.28844801,245797.12108743,696318.91114315,245939.25832905&WIDTH=1042&HEIGHT=811&FORMAT=application/dxf&FORMAT_OPTIONS=MODE:SYMBOLLAYERSYMBOLOGY;SCALE:250&FILE_NAME=werkplan_abwasser.dxf

Parameterit:

  • FORMAT=application/dxf
  • FILE_NAME=yoursuggested_file_name_for_download.dxf
  • FORMAT_OPTIONS=see options below, key:value pairs separated by Semicolon

FORMAT_OPTIONS Parameterit:

  • SCALE:scale to be used for symbology rules, filters and styles (not an actual scaling of the data - data remains in the original scale).
  • MODE:NOSYMBOLOGY|FEATURESYMBOLOGY|SYMBOLLAYERSYMBOLOGY corresponds to the three export options offered in the QGIS Desktop DXF export dialog.
  • LAYERSATTRIBUTES:yourcolumn_with_values_to_be_used_for_dxf_layernames - if not specified, the original QGIS layer names are used.
  • USE_TITLE_AS_LAYERNAME if enabled, the title of the layer will be used as layer name.

WFS GetFeature pyynnön tukemat lisäparametrit

In the WFS GetFeature request, QGIS Server accepts two extra parameters in addition to the standard parameters according to the OGC WFS 1.0.0 specification:

  • GeometryName parameter: this parameter can be used to get the extent or the centroid as the geometry or no geometry if none if used (ie attribute only). Allowed values are extent, centroid or none.
  • StartIndex parameter: STARTINDEX is standard in WFS 2.0, but it’s an extension for WFS 1.0.0 which is the only version implemented in QGIS Server. STARTINDEX can be used to skip some features in the result set and in combination with MAXFEATURES will provide for the ability to use WFS GetFeature to page through results. Note that STARTINDEX=0 means start with the first feature, skipping none.

QGIS Palvelimen lokien kirjoitus

To log requests sent to the server, set the following environment variables:

  • QGIS_SERVER_LOG_FILE: Specify path and filename. Make sure that the server has proper permissions for writing to file. File should be created automatically, just send some requests to server. If it’s not there, check permissions.

  • QGIS_SERVER_LOG_LEVEL: Specify desired log level. Available values are:

    • 0 INFO (log all requests),
    • 1 WARNING,
    • 2 CRITICAL (log just critical errors, suitable for production purposes).

    Esimerkki:

    SetEnv QGIS_SERVER_LOG_FILE /var/tmp/qgislog.txt
    SetEnv QGIS_SERVER_LOG_LEVEL 0

Muista

  • When using Fcgid module use FcgidInitialEnv instead of SetEnv!
  • Server logging is also enabled if executable is compiled in release mode.

Lyhyt nimi tasoille, ryhmille ja projektille

A number of elements have both a <Name> and a <Title>. The Name is a text string used for machine-to-machine communication while the Title is for the benefit of humans.

For example, a dataset might have the descriptive Title “Maximum Atmospheric Temperature” and be requested using the abbreviated Name “ATMAX”. User can already set title for layers, groups and project.

OWS name is based on the name used in layer tree. This name is more a label for humans than a name for machine-to-machine communication.

QGIS Palvelin tukee:

  • short name line edits to layers properties

  • WMS data dialog to layer tree group (short name, title, abstract) By right clicking on a layer group and selecting the Set Group WMS data option you will get:

    Figure set group wms data:

    ../../../_images/set_group_wms_data.png
  • short name line edits to project properties- add a regexp validator "^[A-Za-z][A-Za-z0-9\._-]*" to short name line edit accessible through a static method

  • add a regexp validator "^[A-Za-z][A-Za-z0-9\._-]*" to short name line edit accessible through a static method

  • add a TreeName element in the fullProjectSettings

If a short name has been set for layers, groups and project it is used by QGIS Sever as the layer name.

Connection to service file

In order to make apache aware of the PostgreSQL service file (see the Service connection file section) you need to make your *.conf file look like:

SetEnv PGSERVICEFILE /home/web/.pg_service.conf

<Directory "/home/web/apps2/bin/">
  AllowOverride None
.....

Add fonts to your linux server

Keep in mind that you may use QGIS projects that point to fonts that may not exist by default on other machines. This means that if you share the project, it may look different on other machines (if the fonts don’t exist on the target machine).

In order to ensure this does not happen you just need to install the missing fonts on the target machine. Doing this on desktop systems is usually trivial (double clicking the fonts).

For linux, if you don’t have a desktop environment installed (or you prefer the command line) you need to:

  • On Debian based systems:

    sudo su
    mkdir -p /usr/local/share/fonts/truetype/myfonts && cd /usr/local/share/fonts/truetype/myfonts
    
    # copy the fonts from their location
    cp /fonts_location/* .
    
    chown root *
    cd .. && fc-cache -f -v
  • On Fedora based systems:

    sudo su
    mkdir /usr/share/fonts/myfonts && cd /usr/share/fonts/myfonts
    
    # copy the fonts from their location
    cp /fonts_location/* .
    
    chown root *
    cd .. && fc-cache -f -v

Ympäristömuuttujat

You can configure some aspects of QGIS server by setting environment variables. For example, to set QGIS server on Apache to use /path/to/config/QGIS/QGIS2.ini settings file, add to Apache config:

SetEnv QGIS_OPTIONS_PATH "/path/to/config/"

tai, jos käytetään fcgi:

FcgidInitialEnv QGIS_OPTIONS_PATH "/path/to/config/"

Tämä on luettelo QGIS Palvelimen tukemista muuttujista:

  • QGIS_OPTIONS_PATH: Specifies the path to the directory with settings. It works the same way as QGIS application –optionspath option. It is looking for settings file in <QGIS_OPTIONS_PATH>/QGIS/QGIS2.ini.
  • QUERY_STRING: The query string, normally passed by the web server. This variable can be useful while testing QGIS server binary from the command line.
  • QGIS_PROJECT_FILE: the .qgs project file, normally passed as a parameter in the query string, you can also set it as an environment variable (for example by using mod_rewrite Apache module).
  • QGIS_SERVER_LOG_FILE: Specify path and filename. Make sure that server has proper permissions for writing to file. File should be created automatically, just send some requests to server. If it’s not there, check permissions.
  • QGIS_SERVER_LOG_LEVEL: Specify desired log level. See QGIS Palvelimen lokien kirjoitus
  • MAX_CACHE_LAYERS: Specify the maximum number of cached layers (default: 100).
  • DISPLAY: This is used to pass (fake) X server display number (needed on Unix-like systems).
  • QGIS_PLUGINPATH: Useful if you are using Python plugins for the server, this sets the folder that is searched for Python plugins.