Skip to content

Little mock up about the task to produce QGS files for QGIS 2.18 out of an serial text format.

Notifications You must be signed in to change notification settings

vvmruder/qgs_creator_mock

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Utilized versions:

  • QGIS 2.18
  • Ubuntu 16.04
  • python 2.7

Prerequisites:

You need a local and valid shp file to add. Because adding a layer to QGIS project means the layer has to be valid. Therefor we need a dummy. To be flexible on input the appoach chosen is the simple one. Only rule: shp has to be named "input.shp".

Big picture:

Everything runs in an Docker container. QGIS is used blank. Means without gui components. Python is invoked to use QGIS libs. Simple QGIS is spawned, project loaded, layers added to QGIS-workspace and project, project is saved (to the same path where the input shp is stored).

Usage:

clone repository: https://github.com/simi-so/qgs_creator_mock.git

walk into folder: cd qgs_creator_mock

build image locally: docker build -t qgs_creator_mock:local_dev .

run image: docker run --rm -v <path_to_local_shp>:/data qgs_creator_mock:local_dev

where <path_to_local_shp> is the place where you keep your test shp.

Note:

Means path of shp needs to be writeable for anybody!

Benchmark:

For benchmarking on unix machines the simple to use GNU tool time can be utilized:

/usr/bin/time -f "time result\ncmd:%C\nreal %es\nuser %Us \nsys %Ss \nmemory:%MKB \ncpu %P" docker run --rm -v <path_to_local_shp>:/data qgs_creator_mock:local_dev

This results in the following for 1000 iterations:

time result
cmd:docker run --rm -v /home/crud3_rt/tmp/:/data qgs_creator_mock:local_dev
real 3.68s
user 0.04s 
sys  0.02s 
memory:58860KB 
cpu 1%

On a System with:

  • i7-8565U CPU (4 cores)
  • running on battery (not full power)
time result
cmd:docker run --rm -v /home/crud3_rt/tmp:/data qgs_creator_mock:local_dev
real 2.88s
user 0.04s 
sys  0.01s 
memory:58340KB 
cpu 2%

On a System with:

  • i7-8565U CPU (4 cores)
  • running on ac

Pro of this benchmark method is, that all process time and mem usage is measured. Including eventually existing docker bottle necks.

About

Little mock up about the task to produce QGS files for QGIS 2.18 out of an serial text format.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 49.0%
  • Dockerfile 36.3%
  • Shell 14.7%