Code Monkey home page Code Monkey logo

qsa's Introduction

QGIS Server Administration

Release Documentation

Components:

  • qsa-api: Flask web server with a REST API for administrating QGIS Server
  • qsa-plugin: QGIS Server plugin for introspection
  • qsa-cli: Command line tool

Main features:

  • Create and manage QGIS projects stored on filesystem or in PostgreSQL
  • Create and update vector and raster layers: symbology, theme, ...
  • Inspect online QGIS Server instances
  • Cache management with MapProxy

See QGIS Server Administration tool's documentation for more details.

qsa's People

Contributors

pblottiere avatar jakobmiksch avatar

Stargazers

 avatar Philipe Borba avatar Jérôme Ksigzkiewiez avatar Jean Felder avatar Benoît Blanc avatar Julien avatar

Watchers

 avatar  avatar  avatar Jérôme Ksigzkiewiez avatar

Forkers

jakobmiksch

qsa's Issues

Dockerimage

It would be useful to have a Dockerimage to deploy QSA in a microservice environment like a docker compose setup.

Possible example:

version: "3.8"
services:
   qwa:
      image: qwa/qwa
      enviroment:
         - ENV_VAR_1=foo
         - ENV_VAR_2=bar
         - ENV_VAR_3=foobar
      volumes:
         - path/on/host/qsa.yml:/path/on/image/qsa.yml 

Ideas to consider:

  • image must of course contain pyqgis, however it would be ideal to keep the image small
  • is a config file really needed? maybe be all configs could also be written as envvars which would make a QSA deployment with Docker easier

Installation instructions

Thanks for the project. It looks really promising. I would like to try it, but I fail to install it. So far I did:

poetry install

I do not find a way to run qsa qsa.yml. Maybe I am missing a simple step here (since I am currently not that deep into Python)

Could you provide some hints how to get QSA running?

Add layers of PostGIS

This more a question, because maybe this functionality already exists.

Is it possible to add a layer of a PostGIS database to a QGIS Project?

Accessing QGIS projects stored in a Postgres database

QGIS Projects are often stored in a PostGIS database. That's why it would be great if QSA could access them as well.
a possible config file could look like:

qgisserver:
    url: "http://qgisserver/ogc/"
    projects: "postgresql://username:password@host:port/dbname"  # PostgresSQL connection string

The table where the QGIS projects live must be called qgis_projects and can exist in multiple schemas. This means to reference a QGIS project one must provide the name of the project and also its schema.

The current way to call a project would not work anymore:

  • current way to call a project: [GET] /api/projects/<project_name>/layers
  • possible ways for project in different Postgres schemas:
    • via query param: [GET] /api/projects/<project_name>/layers?schema=<schema_name> (default should be public)
    • add a new param in the URL: [GET] /api/<schema_name>/projects/<project_name>/layers but this would interfere with the current way of the API ...

Make usage of MapProxy optional

Currently it seems the QSA expects to be MapProxy installed in the QGIS Server setup as well. However, not every setup uses MapProxy. That's why it would be great to make the usage of MapProxy optional.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.