Skip to content

Instantly share code, notes, and snippets.

View gacarrillor's full-sized avatar

Germap gacarrillor

View GitHub Profile

Ejercicios propuestos para cada sesión

Tarea:

  • Seleccionar manualmente un departamento. Usando análisis espacial (con PyQGIS) cortar las vías (capa "roads") que pasan por ese departamento. Sumar la longitud de las vías cortadas.
  • Opcional: Cargar manualmente las capas "world" y "hackfests" a QGIS. Seleccionar manualmente un país de la capa world. Obtener el nombre del (de los) hackfest(s) realizados en ese país.

As part of the application to the QGIS certification program, I'd like to show you my contributions to QGIS project.

Contributions to QGIS

(Version 2023.05.23)

from qgis.utils import iface
from qgis.core import QgsProject, QgsVectorFileWriter, QgsCoordinateReferenceSystem
path = "/tmp/gpx/sample.gpx"
layer = QgsProject.instance().mapLayer("[% @layer_id %]")
if layer.selectedFeatureCount():
options = QgsVectorFileWriter.SaveVectorOptions()
options.ct = QgsCoordinateTransform(layer.crs(), QgsCoordinateReferenceSystem(4326), QgsProject.instance())
options.driverName = "GPX"
@gacarrillor
gacarrillor / get_domain_code_2_11_pg.py
Created May 19, 2020 22:12
Get domain code from value for LADM-COL v2.11
from qgis.PyQt.QtCore import QSettings
from qgis.core import QgsVectorLayer, QgsFeatureRequest, QgsExpression, QgsFeature, qgsfunction
@qgsfunction(args='auto', group='LADM-COL', helpText="""Example:<br><pre>get_domain_code_2_11_pg(
'gc_condicionprediotipo',
'NPH',
True)</pre>""")
def get_domain_code_2_11_pg(domain_table, value, value_is_ilicode, feature, parent):
"""
@gacarrillor
gacarrillor / qgis_utils.py
Last active March 26, 2020 20:33
QGIS Utils v0.1
# -*- coding: utf-8 -*-
import ast
import datetime
import glob
import json
import os
from qgis.PyQt.QtCore import (Qt,
QObject,
pyqtSignal,
@gacarrillor
gacarrillor / run_tests.md
Last active March 12, 2024 16:41
Running QGIS Processing tests

Running processing (yamls based) tests

export LD_LIBRARY_PATH=/docs/dev/qgis/QGIS/build_duplicate_nodes/output/lib/
export PYTHONPATH=/docs/dev/qgis/QGIS/build_duplicate_nodes/output/python/:/docs/dev/qgis/QGIS/tests/src/python:/docs/dev/    qgis/QGIS/build_duplicate_nodes/output/python/plugins
export QGIS_PREFIX_PATH=/docs/dev/qgis/QGIS/build_duplicate_nodes/output

/docs/dev/qgis/QGIS/python/plugins/processing$ python3 tests/QgisAlgorithmsTest4.py

Run other Python tests

QGIS_PREFIX_PATH=output PYTHONPATH=output/python:$PYTHONPATH python3 /docs/dev/qgis/core/QGIS/tests/src/python/test_plugindependencies.py

@gacarrillor
gacarrillor / run_processing_algorithm_standalone_saga.py
Last active February 28, 2020 17:07
SAGA algorithm (standalone)
import sys
from qgis.core import (
QgsApplication,
QgsProcessingFeedback,
QgsVectorLayer,
QgsProperty
)
# On Linux, you need to prepare the environment with these variables:
@gacarrillor
gacarrillor / model_with_rename_field_script.model3
Last active September 18, 2019 14:29
Script algorithm that modifies the input layer and returns it as its output.
<!DOCTYPE model>
<Option type="Map">
<Option name="children" type="Map">
<Option name="qgis:basicstatisticsforfields_1" type="Map">
<Option name="active" type="bool" value="true"/>
<Option name="alg_config"/>
<Option name="alg_id" type="QString" value="qgis:basicstatisticsforfields"/>
<Option name="component_description" type="QString" value="Basic statistics for fields"/>
<Option name="component_pos_x" type="double" value="741"/>
<Option name="component_pos_y" type="double" value="494"/>

Issue with models for opengis.ch

** REQUIREMENTS **:

Install the Asistente LADM_COL plugin to be able to use a custom model (LADM_COL:ETL-model).

MATERIALS:

@gacarrillor
gacarrillor / qgisapp.cpp
Created March 25, 2018 12:53
Fix #18532
while ( featureIt != features.constEnd() )
{
QgsAttributes srcAttr = featureIt->attributes();
QgsAttributeMap dstAttr;
for ( int src = 0; src < srcAttr.count(); ++src )
{
int dst = remap.value( src, -1 );
if ( dst < 0 )
continue;