Skip to content

Instantly share code, notes, and snippets.

View NathanW2's full-sized avatar

Nathan Woodrow NathanW2

View GitHub Profile
sym = QgsLineSymbolV2.createSimple({})
r = QgsRuleBasedRendererV2(sym)
sym2 = QgsLineSymbolV2.createSimple({})
exp = "sewer_type = 'Pipe'"
rule = QgsRuleBasedRendererV2.Rule(sym2, filterExp=exp)
r.rootRule().appendChild(rule)
iface.activeLayer().setRendererV2(r)
@NathanW2
NathanW2 / gist:3b9dc774f6086c70c7f5
Last active August 29, 2015 14:19
Project auto complete for QGIS Command Bar
def complete_projects(argname, data):
# TODO Add auto complete for paths
projects = []
for path in project_paths:
projects += [os.path.basename(f) for f in glob.glob(path + "/*.qgs")]
return projects
@command.command("Name")
@command.complete_with(name=complete_projects)
def load_project(name):
@NathanW2
NathanW2 / gist:4ae6c6be135cf3e6c6e3
Last active August 29, 2015 14:19
Command Bar init file loaded from qgis2\python\commandbar
# Command bar init file. Lines starting with # are ignored
alias lp load-project
alias @ alias
import re
from qgis.core import QgsMapLayerRegistry
from qgis.utils import iface
from qgiscommand.command import command, complete_with, check
from qgiscommand.qgis_commands import layer_by_name, layers
def layer_exists(data):
try:
layer_by_name(data)
@NathanW2
NathanW2 / bbox
Last active August 29, 2015 14:23 — forked from antoniolocandro/bbox
from qgis.utils import iface
from qgis.core import QGis
from qgiscommand.command import command
@command()
def bbox():
layer = iface.activeLayer()
def pbounds (Lextent,s):
e = Lextent
@NathanW2
NathanW2 / export.py
Created July 5, 2015 12:43
Export Symbols
import os
from PyQt4.QtCore import *
from PyQt4.QtGui import *
outdir = '~/temp/'
size = QSize(32, 32)
def get_gen(name):
gen = QSvgGenerator()
from PyQt4.QtCore import QThread, QObject, pyqtSignal
import time
class Worker(QObject):
done = pyqtSignal()
finalResult = pyqtSignal(int)
def __init__(self, parent=None):
super(Worker, self).__init__(parent)
@NathanW2
NathanW2 / C# with brackets
Created August 31, 2010 06:53
Comparing C# with and with the {. Using indention like Python. Just for fun
public class Outlook
{
private Application outlook;
private Outlook(Application outlookInstance)
{
this.outlook = outlookInstance;
this.DBYDEmailFolderName = "DBYD";
}
public static Outlook ConnectToOutlook()
@NathanW2
NathanW2 / pyqgis.py
Created December 23, 2010 06:38
pyqgis
import qgis.core
import qgis.gui
def TestWrite(iface):
can = iface.mapCanvas()
layer = can.currentLayer()
geom = layer.selectedFeatures()[1].geometry()
return geom.length()
def run():
layer = qgis.utils.iface.mapCanvas().currentLayer()
for feature in layer.selectedFeatures():
geom = feature.geometry()
nodes = geom.asPolyline()
print nodes
nodes.reverse()
print nodes
newgeom = QgsGeometry.fromPolyline(nodes)
print newgeom