Skip to content

Instantly share code, notes, and snippets.

View thbaumann's full-sized avatar

Thomas Baumann @work thbaumann

View GitHub Profile
from qgis.core import *
from qgis.gui import *
import os.path
@qgsfunction(args='auto', group='Custom',usesgeometry=False)
def layername_aus_pfad(current_path, feature, parent):
"""
Layername aus dem Pfad ermitteln
current_path: an die Funktion uebergebener pfad, wie z.B. layer_by_path('D:\loeschen\gemarkungen.shp')
"""
path=os.path.normpath(current_path)
from qgis.core import *
from qgis.gui import *
@qgsfunction(args='auto', group='Custom')
def eindeutige_legende1( layername, feature, parent,context):
try:
project = QgsProject.instance()
ausgabe=None
legendenlayer = QgsExpressionContextUtils.projectScope(project).variable('eindeutig')
@thbaumann
thbaumann / pipes.geojson
Last active June 26, 2020 11:55
pipes test data
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@thbaumann
thbaumann / export_as_gpx.py
Created June 22, 2020 15:25
export selected features as gpx for use in qgis action
layer = QgsProject.instance().mapLayer('[% @layer_id %]')
from qgis.core import Qgis, QgsVectorFileWriter
exportpath="D:/loeschen/test.gpx"
error, error_string = QgsVectorFileWriter.writeAsVectorFormat( layer,
exportpath,
"UTF-8",
layer.crs(),
"GPX",
onlySelected=True)
@thbaumann
thbaumann / filerotator.py
Created April 1, 2020 12:28 — forked from RWJMurphy/filerotator.py
Python class and utility for file rotation. Configurable daily, weekly and monthly retention; can use hard links to save space; supports `argparse` config files.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# vim: ft=python ts=4 sw=4 expandtab
#
# Copyright (c) 2013 Reed Kraft-Murphy <reed@reedmurphy.net>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
settings=QSettings()
test=settings.allKeys()
errorcounter=0
for i in test:
if(u'Projections/EPSG:25832/EPSG:31467_coordinateOp' in i):
if settings.value(i)!=u'+proj=pipeline +step +inv +proj=utm +zone=32 +ellps=GRS80 +step +inv +proj=hgridshift +grids=BWTA2017.gsb +step +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel':
errorcounter+=1
else:
settings.setValue('Projections/EPSG:25832/EPSG:31467_coordinateOp',u'+proj=pipeline +step +inv +proj=utm +zone=32 +ellps=GRS80 +step +inv +proj=hgridshift +grids=BWTA2017.gsb +step +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel')
@echo off
call "%~dp0\o4w_env.bat"
call qt5_env.bat
call py3_env.bat
@echo off
path %OSGEO4W_ROOT%\apps\qgis\bin;%PATH%
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT:\=/%/apps/qgis
set GDAL_FILENAME_IS_UTF8=YES
rem Set VSI cache to be used as buffer, see #6448
set VSI_CACHE=TRUE
@thbaumann
thbaumann / GTiff_compression_benchmark.py
Created January 27, 2020 12:51 — forked from kr-stn/GTiff_compression_benchmark.py
Benchmark filesize and read/ write times for various GeoTiff compression algorithms
__author__ = 'kersten.clauss'
"""Benchmark different GeoTiff compression algorithms.
Usage: GTiff_compression_benchmark.py some_geo.tif
Requires the GDAL tools to be present and executable from the command line of your system.
This script will take a GeoTiff as input and create copies with different compression algorithms from it.
It measures the filesize, compression and decompression times and returns them as a table.
@thbaumann
thbaumann / wfs_to_local_file.bat
Last active December 28, 2022 14:59
download wfs to shapefile or gepacke with ogr2ogr
@echo off
set OSGEO4W_ROOT=C:\OSGeo4W64
set basis_url="https://www.geodatenportal.sachsen-anhalt.de/gfds/ws/wfs/942f5d74-6c2b-263a/GDI-LSA_Schutzgebiete/ows.wfs?REQUEST=GetCapabilities&SERVICE=WFS"
set layer="sg:lau_br_lsa"
call "%OSGEO4W_ROOT%\bin\o4w_env.bat"
@thbaumann
thbaumann / CompareCompress.py
Created March 13, 2019 13:51 — forked from jevans5489/CompareCompress.py
Compares lossless GDAL Compression on a sample image.
# ----------------------------------------------------------------------------------------------------------------------
# Name: CompareCompression.py
# Py-Version: 3.x.x
# Purpose: Takes a sample GeoTIFF and writes a table to the command line describing the
# file size, read speed, and write speed of each GDAL compression. You can use this
# tool to decide how to best compress a single image, or a collection of images.
#
# Notes: The Python interpreter and GDAL must be accessible by cmd. The easiest way to do
# this by using the python installation included with ArcGIS Pro 2.3.x and later.
# This installation has the GDAL site package and binaries already configured. Add